+2015-08-11 Keith Seitz <keiths@redhat.com>
+
+ * break-catch-throw.c (re_set_exception_catchpoint): Convert
+ linespec into explicit location.
+ * breakpoint.c (create_overlay_breakpoint)
+ (create_longjmp_master_breakpoint)
+ (create_std_terminate_master_breakpoint)
+ (create_exception_master_breakpoint): Convert linespec into explicit
+ location.
+ (update_static_tracepoint): Convert linespec into explicit location.
+ * linespec.c (enum offset_relative_sign, struct line_offset): Move
+ location.h.
+ (struct linespec) <expression, expr_pc, source_filename>
+ <function_name, label_name, line_offset>: Replace with ...
+ <explicit>: ... this.
+ <is_linespec>: New member.
+ (PARSER_EXPLICIT): New accessor macro.
+ (undefined_label_error): New function.
+ (source_file_not_found_error): New function.
+ (linespec_parse_basic): The parser result is now an explicit location.
+ Use PARSER_EXPLICIT to access it.
+ Use undefined_label_error.
+ (canonicalize_linespec): Convert canonical linespec into explicit
+ location.
+ Move string representation of location to explicit_location_to_linespec
+ and use it and explicit_location_to_string to save string
+ representations of the canonical location.
+ (create_sals_line_offset, convert_linespec_to_sals): `ls' contains an
+ explicit location. Update all references.
+ (convert_explicit_location_to_sals): New function.
+ (parse_linespec): Use PARSER_EXPLICIT to access the parser
+ result's explicit location.
+ (linespec_state_constructor): Initialize is_linespec.
+ Use PARSER_EXPLICIT.
+ (linespec_parser_delete): Use PARSER_EXPLICIT to access the parser's
+ result.
+ (event_location_to_sals): For linespec locations, set is_linespec.
+ Handle explicit locations.
+ (decode_objc): 'ls' contains an explicit location now. Update all
+ references.
+ (symtabs_from_filename): Use source_file_not_found_error.
+ * location.c (struct event_location.u) <explicit>: New member.
+ (initialize_explicit_location): New function.
+ (initialize_event_location): Initialize explicit locations.
+ (new_explicit_location, get_explicit_location)
+ (get_explicit_location_const): New functions.
+ (explicit_to_string_internal): New function; most of contents moved
+ from canonicalize_linespec.
+ (explicit_location_to_string): New function.
+ (explicit_location_to_linespec): New function.
+ (copy_event_location, delete_event_location)
+ (event_location_to_string_const, event_location_empty_p): Handle
+ explicit locations.
+ * location.h (enum offset_relative_sign, struct line_offset): Move
+ here from linespec.h.
+ (enum event_location_type): Add EXPLICIT_LOCATION.
+ (struct explicit_location): New structure.
+ (explicit_location_to_string): Declare.
+ (explicit_location_to_linespec): Declare.
+ (new_explicit_location, get_explicit_locationp
+ (get_explicit_location_const, initialize_explicit_location): Declare.
+
+2015-08-11 Keith Seitz <keiths@redhat.com>
+
+ * break-catch-throw.c (re_set_exception_catchpoint): Convert
+ linespec for stap probe to probe location.
+ * breakpoint.c (create_longjmp_master_breakpoint)
+ (create_exception_master_breakpoint): Likewise.
+ (break_command_1): Remove local variable `arg_cp'.
+ Check location type to set appropriate breakpoint ops methods.
+ (trace_command): Likewise.
+ * linespec.c (event_location_to_sals): Assert on probe locations.
+ * location.c (EL_PROBE): Add macro definition.
+ (new_probe_location, get_probe_location): New functions.
+ (copy_event_location, delete_event_location, event_location_to_string)
+ (string_to_event_location, event_location_empty_p): Handle probe
+ locations.
+ * location.h (enum event_location_type): Add PROBE_LOCATION.
+ (new_probe_location, get_probe_location): Declare.
+ * probe.c (parse_probes): Assert that LOCATION is a probe location.
+ Convert linespec into probe location.
+
+2015-08-11 Keith Seitz <keiths@redhat.com>
+
+ * breakpoint.c (create_thread_event_breakpoint, init_breakpoint_sal):
+ Convert linespec to address location.
+ * linespec.c (canonicalize_linespec): Do not handle address
+ locations here.
+ (convert_address_location_to_sals): New function; contents moved
+ from ...
+ (convert_linespc_to_sals): ... here.
+ (parse_linespec): Remove address locations from linespec grammar.
+ Remove handling of address locations.
+ (linespec_lex_to_end): Remove handling of address linespecs.
+ (event_location_to_sals): Handle ADDRESS_LOCATION.
+ (linespec_expression_to_pc): Export.
+ * linespec.h (linespec_expression_to_pc): Add declaration.
+ * location.c (struct event_location.u) <address>: New member.
+ (new_address_location, get_address_location): New functions.
+ (copy_event_location, delete_event_location, event_location_to_string)
+ (string_to_event_location, event_location_empty_p): Handle address
+ locations.
+ * location.h (enum event_location_type): Add ADDRESS_LOCATION.
+ (new_address_location, get_address_location): Declare.
+ * python/py-finishbreakpoint.c (bpfinishpy_init): Convert linespec
+ to address location.
+ * spu-tdep.c (spu_catch_start): Likewise.
+
+2015-08-11 Keith Seitz <keiths@redhat.com>
+
+ * ax-gdb.c: Include location.h.
+ (agent_command_1) Use linespec location instead of address
+ string.
+ * break-catch-throw.c: Include location.h.
+ (re_set_exception_catchpoint): Use linespec locations instead
+ of address strings.
+ * breakpoint.c: Include location.h.
+ (create_overlay_event_breakpoint, create_longjmp_master_breakpoint)
+ (create_std_terminate_master_breakpoint)
+ (create_exception_master_breakpoint, update_breakpoints_after_exec):
+ Use linespec location instead of address string.
+ (print_breakpoint_location): Use locations and
+ event_location_to_string.
+ Print extra_string for pending locations for non-MI streams.
+ (print_one_breakpoint_location): Use locations and
+ event_location_to_string.
+ (init_raw_breakpoint_without_location): Initialize b->location.
+ (create_thread_event_breakpoint): Use linespec location instead of
+ address string.
+ (init_breakpoint_sal): Likewise.
+ Only save extra_string if it is non-NULL and not the empty string.
+ Use event_location_to_string instead of `addr_string'.
+ Constify `p' and `endp'.
+ Use skip_spaces_const/skip_space_const instead of non-const versions.
+ Copy the location into the breakpoint.
+ If LOCATION is NULL, save the breakpoint address as a linespec location
+ instead of an address string.
+ (create_breakpoint_sal): Change `addr_string' parameter to a struct
+ event_location. All uses updated.
+ (create_breakpoints_sal): Likewise for local variable `addr_string'.
+ (parse_breakpoint_sals): Use locations instead of address strings.
+ Remove check for empty linespec with conditional.
+ Refactor.
+ (decode_static_tracepoint_spec): Make argument const and update
+ function.
+ (create_breakpoint): Change `arg' to a struct event_location and
+ rename.
+ Remove `copy_arg' and `addr_start'.
+ If EXTRA_STRING is empty, set it to NULL.
+ Don't populate `canonical' for pending breakpoints.
+ Pass `extra_string' to find_condition_and_thread.
+ Clear `extra_string' if `rest' was NULL.
+ Do not error with "garbage after location" if setting a dprintf
+ breakpoint.
+ Copy the location into the breakpoint instead of an address string.
+ (break_command_1): Use string_to_event_location and pass this to
+ create_breakpoint instead of an address string.
+ Check against `arg_cp' for a probe linespec.
+ (dprintf_command): Use string_to_event_location and pass this to
+ create_breakpoint instead of an address string.
+ Throw an exception if no format string was specified.
+ (print_recreate_ranged_breakpoint): Use event_location_to_string
+ instead of address strings.
+ (break_range_command, until_break_command)
+ (init_ada_exception_breakpoint): Use locations instead
+ of address strings.
+ (say_where): Print out extra_string for pending locations.
+ (base_breakpoint_dtor): Delete `location' and `location_range_end' of
+ the breakpoint.
+ (base_breakpoint_create_sals_from_location): Use struct event_location
+ instead of address string.
+ Remove `addr_start' and `copy_arg' parameters.
+ (base_breakpoint_decode_location): Use struct event_location instead of
+ address string.
+ (bkpt_re_set): Use locations instead of address strings.
+ Use event_location_empty_p to check for unset location.
+ (bkpt_print_recreate): Use event_location_to_string instead of
+ an address string.
+ Print out extra_string for pending locations.
+ (bkpt_create_sals_from_location, bkpt_decode_location)
+ (bkpt_probe_create_sals_from_location): Use struct event_location
+ instead of address string.
+ (bkpt_probe_decode_location): Use struct event_location instead of
+ address string.
+ (tracepoint_print_recreate): Use event_location_to_string to
+ recreate the tracepoint.
+ (tracepoint_create_sals_from_location, tracepoint_decode_location)
+ (tracepoint_probe_create_sals_from_location)
+ (tracepoint_probe_decode_location): Use struct event_location
+ instead of address string.
+ (dprintf_print_recreate): Use event_location_to_string to recreate
+ the dprintf.
+ (dprintf_re_set): Remove check for valid/missing format string.
+ (strace_marker_create_sals_from_location)
+ (strace_marker_create_breakpoints_sal, strace_marker_decode_location)
+ (update_static_tracepoint): Use struct event_location instead of
+ address string.
+ (location_to_sals): Likewise.
+ Pass `extra_string' to find_condition_and_thread.
+ For newly resolved pending breakpoint locations, clear the location's
+ string representation.
+ Assert that the breakpoint's condition string is NULL when
+ condition_not_parsed.
+ (breakpoint_re_set_default, create_sals_from_location_default)
+ (decode_location_default, trace_command, ftrace_command)
+ (strace_command, create_tracepoint_from_upload): Use locations
+ instead of address strings.
+ * breakpoint.h (struct breakpoint_ops) <create_sals_from_location>:
+ Use struct event_location instead of address string.
+ Update all uses.
+ <decode_location>: Likewise.
+ (struct breakpoint) <addr_string>: Change to struct event_location
+ and rename `location'.
+ <addr_string_range_end>: Change to struct event_location and rename
+ `location_range_end'.
+ (create_breakpoint): Use struct event_location instead of address
+ string.
+ * cli/cli-cmds.c: Include location.h.
+ (edit_command, list_command): Use locations instead of address strings.
+ * elfread.c: Include location.h.
+ (elf_gnu_ifunc_resolver_return_stop): Use event_location_to_string.
+ * guile/scm-breakpoint.c: Include location.h.
+ (bpscm_print_breakpoint_smob): Use event_location_to_string.
+ (gdbscm_register_breakpoint): Use locations instead of address
+ strings.
+ * linespec.c: Include location.h.
+ (struct ls_parser) <stream>: Change to const char *.
+ (PARSER_STREAM): Update.
+ (lionespec_lexer_lex_keyword): According to find_condition_and_thread,
+ keywords must be followed by whitespace.
+ (canonicalize_linespec): Save a linespec location into `canonical'.
+ Save a canonical linespec into `canonical'.
+ (parse_linespec): Change `argptr' to const char * and rename `arg'.
+ All uses updated.
+ Update function description.
+ (linespec_parser_new): Initialize `parser'.
+ Update initialization of parsing stream.
+ (event_location_to_sals): New function.
+ (decode_line_full): Change `argptr' to a struct event_location and
+ rename it `location'.
+ Use locations instead of address strings.
+ Call event_location_to_sals instead of parse_linespec.
+ (decode_line_1): Likewise.
+ (decode_line_with_current_source, decode_line_with_last_displayed)
+ Use locations instead of address strings.
+ (decode_objc): Likewise.
+ Change `argptr' to const char * and rename `arg'.
+ (destroy_linespec_result): Delete the linespec result's location
+ instead of freeing the address string.
+ * linespec.h (struct linespec_result) <addr_string>: Change to
+ struct event_location and rename to ...
+ <location>: ... this.
+ (decode_line_1, decode_line_full): Change `argptr' to struct
+ event_location. All callers updated.
+ * mi/mi-cmd-break.c: Include language.h, location.h, and linespec.h.
+ (mi_cmd_break_insert_1): Use locations instead of address strings.
+ Throw an error if there was "garbage" at the end of the specified
+ linespec.
+ * probe.c: Include location.h.
+ (parse_probes): Change `argptr' to struct event_location.
+ Use event locations instead of address strings.
+ * probe.h (parse_probes): Change `argptr' to struct event_location.
+ * python/py-breakpoint.c: Include location.h.
+ (bppy_get_location): Constify local variable `str'.
+ Use event_location_to_string.
+ (bppy_init): Use locations instead of address strings.
+ * python/py-finishbreakpoint.c: Include location.h.
+ (bpfinishpy_init): Remove local variable `addr_str'.
+ Use locations instead of address strings.
+ * python/python.c: Include location.h.
+ (gdbpy_decode_line): Use locations instead of address strings.
+ * remote.c: Include location.h.
+ (remote_download_tracepoint): Use locations instead of address
+ strings.
+ * spu-tdep.c: Include location.h.
+ (spu_catch_start): Remove local variable `buf'.
+ Use locations instead of address strings.
+ * tracepoint.c: Include location.h.
+ (scope_info): Use locations instead of address strings.
+ (encode_source_string): Constify parameter `src'.
+ * tracepoint.h (encode_source_string): Likewise.
+
+2015-08-11 Keith Seitz <keiths@redhat.com>
+
+ * Makefile.in (SFILES): Add location.c.
+ (HFILES_NO_SRCDIR): Add location.h.
+ (COMMON_OBS): Add location.o.
+ * linespec.c (linespec_lex_to_end): New function.
+ * linespec.h (linespec_lex_to_end): Declare.
+ * location.c: New file.
+ * location.h: New file.
+
+2015-08-11 Keith Seitz <keiths@redhat.com>
+
+ * breakpoint.h (struct breakpoint_ops) <create_sals_from_address>:
+ Renamed to create_sals_from_location.
+ <decode_linespec>: Renamed to decode_location.
+ Update all callers.
+ * breakpoint.c (create_sals_from_address_default): Renamed to ...
+ (create_sals_from_location_default): ... this.
+ (addr_string_to_sals): Renamed to ...
+ (location_to_sals): ... this.
+ (decode_linespec_default): Renamed to ...
+ (decode_location_default): ... this.
+ (base_breakpoint_create_sals_from_address): Renamed to ...
+ (base_breakpoint_create_sals_from_location): ... this.
+ (bkpt_create_sals_from_address): Renamed to ...
+ (bkpt_create_sals_from_location): ... this.
+ (bkpt_decode_linespec): Renamed to ...
+ (bkpt_decode_location): ... this.
+ (bkpt_probe_create_sals_from_address): Renamed to ...
+ (bkpt_probe_create_sals_from_location): ... this.
+ (tracepoint_create_sals_from_address): Renamed to ...
+ (tracepoint_create_sals_from_location): ... this.
+ (tracepoint_decode_linespec): Renamed to ...
+ (tracepoint_decode_location): ... this.
+ (tracepoint_probe_create_sals_from_address): Renamed to ...
+ (tracepoint_probe_create_sals_from_location): ... this.
+ (tracepoint_probe_decode_linespec): Renamed to ...
+ (tracepoint_probe_decode_location): ... this.
+ (strace_marker_create_sals_from_address): Renamed to ...
+ (strace_marker_create_sals_from_location): ... this.
+ (decode_linespec_default): Renamed to ...
+ (decode_location_default): ... this.
+
+2015-08-10 Doug Evans <dje@google.com>
+ Keith Seitz <keiths@redhat.com>
+
+ PR gdb/17960
+ * symtab.c (make_file_symbol_completion_list_1): Renamed from
+ make_file_symbol_completion_list and made static.
+ (make_file_symbol_completion_list): New function.
+
+2015-08-10 Joel Brobecker <brobecker@adacore.com>
+
+ * infrun.c (follow_fork, displaced_step_prepare, resume): Remove
+ trailing new-line at end of warning message.
+ (proceed): Add i18n marker to error messages.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * linux-nat.c (linux_nat_always_non_stop_p): Return 1.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * s390-linux-tdep.c (is_non_branch_ril)
+ (s390_displaced_step_copy_insn): New functions.
+ (s390_displaced_step_fixup): Update comment.
+ (s390_gdbarch_init): Install s390_displaced_step_copy_insn as
+ gdbarch_displaced_step_copy_insn hook.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (displaced_step_prepare_throw): Return -1 if
+ gdbarch_displaced_step_copy_insn returns NULL. Update intro
+ comment.
+ * rs6000-tdep.c (LWARX_MASK, LWARX_INSTRUCTION, LDARX_INSTRUCTION)
+ (STWCX_MASK, STWCX_INSTRUCTION, STDCX_INSTRUCTION): Move higher up
+ in file.
+ (ppc_displaced_step_copy_insn): New function.
+ (ppc_displaced_step_fixup): Update comment.
+ (rs6000_gdbarch_init): Install ppc_displaced_step_copy_insn as
+ gdbarch_displaced_step_copy_insn hook.
+ * gdbarch.sh (displaced_step_copy_insn): Document what happens on
+ NULL return.
+ * gdbarch.h: Regenerate.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * inferior.h (struct inferior) <displaced_stepping_failed>: New
+ field.
+ * infrun.c (use_displaced_stepping_now_p): New parameter 'inf'.
+ Return false if dispaced stepping failed before.
+ (resume): Pass the current inferior to
+ use_displaced_stepping_now_p. Wrap displaced_step_prepare in
+ TRY/CATCH. If we get a MEMORY_ERROR, set the inferior's
+ displaced_stepping_failed flag, and fall back to an in-line
+ step-over.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * darwin-nat.c (darwin_stop): Rename to ...
+ (darwin_interrupt): ... this.
+ (_initialize_darwin_inferior): Adjust.
+ * gnu-nat.c (gnu_stop): Delete.
+ (gnu_target): Don't install gnu_stop.
+ * inf-ptrace.c (inf_ptrace_stop): Rename to ...
+ (inf_ptrace_interrupt): ... this.
+ (inf_ptrace_target): Adjust.
+ * infcmd.c (interrupt_target_1): Use target_interrupt instead of
+ target_stop.
+ * linux-nat (linux_nat_stop): Rename to ...
+ (linux_nat_interrupt): ... this.
+ (linux_nat_stop): Reimplement.
+ (linux_nat_add_target): Install linux_nat_interrupt.
+ * nto-procfs.c (nto_interrupt_twice): Rename to ...
+ (nto_handle_sigint_twice): ... this.
+ (nto_interrupt): Rename to ...
+ (nto_handle_sigint): ... this. Call target_interrupt instead of
+ target_stop.
+ (procfs_wait): Adjust.
+ (procfs_stop): Rename to ...
+ (procfs_interrupt): ... this.
+ (init_procfs_targets): Adjust.
+ * procfs.c (procfs_stop): Rename to ...
+ (procfs_interrupt): ... this.
+ (procfs_target): Adjust.
+ * remote-m32r-sdi.c (m32r_stop): Rename to ...
+ (m32r_interrupt): ... this.
+ (init_m32r_ops): Adjust.
+ * remote-sim.c (gdbsim_stop_inferior): Rename to ...
+ (gdbsim_interrupt_inferior): ... this.
+ (gdbsim_stop): Rename to ...
+ (gdbsim_interrupt): ... this.
+ (gdbsim_cntrl_c): Adjust.
+ (init_gdbsim_ops): Adjust.
+ * remote.c (sync_remote_interrupt): Adjust comments.
+ (remote_stop_as): Rename to ...
+ (remote_interrupt_as): ... this.
+ (remote_stop): Adjust comment.
+ (remote_interrupt): New function.
+ (init_remote_ops): Install remote_interrupt.
+ * target.c (target_interrupt): New function.
+ * target.h (struct target_ops) <to_interrupt>: New field.
+ (target_interrupt): New declaration.
+ * windows-nat.c (windows_stop): Rename to ...
+ (windows_interrupt): ... this.
+ * target-delegates.c: Regenerate.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * signal-while-stepping-over-bp-other-thread.exp: Expect "restart
+ threads" as alternative to "switching back to stepped thread".
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * NEWS: Mention "maint set/show target-non-stop".
+ * breakpoint.c (update_global_location_list): Check
+ target_is_non_stop_p instead of non_stop.
+ * infcmd.c (attach_command_post_wait, attach_command): Likewise.
+ * infrun.c (show_can_use_displaced_stepping)
+ (can_use_displaced_stepping_p, start_step_over_inferior):
+ Likewise.
+ (internal_resume_ptid): New function.
+ (resume): Use it.
+ (proceed): Check target_is_non_stop_p instead of non_stop. If in
+ all-stop mode but the target is always in non-stop mode, start all
+ the other threads that are implicitly resumed too.
+ (for_each_just_stopped_thread, fetch_inferior_event)
+ (adjust_pc_after_break, stop_all_threads): Check
+ target_is_non_stop_p instead of non_stop.
+ (handle_inferior_event): Likewise. Handle detach-fork in all-stop
+ with the target always in non-stop mode.
+ (handle_signal_stop) <random signal>: Check target_is_non_stop_p
+ instead of non_stop.
+ (switch_back_to_stepped_thread): Check target_is_non_stop_p
+ instead of non_stop.
+ (keep_going_stepped_thread): Use internal_resume_ptid.
+ (stop_waiting): If in all-stop mode, and the target is in non-stop
+ mode, stop all threads.
+ (keep_going_pass): Likewise, when starting a new in-line step-over
+ sequence.
+ * linux-nat.c (get_pending_status, select_event_lwp)
+ (linux_nat_filter_event, linux_nat_wait_1, linux_nat_wait): Check
+ target_is_non_stop_p instead of non_stop.
+ (linux_nat_always_non_stop_p): New function.
+ (linux_nat_stop): Check target_is_non_stop_p instead of non_stop.
+ (linux_nat_add_target): Install linux_nat_always_non_stop_p.
+ * target-delegates.c: Regenerate.
+ * target.c (target_is_non_stop_p): New function.
+ (target_non_stop_enabled, target_non_stop_enabled_1): New globals.
+ (maint_set_target_non_stop_command)
+ (maint_show_target_non_stop_command): New functions.
+ (_initilize_target): Install "maint set/show target-non-stop"
+ commands.
+ * target.h (struct target_ops) <to_always_non_stop_p>: New field.
+ (target_non_stop_enabled): New declaration.
+ (target_is_non_stop_p): New declaration.
+
+2015-08-07 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.c (breakpoints_should_be_inserted_now): If any thread
+ has a pending status, return true.
+ * gdbthread.h: Include target/waitstatus.h.
+ (struct thread_suspend_state) <stop_reason, waitstatus_pending_p,
+ stop_pc>: New fields.
+ (struct thread_info) <resumed>: New field.
+ (set_resumed): Declare.
+ * infrun.c: Include "event-loop.h".
+ (infrun_async_inferior_event_token, infrun_is_async): New globals.
+ (infrun_async): New function.
+ (clear_step_over_info): Add debug output.
+ (displaced_step_in_progress_any_inferior): New function.
+ (displaced_step_fixup): New returns int.
+ (start_step_over): Handle in-line step-overs too. Assert the
+ thread is marked resumed.
+ (resume_cleanups): Clear the thread's resumed flag.
+ (resume): Set the thread's resumed flag. Return early if the
+ thread has a pending status. Allow stepping a breakpoint with no
+ signal.
+ (proceed): Adjust to check 'resumed' instead of 'executing'.
+ (clear_proceed_status_thread): If the thread has a pending status,
+ and that status is a finished step, discard the pending status.
+ (clear_proceed_status): Don't clear step_over_info here.
+ (random_pending_event_thread, do_target_wait): New functions.
+ (prepare_for_detach, wait_for_inferior, fetch_inferior_event): Use
+ do_target_wait.
+ (wait_one): New function.
+ (THREAD_STOPPED_BY): New macro.
+ (thread_stopped_by_watchpoint, thread_stopped_by_sw_breakpoint)
+ (thread_stopped_by_hw_breakpoint): New functions.
+ (switch_to_thread_cleanup, save_waitstatus, stop_all_threads): New
+ functions.
+ (handle_inferior_event): Also call set_resumed(false) on all
+ threads implicitly stopped by the event.
+ (restart_threads, resumed_thread_with_pending_status): New
+ functions.
+ (finish_step_over): If we were doing an in-line step-over before,
+ and no longer are after trying to start a new step-over, restart
+ all threads. If we have multiple threads with pending events,
+ save the current event and go through the event loop again.
+ (handle_signal_stop): Return early if finish_step_over returns
+ false.
+ <random signal>: If we get a signal while stepping over a
+ breakpoint in-line in non-stop mode, restart all threads. Clear
+ step_over_info before delivering the signal.
+ (keep_going_stepped_thread): Use internal_error instead of
+ gdb_assert. Mark the thread as resumed.
+ (keep_going_pass_signal): Assert the thread isn't already resumed.
+ If some other thread is doing an in-line step-over, defer the
+ resume. If we just started a new in-line step-over, stop all
+ threads. Don't clear step_over_info.
+ (infrun_async_inferior_event_handler): New function.
+ (_initialize_infrun): Create async event handler with
+ infrun_async_inferior_event_handler as callback.
+ (infrun_async): New declaration.
+ * target.c (target_async): New function.
+ * target.h (target_async): Declare macro and readd as function
+ declaration.
+ * target/waitstatus.h (enum target_stop_reason)
+ <TARGET_STOPPED_BY_SINGLE_STEP>: New value.
+ * thread.c (new_thread): Clear the new waitstatus field.
+ (set_resumed): New function.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (keep_going_stepped_thread): New function, factored out
+ from ...
+ (switch_back_to_stepped_thread): ... here.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (currently_stepping): Extend intro comment.
+ * target.h (target_resume): Extend intro comment.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (switch_back_to_stepped_thread): Use ecs->ptid instead
+ of inferior_ptid. If the stepped thread vanished, return 0
+ instead of resuming here. Use reset_ecs. Print the prev_pc and
+ the current stop_pc in log message. Clear trap_expected if the
+ thread advanced. Don't pass currently_stepping to
+ do_target_resume.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * gdbthread.h (struct thread_info) <prev_pc>: Extend comment.
+ * infrun.c (struct execution_control_state): Move higher up in the
+ file.
+ (reset_ecs): New function.
+ (start_step_over): Now returns int. Rewrite to use
+ keep_going_pass_signal instead of manually starting a displaced step.
+ (resume): Don't call set_running here. If displaced stepping
+ can't start now, clear trap_expected.
+ (find_thread_needs_step_over): Delete function.
+ (proceed): Set up finish_thread_state_cleanup. Call set_running.
+ If the current thread needs a step over, push it in the step-over
+ chain. Don't set insert breakpoints nor call resume directly
+ here. Instead rewrite to use start_step_over and
+ keep_going_pass_signal.
+ (finish_step_over): New function.
+ (handle_signal_stop): Call finish_step_over instead of
+ start_step_over.
+ (switch_back_to_stepped_thread): If the event thread needs another
+ step-over do that first. Use start_step_over.
+ (keep_going_pass_signal): New function, factored out from ...
+ (keep_going): ... here.
+ (_initialize_infrun): Comment moved here.
+ * thread.c (set_running_thread): New function.
+ (set_running, finish_thread_state): Use set_running_thread.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * gdbthread.h (struct thread_info) <step_over_prev,
+ step_over_next>: New fields.
+ (thread_step_over_chain_enqueue, thread_step_over_chain_remove)
+ (thread_step_over_chain_next, thread_is_in_step_over_chain): New
+ declarations.
+ * infrun.c (struct displaced_step_request): Delete.
+ (struct displaced_step_inferior_state) <step_request_queue>:
+ Delete field.
+ (displaced_step_prepare): Assert that trap_expected is set. Use
+ thread_step_over_chain_enqueue. Split starting a new displaced
+ step to ...
+ (start_step_over): ... this new function.
+ (resume): Assert the thread isn't waiting for a step over already.
+ (proceed): Assert the thread isn't waiting for a step over
+ already.
+ (infrun_thread_stop_requested): Adjust to remove threads from the
+ embedded step-over chain.
+ (handle_inferior_event) <fork/vfork>: Call start_step_over after
+ displaced_step_fixup.
+ (handle_signal_stop): Call start_step_over after
+ displaced_step_fixup.
+ * infrun.h (step_over_queue_head): New declaration.
+ * thread.c (step_over_chain_enqueue, step_over_chain_remove)
+ (thread_step_over_chain_next, thread_is_in_step_over_chain)
+ (thread_step_over_chain_enqueue)
+ (thread_step_over_chain_remove): New functions.
+ (delete_thread_1): Remove thread from the step-over chain.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (thread_still_needs_step_over): Rename to ...
+ (thread_still_needs_step_over_bp): ... this.
+ (enum step_over_what): New.
+ (thread_still_needs_step_over): Reimplement.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * remote.c (remote_wait_as): If not waiting for a stop reply,
+ return TARGET_WAITKIND_NO_RESUMED. If TARGET_WNOHANG is
+ requested, don't block waiting forever.
+
+2015-08-07 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (adjust_pc_after_break): Now takes thread_info and
+ waitstatus pointers instead of an ecs. Adjust.
+ (handle_inferior_event): Adjust caller.
+
+2015-08-07 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (handle_inferior_event): If we get
+ TARGET_WAITKIND_SIGNALLED or TARGET_WAITKIND_EXITED in non-stop
+ mode, mark all threads of the exiting process as not-executing.
+ (normal_stop): If we get TARGET_WAITKIND_SIGNALLED or
+ TARGET_WAITKIND_EXITED in non-stop mode, finish all threads of the
+ exiting process, if inferior_ptid still points at a process.
+ * thread.c (struct current_thread_cleanup) <next>: New field.
+ (current_thread_cleanup_chain): New global.
+ (restore_current_thread_ptid_changed): New function.
+ (restore_current_thread_cleanup_dtor): Remove the cleanup from the
+ current_thread_cleanup_chain list.
+ (make_cleanup_restore_current_thread): Add the cleanup data to the
+ current_thread_cleanup_chain list.
+ (_initialize_thread): Install restore_current_thread_ptid_changed
+ as thread_ptid_changed observer.
+
+2015-08-07 Joel Brobecker <brobecker@adacore.com>
+
+ * dtrace-probe.c (dtrace_process_dof): Ignore the objfile's DOF
+ data if a DTRACE_DOF_SECT_TYPE_PROVIDER section is found to be
+ smaller than expected.
+
+2015-08-07 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * stack.c (get_frame_language): Moved ...
+ * frame.c (get_frame_language): ... to here.
+ * language.h (get_frame_language): Declaration moved to frame.h.
+ * frame.h: Add language.h include, for language enum.
+ (get_frame_language): Declaration moved from language.h.
+ * language.c: Add frame.h include.
+ * top.c: Add frame.h include.
+ * symtab.h (struct obj_section): Declare.
+ (struct cmd_list_element): Declare.
+
+2015-08-07 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * language.c (show_language_command): Find selected frame before
+ asking for the language of that frame.
+ (set_language_command): Likewise.
+ * language.h (get_frame_language): Add frame parameter.
+ * stack.c (get_frame_language): Add frame parameter, assert
+ parameter is not NULL, update comment and reindent.
+ * top.c (check_frame_language_change): Pass the selected frame
+ into get_frame_language.
+
+2015-08-07 Markus Metzger <markus.t.metzger@intel.com>
+
+ * btrace.c (btrace_compute_ftrace_bts): Clear insn flags.
+ (pt_btrace_insn_flags): New.
+ (ftrace_add_pt): Call pt_btrace_insn_flags.
+ * btrace.h (btrace_insn_flag): New.
+ (btrace_insn) <flags>: New.
+ * record-btrace.c (btrace_insn_history): Print insn prefix.
+ * NEWS: Announce it.
+
+2015-08-07 Markus Metzger <markus.t.metzger@intel.com>
+
+ * configure.ac: Check for PERF_ATTR_SIZE_VER5 in linux/perf_event.h
+ * configure: Regenerate.
+
+2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
+
+ * Makefile.in (LIBICONV): Define.
+ (CLIBS): Add LIBICONV.
+ * acinclude.m4: Use config/iconv.m4 instead of custom AM_ICONV.
+ * configure: Regenerate.
+
+2015-08-06 Simon Marchi <simon.marchi@ericsson.com>
+ Pedro Alves <palves@redhat.com>
+
+ * arm-tdep.c (set_fp_model_sfunc): Add cast from integer to enum.
+ (arm_set_abi): Likewise.
+ * ax-general.c (ax_print): Likewise.
+ * c-exp.y (exp : string_exp): Likewise.
+ * compile/compile-loc2c.c (compute_stack_depth_worker): Likewise.
+ (do_compile_dwarf_expr_to_c): Likewise.
+ * cp-name-parser.y (demangler_special : DEMANGLER_SPECIAL start):
+ Likewise.
+ * dwarf2expr.c (execute_stack_op): Likewise.
+ * dwarf2loc.c (dwarf2_compile_expr_to_ax): Likewise.
+ (disassemble_dwarf_expression): Likewise.
+ * dwarf2read.c (dwarf2_add_member_fn): Likewise.
+ (read_array_order): Likewise.
+ (abbrev_table_read_table): Likewise.
+ (read_attribute_value): Likewise.
+ (skip_unknown_opcode): Likewise.
+ (dwarf_decode_macro_bytes): Likewise.
+ (dwarf_decode_macros): Likewise.
+ * eval.c (value_f90_subarray): Likewise.
+ * guile/scm-param.c (gdbscm_make_parameter): Likewise.
+ * i386-linux-tdep.c (i386_canonicalize_syscall): Likewise.
+ * infrun.c (handle_command): Likewise.
+ * memory-map.c (memory_map_start_memory): Likewise.
+ * osabi.c (set_osabi): Likewise.
+ * parse.c (operator_length_standard): Likewise.
+ * ppc-linux-tdep.c (ppc_canonicalize_syscall): Likewise, and use
+ single return point.
+ * python/py-frame.c (gdbpy_frame_stop_reason_string): Likewise.
+ * python/py-symbol.c (gdbpy_lookup_symbol): Likewise.
+ (gdbpy_lookup_global_symbol): Likewise.
+ * record-full.c (record_full_restore): Likewise.
+ * regcache.c (regcache_register_status): Likewise.
+ (regcache_raw_read): Likewise.
+ (regcache_cooked_read): Likewise.
+ * rs6000-tdep.c (powerpc_set_vector_abi): Likewise.
+ * symtab.c (initialize_ordinary_address_classes): Likewise.
+ * target-debug.h (target_debug_print_signals): Likewise.
+ * utils.c (do_restore_current_language): Likewise.
+
+2015-08-06 Clem Dickey <clemd@acm.org>
+
+ PR python/17136
+ * python/lib/gdb/command/type_printers.py (InfoTypePrinter): Fix typo.
+
+2015-08-06 Simon Marchi <simon.marchi@ericsson.com>
+
+ * complaints.c (enum complaint_series): Add newlines and remove
+ out of date comment.
+ (struct complaints) <series>: Change type to enum
+ complaint_series and remove out of date comment.
+ (symfile_complaint_hook): Use equivalent enum value
+ ISOLATED_MESSAGE instead of 0.
+
+2015-08-06 Pedro Alves <palves@redhat.com>
+
+ * nat/linux-waitpid.c (my_waitpid): Only print *status if waitpid
+ returned > 0.
+
+2015-08-06 Pierre Langlois <pierre.langlois@arm.com>
+
+ * common/agent.c (symbol_list) <required>: Remove.
+
+2015-08-06 Pedro Alves <palves@redhat.com>
+
+ * target/waitstatus.h (enum target_stop_reason)
+ <TARGET_STOPPED_BY_SINGLE_STEP>: New value.
+
+2015-08-05 Pedro Alves <palves@redhat.com>
+ Joel Brobecker <brobecker@adacore.com>
+
+ * breakpoint.c (bpstat_what) <bp_longjmp, bp_longjmp_call_dummy>
+ <bp_exception, bp_longjmp_resume, bp_exception_resume>: Handle the
+ case where BS->STOP is not set.
+
+2015-08-05 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * nat/gdb_thread_db.h: Add copyright header.
+ Protect against multiple inclusion.
+
+2015-08-05 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-linux-nat.c (get_thread_id): Remove.
+ (debug_reg_change_callback): Call ptid_get_lwp instead of
+ get_thread_id.
+ (fetch_gregs_from_thread): Likewise.
+ (store_gregs_to_thread): Likewise.
+ (fetch_fpregs_from_thread): Likewise.
+ (store_fpregs_to_thread): Likewise.
+ (aarch64_linux_get_debug_reg_capacity): Likewise.
+ * arm-linux-nat.c (get_thread_id): Remove.
+ (GET_THREAD_ID): Update macro to use ptid_get_lwp.
+ * xtensa-linux-nat.c (get_thread_id): Remove.
+ (GET_THREAD_ID): Update macro to use ptid_get_lwp.
+ * arm-linux-nat.c (get_thread_id): Remove.
+ (GET_THREAD_ID): Remove.
+ (fetch_fpregs): Call ptid_get_lwp instead of GET_THREAD_ID.
+ (store_fpregs, fetch_regs, store_regs): Likewise.
+ (fetch_wmmx_regs, store_wmmx_regs): Likewise.
+ (fetch_vfp_regs, store_vfp_regs): Likewise.
+ (arm_linux_read_description): Likewise.
+ (arm_linux_get_hwbp_cap): Likewise.
+ * xtensa-linux-nat.c (get_thread_id): Remove.
+ (GET_THREAD_ID): Remove.
+ (fetch_gregs, store_gregs): Call ptid_get_lwp instead of
+ GET_THREAD_ID.
+
+2015-08-04 Ciro Santilli <ciro.santilli@gmail.com> (obvious patch)
+
+ * python/py-linetable.c: Fix case of Linetable to LineTable
+ in docstrings and code comments.
+ * python/py-symtab.c: Same.
+
+2015-08-04 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * infcmd.c (signal_command): Call do_cleanups for args_chain.
+
+2015-08-04 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR gdb/18767
+ * infcmd.c (attach_command): Move ARGS_CHAIN cleanup after last ARGS
+ use.
+
+2015-08-04 Pedro Alves <palves@redhat.com>
+
+ * nat/gdb_thread_db.h (td_init_ftype, td_ta_new_ftype)
+ (td_ta_map_lwp2thr_ftype, td_ta_thr_iter_ftype)
+ (td_ta_event_addr_ftype, td_ta_set_event_ftype)
+ (td_ta_clear_event_ftype, td_ta_event_getmsg_ftype)
+ (td_thr_validate_ftype, td_thr_get_info_ftype)
+ (td_thr_event_enable_ftype, td_thr_tls_get_addr_ftype)
+ (td_thr_tlsbase_ftype, td_symbol_list_ftype, td_ta_delete_ftype):
+ New typedefs.
+ * linux-thread-db.c (struct thread_db_info): Use new typedefs.
+ (try_thread_db_load_1): Define TDB_VERBOSE_DLSYM, TDB_DLSYM , CHK
+ local macros and use them instead of verbose_dlsym and dlsym
+ calls.
+
+2015-08-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * nios2-tdep.h: Include opcode/nios2.h here.
+ (NIOS2_CDX_OPCODE_SIZE): New.
+ (struct gdbarch_tdep): Add OP parameter to syscall_next_pc.
+ * nios2-tdep.c: Don't include opcode/nios2.h here.
+ (nios2_fetch_insn): For R2, try reading 2-byte instruction if
+ 4-byte read fails.
+ (nios2_match_add, nios2_match_sub): Add cases for R2 encodings.
+ (nios2_match_addi, nios2_match_orhi): Likewise.
+ (nios2_match_stw, nios2_match_ldw): Likewise.
+ (nios2_match_rdctl): Likewise.
+ (nios2_match_stwm, nios2_match_ldwm): New.
+ (nios2_match_branch): Add cases for R2 encodings.
+ (nios2_match_jmpi, nios2_match_calli): Likewise.
+ (nios2_match_jmpr, nios2_match_callr): Likewise.
+ (nios2_match_break, nios2_match_trap): Likewise.
+ (nios2_in_epilogue_p): Add R2 support.
+ (nios2_analyze_prologue): Update comments. Recognize R2 CDX
+ prologues.
+ (nios2_breakpoint_from_pc): Handle R2 instructions.
+ (nios2_get_next_pc): Likewise. Adjust call to
+ tdep->syscall_next_pc.
+ * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame):
+ Renamed from nios2_linux_rt_sigreturn_tramp_frame. Use
+ instruction field macros instead of literal hex values.
+ (nios2_r2_linux_rt_sigreturn_tramp_frame): New.
+ (nios2_linux_syscall_next_pc): Adjust signature to pass OP.
+ Use size field from OP instead of assuming all instructions
+ are the same size.
+ (nios2_linux_init_abi): Register appropriate unwinder for mach.
+
+2015-08-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * cp-namespace.c (cp_lookup_symbol_via_imports): Fix uninitialized
+ variable warning with some compilers.
+
+2015-08-03 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-nat.c (arm_linux_get_hwbp_type): Capitalize "type"
+ in comment. Replace "rw" with "type".
+ (arm_linux_remove_watchpoint): Change type of "rw" to
+ "enum target_hw_bp_type".
+
+2015-08-02 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * alpha-mdebug-tdep.c (find_proc_desc): Update call to
+ lookup_symbol.
+ * ft32-tdep.c (ft32_skip_prologue): Likewise.
+ * moxie-tdep.c (moxie_skip_prologue): Likewise.
+ * mt-tdep.c (mt_skip_prologue): Likewise.
+ * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
+
+2015-08-01 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * ada-exp.y (write_object_renaming): Replace struct
+ ada_symbol_info with struct block_symbol. Update field
+ references accordingly.
+ (block_lookup, select_possible_type_sym): Likewise.
+ (find_primitive_type): Likewise. Also update call to
+ ada_lookup_symbol to extract the symbol itself.
+ (write_var_or_type, write_name_assoc): Likewise.
+ * ada-lang.h (struct ada_symbol_info): Remove.
+ (ada_lookup_symbol_list): Replace struct ada_symbol_info with
+ struct block_symbol.
+ (ada_lookup_encoded_symbol, user_select_syms): Likewise.
+ (ada_lookup_symbol): Return struct block_symbol instead of a
+ mere symbol.
+ * ada-lang.c (defns_collected): Replace struct ada_symbol_info
+ with struct block_symbol.
+ (resolve_subexp, ada_resolve_function, sort_choices,
+ user_select_syms, is_nonfunction, add_defn_to_vec,
+ num_defns_collected, defns_collected,
+ symbols_are_identical_enums, remove_extra_symbols,
+ remove_irrelevant_renamings, add_lookup_symbol_list_worker,
+ ada_lookup_symbol_list, ada_iterate_over_symbols,
+ ada_lookup_encoded_symbol, get_var_value): Likewise.
+ (ada_lookup_symbol): Return a block_symbol instead of a mere
+ symbol. Replace struct ada_symbol_info with struct
+ block_symbol.
+ (ada_lookup_symbol_nonlocal): Likewise.
+ (standard_lookup): Make block passing explicit through
+ lookup_symbol_in_language.
+ * ada-tasks.c (get_tcb_types_info): Update the calls to
+ lookup_symbol_in_language to extract the mere symbol out of the
+ returned value.
+ (ada_tasks_inferior_data_sniffer): Likewise.
+ * ax-gdb.c (gen_static_field): Likewise for the call to
+ lookup_symbol.
+ (gen_maybe_namespace_elt): Deal with struct block_symbol from
+ lookup functions.
+ (gen_expr): Likewise.
+ * c-exp.y: Likewise. Remove uses of block_found.
+ (lex_one_token, classify_inner_name, c_print_token): Likewise.
+ (classify_name): Likewise. Rename the "sym" local variable to
+ "bsym".
+ * c-valprint.c (print_unpacked_pointer): Likewise.
+ * compile/compile-c-symbols.c (convert_symbol_sym): Promote the
+ "sym" parameter from struct symbol * to struct block_symbol.
+ Use it to remove uses of block_found. Deal with struct
+ block_symbol from lookup functions.
+ (gcc_convert_symbol): Likewise. Update the call to
+ convert_symbol_sym.
+ * compile/compile-object-load.c (compile_object_load): Deal with
+ struct block_symbol from lookup functions.
+ * cp-namespace.c (cp_lookup_nested_symbol_1,
+ cp_lookup_nested_symbol, cp_lookup_bare_symbol,
+ cp_search_static_and_baseclasses,
+ cp_lookup_symbol_in_namespace, cp_lookup_symbol_via_imports,
+ cp_lookup_symbol_imports_or_template,
+ cp_lookup_symbol_via_all_imports, cp_lookup_symbol_namespace,
+ lookup_namespace_scope, cp_lookup_nonlocal,
+ find_symbol_in_baseclass): Return struct block_symbol instead of
+ mere symbols and deal with struct block_symbol from lookup
+ functions.
+ * cp-support.c (inspect_type, replace_typedefs,
+ cp_lookup_rtti_type): Deal with struct block_symbol from
+ lookup functions.
+ * cp-support.h (cp_lookup_symbol_nonlocal,
+ cp_lookup_symbol_from_namespace,
+ cp_lookup_symbol_imports_or_template, cp_lookup_nested_symbol):
+ Return struct block_symbol instead of mere symbols.
+ * d-exp.y (d_type_from_name, d_module_from_name, push_variable,
+ push_module_name):
+ Deal with struct block_symbol from lookup functions. Remove
+ uses of block_found.
+ * eval.c (evaluate_subexp_standard): Update call to
+ cp_lookup_symbol_namespace.
+ * f-exp.y: Deal with struct block_symbol from lookup functions.
+ Remove uses of block_found.
+ (yylex): Likewise.
+ * gdbtypes.c (lookup_typename, lookup_struct, lookup_union,
+ lookup_enum, lookup_template_type, check_typedef): Deal with
+ struct block_symbol from lookup functions.
+ * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
+ * guile/scm-symbol.c (gdbscm_lookup_symbol): Likewise.
+ (gdbscm_lookup_global_symbol): Likewise.
+ * gnu-v3-abi.c (gnuv3_get_typeid_type): Likewise.
+ * go-exp.y: Likewise. Remove uses of block_found.
+ (package_name_p, classify_packaged_name, classify_name):
+ Likewise.
+ * infrun.c (insert_exception_resume_breakpoint): Likewise.
+ * jv-exp.y (push_variable): Likewise.
+ * jv-lang.c (java_lookup_class, get_java_object_type): Likewise.
+ * language.c (language_bool_type): Likewise.
+ * language.h (struct language_defn): Update
+ la_lookup_symbol_nonlocal to return a struct block_symbol rather
+ than a mere symbol.
+ * linespec.c (find_label_symbols): Deal with struct block_symbol
+ from lookup functions.
+ * m2-exp.y: Likewise. Remove uses of block_found.
+ (yylex): Likewise.
+ * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
+ * objc-lang.c (lookup_struct_typedef, find_imps): Likewise.
+ * p-exp.y: Likewise. Remove uses of block_found.
+ (yylex): Likewise.
+ * p-valprint.c (pascal_val_print): Likewise.
+ * parse.c (write_dollar_variable): Likewise. Remove uses of
+ block_found.
+ * parser-defs.h (struct symtoken): Turn the SYM field into a
+ struct block_symbol.
+ * printcmd.c (address_info): Deal with struct block_symbol from
+ lookup functions.
+ * python/py-frame.c (frapy_read_var): Likewise.
+ * python/py-symbol.c (gdbpy_lookup_symbol,
+ gdbpy_lookup_global_symbol): Likewise.
+ * skip.c (skip_function_command): Likewise.
+ * solib-darwin.c (darwin_lookup_lib_symbol): Return a struct
+ block_symbol instead of a mere symbol.
+ * solib-spu.c (spu_lookup_lib_symbol): Likewise.
+ * solib-svr4.c (elf_lookup_lib_symbol): Likewise.
+ * solib.c (solib_global_lookup): Likewise.
+ * solist.h (solib_global_lookup): Likewise.
+ (struct target_so_ops): Update lookup_lib_global_symbol to
+ return a struct block_symbol rather than a mere symbol.
+ * source.c (select_source_symtab): Deal with struct block_symbol
+ from lookup functions.
+ * stack.c (print_frame_args, iterate_over_block_arg_vars):
+ Likewise.
+ * symfile.c (set_initial_language): Likewise.
+ * symtab.c (SYMBOL_LOOKUP_FAILED): Turn into a struct
+ block_symbol.
+ (SYMBOL_LOOKUP_FAILED_P): New predicate as a macro.
+ (struct symbol_cache_slot): Turn the FOUND field into a struct
+ block_symbol.
+ (block_found): Remove.
+ (eq_symbol_entry): Update to deal with struct block_symbol in
+ cache slots.
+ (symbol_cache_lookup): Return a struct block_symbol rather than
+ a mere symbol.
+ (symbol_cache_mark_found): Add a BLOCK parameter to fill
+ appropriately the cache slots. Update callers.
+ (symbol_cache_dump): Update cache slots handling to the type
+ change.
+ (lookup_symbol_in_language, lookup_symbol, lookup_language_this,
+ lookup_symbol_aux, lookup_local_symbol,
+ lookup_symbol_in_objfile, lookup_global_symbol_from_objfile,
+ lookup_symbol_in_objfile_symtabs,
+ lookup_symbol_in_objfile_from_linkage_name,
+ lookup_symbol_via_quick_fns, basic_lookup_symbol_nonlocal,
+ lookup_symbol_in_static_block, lookup_static_symbol,
+ lookup_global_symbol):
+ Return a struct block_symbol rather than a mere symbol. Deal
+ with struct block_symbol from other lookup functions. Remove
+ uses of block_found.
+ (lookup_symbol_in_block): Remove uses of block_found.
+ (struct global_sym_lookup_data): Turn the RESULT field into a
+ struct block_symbol.
+ (lookup_symbol_global_iterator_cb): Update references to the
+ RESULT field.
+ (search_symbols): Deal with struct block_symbol from lookup
+ functions.
+ * symtab.h (struct block_symbol): New structure.
+ (block_found): Remove.
+ (lookup_symbol_in_language, lookup_symbol,
+ basic_lookup_symbol_nonlocal, lookup_symbol_in_static_block,
+ lookup_static_symbol, lookup_global_symbol, lookup_language_this,
+ lookup_global_symbol_from_objfile): Return a struct block_symbol
+ rather than just a mere symbol. Update comments to remove
+ mentions of block_found.
+ * valops.c (find_function_in_inferior,
+ value_struct_elt_for_reference, value_maybe_namespace_elt,
+ value_of_this): Deal with struct block_symbol from lookup
+ functions.
+ * value.c (value_static_field, value_fn_field): Likewise.
+
+2015-07-31 Simon Marchi <simon.marchi@ericsson.com>
+
+ * remote-m32r-sdi.c (m32r_remove_watchpoint): Use enum type
+ instead of integer.
+
+2015-07-31 Simon Marchi <simon.marchi@ericsson.com>
+ Pedro Alves <palves@redhat.com>
+
+ * aarch64-linux-nat.c (aarch64_linux_can_use_hw_breakpoint): Use enum
+ type or value instead of integer.
+ (aarch64_linux_insert_watchpoint): Likewise.
+ (aarch64_linux_remove_watchpoint): Likewise.
+ * ada-lang.c (ada_op_print_tab): Likewise.
+ * amd64-linux-tdep.c (amd64_canonicalize_syscall): Likewise.
+ (amd64_linux_syscall_record_common): Likewise.
+ * arch-utils.c (target_byte_order_user): Likewise.
+ (default_byte_order): Likewise.
+ * arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Likewise.
+ (arm_linux_get_hwbp_type): Likewise.
+ (arm_linux_hw_watchpoint_initialize): Likewise.
+ (arm_linux_insert_watchpoint): Likewise.
+ * arm-linux-tdep.c (arm_canonicalize_syscall): Likewise.
+ (arm_linux_syscall_record): Likewise.
+ * breakpoint.c (update_watchpoint): Likewise.
+ (breakpoint_here_p): Likewise.
+ (bpstat_print): Likewise.
+ (enable_breakpoint_disp): Likewise.
+ * c-lang.c (c_op_print_tab): Likewise.
+ * cli/cli-decode.c (add_info_alias): Likewise.
+ * d-lang.c (d_op_print_tab): Likewise.
+ * eval.c (evaluate_subexp_standard): Likewise.
+ * f-exp.y (dot_ops): Likewise.
+ (f77_keywords): Likewise.
+ * f-lang.c (f_op_print_tab): Likewise.
+ * go-lang.c (go_op_print_tab): Likewise.
+ * guile/scm-breakpoint.c (gdbscm_make_breakpoint): Likewise.
+ * guile/scm-cmd.c (gdbscm_make_command): Likewise.
+ * guile/scm-param.c (gdbscm_make_parameter): Likewise.
+ * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer): Likewise.
+ * guile/scm-string.c (struct scm_to_stringn_data): Likewise.
+ (struct scm_from_stringn_data): Likewise.
+ * i386-linux-tdep.c (i386_canonicalize_syscall): Likewise.
+ * ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise.
+ (ia64_linux_remove_watchpoint): Likewise.
+ (ia64_linux_can_use_hw_breakpoint): Likewise.
+ * infrun.c (print_stop_event): Likewise.
+ * jv-lang.c (java_op_print_tab): Likewise.
+ * linux-nat.c (linux_proc_xfer_partial): Likewise.
+ * linux-nat.h (struct lwp_info): Likewise.
+ * linux-thread-db.c (enable_thread_event): Likewise.
+ * m2-lang.c (m2_op_print_tab): Likewise.
+ * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Likewise.
+ (mi_cmd_stack_list_variables): Likewise.
+ * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
+ * mi/mi-out.c (mi_table_begin): Likewise.
+ (mi_table_header): Likewise.
+ * mips-linux-nat.c (mips_linux_can_use_hw_breakpoint): Likewise.
+ (mips_linux_insert_watchpoint): Likewise.
+ (mips_linux_remove_watchpoint): Likewise.
+ * nat/mips-linux-watch.c (mips_linux_watch_type_to_irw): Likewise.
+ * nat/mips-linux-watch.h (struct mips_watchpoint): Likewise.
+ (mips_linux_watch_type_to_irw): Likewise.
+ * nto-procfs.c (procfs_can_use_hw_breakpoint): Likewise.
+ (procfs_insert_hw_watchpoint): Likewise.
+ (procfs_remove_hw_watchpoint): Likewise.
+ (procfs_hw_watchpoint): Likewise.
+ (procfs_can_use_hw_breakpoint): Likewise.
+ (procfs_remove_hw_watchpoint): Likewise.
+ (procfs_insert_hw_watchpoint): Likewise.
+ * p-lang.c (pascal_op_print_tab): Likewise.
+ * ppc-linux-nat.c (ppc_linux_can_use_hw_breakpoint): Likewise.
+ * ppc-linux-tdep.c (ppu2spu_unwind_register): Likewise.
+ * ppc-sysv-tdep.c (get_decimal_float_return_value): Likewise.
+ * procfs.c (procfs_can_use_hw_breakpoint): Likewise.
+ (procfs_insert_watchpoint): Likewise.
+ (procfs_remove_watchpoint): Likewise.
+ * psymtab.c (recursively_search_psymtabs): Likewise.
+ * remote-m32r-sdi.c (m32r_can_use_hw_watchpoint): Likewise.
+ (m32r_insert_watchpoint): Likewise.
+ * remote-mips.c (mips_can_use_watchpoint): Likewise.
+ (mips_insert_watchpoint): Likewise.
+ (mips_remove_watchpoint): Likewise.
+ * remote.c (watchpoint_to_Z_packet): Likewise.
+ (remote_insert_watchpoint): Likewise.
+ (remote_remove_watchpoint): Likewise.
+ (remote_check_watch_resources): Likewise.
+ * s390-linux-nat.c (s390_insert_watchpoint): Likewise.
+ (s390_remove_watchpoint): Likewise.
+ (s390_can_use_hw_breakpoint): Likewise.
+ * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
+ * spu-linux-nat.c (spu_can_use_hw_breakpoint): Likewise.
+ * target.h (struct target_ops): Likewise.
+ * tilegx-tdep.c (tilegx_analyze_prologue): Likewise.
+ * ui-out.c (struct ui_out_hdr): Likewise.
+ (append_header_to_list): Likewise.
+ (get_next_header): Likewise.
+ (verify_field): Likewise.
+ (ui_out_begin): Likewise.
+ (ui_out_field_int): Likewise.
+ (ui_out_field_fmt_int): Likewise.
+ (ui_out_field_skip): Likewise.
+ (ui_out_field_string): Likewise.
+ (ui_out_field_fmt): Likewise.
+ * varobj.c (new_variable): Likewise.
+ * x86-nat.c (x86_insert_watchpoint): Likewise.
+ (x86_remove_watchpoint): Likewise.
+ (x86_can_use_hw_breakpoint): Likewise.
+ * xtensa-tdep.h (struct gdbarch_tdep): Likewise.
+ * inflow.c (enum gdb_has_a_terminal_flag_enum): Add name to
+ previously anonymous enumeration type..
+ * linux-record.h (enum gdb_syscall): Add gdb_sys_no_syscall
+ value.
+ * target-debug.h (target_debug_print_enum_target_hw_bp_type): New.
+ (target_debug_print_enum_bptype): New.
+ * target-delegates.c: Regenerate.
+
+2015-07-30 Sandra Loosemore <sandra@codesourcery.com>
+
+ * nios2-tdep.c (nios2_analyze_prologue): Do what the comment
+ already says and disallow non-stack memory writes in the prologue.
+
+2015-07-30 Sandra Loosemore <sandra@codesourcery.com>
+
+ * nios2-tdep.c (nios2_analyze_prologue): Update comments to
+ reflect how current GCC emits stack overflow checks. Match
+ both trap and break instructions for backward compatbility.
+ Disallow other trap and break instructions in the prologue.
+
+2015-07-30 Pedro Alves <palves@redhat.com>
+
+ PR threads/18600
+ * linux-nat.c (wait_lwp): Report to the core when thread group
+ leader exits.
+
+2015-07-30 Pedro Alves <palves@redhat.com>
+ Simon Marchi <simon.marchi@ericsson.com>
+
+ PR threads/18600
+ * linux-nat.c (linux_handle_extended_wait): On CLONE event, always
+ mark the new thread as resumed. Remove STOPPING parameter.
+ (wait_lwp): Adjust call to linux_handle_extended_wait.
+ (linux_nat_filter_event): Adjust call to
+ linux_handle_extended_wait.
+ (resume_stopped_resumed_lwps): Add debug output.
+
+2015-07-30 Pierre Langlois <pierre.langlois@arm.com>
+
+ * arch-utils.c (default_fast_tracepoint_valid_at): Remove unused
+ isize argument.
+ * arch-utils.h (default_fast_tracepoint_valid_at): Likewise.
+ * breakpoint.c (check_fast_tracepoint_sals): Adjust call to
+ gdbarch_fast_tracepoint_valid_at.
+ * gdbarch.sh (fast_tracepoint_valid_at): Remove isize argument.
+ * gdbarch.h: Regenerate.
+ * gdbarch.c: Regenerate.
+ * i386-tdep.c (i386_fast_tracepoint_valid_at): Remove isize
+ argument. Do not set it.
+ * remote.c (remote_download_tracepoint): Adjust call to
+ gdbarch_fast_tracepoint_valid_at. Call gdb_insn_length to get
+ the instruction length.
+
+2015-07-30 Yao Qi <yao.qi@linaro.org>
+
+ * arm-tdep.h (enum gdb_regnum): Move it to ...
+ * arch/arm.h: ... here. New file.
+ * Makefile.in (HFILES_NO_SRCDIR): Add arch/arm.h.
+
+2015-07-30 Pierre Langlois <pierre.langlois@arm.com>
+
+ * aarch64-tdep.c (decode_b): Rename link argument to is_bl.
+ Change its type to int *.
+ (decode_br): Rename link argument to is_blr. Change its type to
+ int *.
+ (decode_cb): Rename op argument to is_cbnz. Change its type to
+ int *.
+ (decode_tb): Rename op argument to is_tbnz. Change its type to
+ int *. Set is_tbnz to either 1 or 0.
+ (aarch64_analyze_prologue): Change type of is_link to int. Add
+ new variables is_cbnz and is_tbnz. Adjust call to
+ aarch64_decode_cb and aarch64_decode_tb.
+
+2015-07-29 Simon Marchi <simon.marchi@ericsson.com>
+
+ * mips-linux-nat.c (write_watchpoint_regs): Add NULL as ptrace's 4th
+ parameter.
+ (mips_linux_new_thread): Likewise.
+ * nat/mips-linux-watch.c (mips_linux_read_watch_registers): Likewise.
+
+2015-07-29 Patrick Palka <patrick@parcs.ath.cx>
+
+ * top.c: Include "tui/tui.h".
+ (undo_terminal_modifications_before_exit): New static function.
+ (quit_force): Use it.
+
+2015-07-29 Patrick Palka <patrick@parcs.ath.cx>
+
+ * target.c (terminal_state): Initialize to terminal_is_ours.
+
+2015-07-29 Yao Qi <yao.qi@linaro.org>
+
+ PR record/18691
+ * dcache.c (dcache_read_memory_partial): Call
+ raw_memory_xfer_partial.
+ * target.c (raw_memory_xfer_partial): Make it non-static.
+ * target.h (raw_memory_xfer_partial): Declare.
+
+2015-07-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * c-valprint.c (c_val_print_array): Consider addressable memory
+ unit size.
+ (c_val_print_ptr): Likewise.
+ (c_val_print_int): Likewise.
+ * findvar.c (read_frame_register_value): Likewise.
+ * valarith.c (find_size_for_pointer_math): Likewise.
+ (value_ptrdiff): Likewise.
+ (value_subscripted_rvalue): Likewise.
+ * valops.c (read_value_memory): Likewise (and rename variables).
+ (value_assign): Likewise.
+ (value_repeat): Likewise.
+ (value_array): Likewise.
+ (value_slice): Likewise.
+ * valprint.c (generic_val_print_ptr): Likewise.
+ (generic_val_print_enum): Likewise.
+ (generic_val_print_bool): Likewise.
+ (generic_val_print_int): Likewise.
+ (generic_val_print_char): Likewise.
+ (generic_val_print_float): Likewise.
+ (generic_val_print_decfloat): Likewise.
+ (generic_val_print_complex): Likewise.
+ (val_print_scalar_formatted): Likewise.
+ (val_print_array_elements): Likewise.
+ * value.c (set_value_parent): Likewise.
+ (value_contents_copy_raw): Likewise.
+ (set_internalvar_component): Likewise.
+ (value_primitive_field): Likewise.
+ (value_fetch_lazy): Likewise.
+ * value.h (read_value_memory): Update comment.
+
+2015-07-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * value.c (get_value_arch): New function.
+ * value.h (get_value_arch): New declaration.
+
+2015-07-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * value.c (struct value): Update comments.
+
+2015-07-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * gdbtypes.c (type_length_units): New function.
+ * gdbtypes.h (type_length_units): New declaration.
+ (struct type) <length>: Update comment.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out complex
+ printing code to ...
+ (generic_val_print_complex): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out decfloat
+ printing code to ...
+ (generic_val_print_decfloat): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out float
+ printing code to ...
+ (generic_val_print_float): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out char
+ printing code to ...
+ (generic_val_print_char): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out integer
+ printing code to ...
+ (generic_val_print_int): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out bool
+ printing code to ...
+ (generic_val_print_bool): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out function/method
+ printing code to ...
+ (generic_val_print_func): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out flags
+ printing code to ...
+ (generic_val_print_flags): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out enum
+ printing code to ...
+ (generic_val_print_enum): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out reference
+ printing code to ...
+ (generic_val_print_ref): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out memberptr
+ printing code to ...
+ (generic_val_print_memberptr): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out pointer
+ printing code to ...
+ (generic_val_print_ptr): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out array
+ printing code to ...
+ (generic_val_print_array): ... this new function.
+
+2015-07-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * valprint.c (generic_val_print): Factor out
+ print_unpacked_pointer code to ...
+ (print_unpacked_pointer): ... this new function.
+
+2015-07-27 Patrick Palka <patrick@parcs.ath.cx>
+
+ * event-top.c (handle_sigterm): Don't inspect
+ target_can_async_p. Always set the quit flag and always mark
+ the async signal handler.
+
+2015-07-27 Yao Qi <yao.qi@linaro.org>
+
+ * Makefile.in (REMOTE_EXAMPLES): Remove it.
+
+2015-07-25 Kevin Buettner <kevinb@redhat.com>
+
+ * remote.c (read_ptid): Return null_ptid when no thread id
+ is found.
+ (remote_current_thread): Add log warning for malformed
+ qC reply.
+ (remote_start_remote): Add log warning when current thread
+ not found.
+
+2015-07-24 Pedro Alves <palves@redhat.com>
+
+ * s390-linux-nat.c (fetch_regs, store_regs, fetch_fpregs)
+ (s390_stopped_by_watchpoint, s390_prepare_to_resume): Pass 0 as
+ forth argument to ptrace PTRACE_PEEKUSR_AREA/PTRACE_POKEUSR_AREA.
+
+2015-07-24 Pedro Alves <palves@redhat.com>
+
+ PR gdb/18717
+ * linux-nat.c (linux_nat_filter_event): Don't assert that the lwp
+ is resumed, and extend the debug log.
+
+2015-07-24 Pedro Alves <palves@redhat.com>
+
+ * fork-child.c (fork_inferior): Print argv[0] instead of exec_file.
+
+2015-07-24 Pedro Alves <palves@redhat.com>
+
+ * aarch64-linux-nat.c: Include nat/gdb_ptrace.h instead of
+ sys/ptrace.h.
+ * alpha-linux-nat.c: Likewise.
+ * amd64-linux-nat.c: Likewise.
+ * arm-linux-nat.c: Likewise.
+ * hppa-linux-nat.c: Likewise.
+ * i386-linux-nat.c: Likewise.
+ * ia64-linux-nat.c: Likewise.
+ * linux-fork.c: Likewise.
+ * linux-nat.c: Likewise.
+ * m32r-linux-nat.c: Likewise.
+ * m68klinux-nat.c: Likewise.
+ * mips-linux-nat.c: Likewise.
+ * nat/linux-btrace.c: Likewise.
+ * nat/linux-ptrace.c: Likewise.
+ * nat/linux-ptrace.h
+ * nat/mips-linux-watch.c: Likewise.
+ * nat/x86-linux-dregs.c: Likewise.
+ * ppc-linux-nat.c: Likewise.
+ * s390-linux-nat.c: Likewise.
+ * spu-linux-nat.c: Likewise.
+ * tilegx-linux-nat.c: Likewise.
+ * x86-linux-nat.c: Likewise.
+ * xtensa-linux-nat.c: Likewise.
+
+2015-07-24 Pedro Alves <palves@redhat.com>
+
+ * ptrace.m4 (ptrace tests): Test in C++ mode. Try with 'enum
+ __ptrace_request as first parameter type instead of int.
+ (PTRACE_TYPE_ARG1): Define.
+ * nat/gdb_ptrace.h [!PTRACE_TYPE_ARG5] (ptrace): Define as wrapper
+ that casts first argument to PTRACE_TYPE_ARG1.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2015-07-24 Pedro Alves <palves@redhat.com>
+
+ * gdb_ptrace.h: Move ...
+ * nat/gdb_ptrace.h: ... here.
+ * inf-ptrace.c: Adjust.
+
+2015-07-24 Pedro Alves <palves@redhat.com>
+
+ * acinclude.m4: Include ptrace.m4.
+ * configure.ac: Call GDB_AC_PTRACE and move ptrace checks ...
+ * ptrace.m4: ... to this new file.
+
2015-07-23 Doug Evans <dje@google.com>
* dwarf2read.c (dwarf2_per_cu_data): Add comment.