Refactor arm_software_single_step to use regcache
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 9a79b056917c60a51513f6c3a61010ab1e5c42c6..a590a0d7f30aa3b46c096ec2b0a4747b44a907f9 100644 (file)
@@ -1,3 +1,516 @@
+2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
+
+       * arm-linux-tdep.c (arm_linux_sigreturn_next_pc_offset): New function.
+       (arm_linux_sigreturn_next_pc): Likewise.
+       (arm_linux_syscall_next_pc): Use regcache instead of frame.
+       (arm_linux_software_single_step): Likewise.
+       * arm-tdep.c (arm_is_thumb): New function.
+       (shifted_reg_va): Use regcache instead of frame.
+       (thumb_get_next_pc_raw): Likewise.
+       (arm_get_next_pc_raw): Likewise.
+       (arm_get_next_pc): Likewise.
+       (thumb_deal_with_atomic_sequence_raw): Likewise.
+       (arm_deal_with_atomic_sequence_raw): Likewise.
+       (arm_deal_with_atomic_sequence): Likewise.
+       (arm_software_single_step): Likewise.
+       * arm-tdep.h (struct gdbarch_tdep): Use regcache for syscall_next_pc.
+       (arm_get_next_pc): Use regcache.
+       (arm_deal_with_atomic_sequence): Likewise.
+       (arm_is_thumb): New declaration.
+       * regcache.c (regcache_raw_get_unsigned): New function.
+       * regcache.h (regcache_raw_get_unsigned): New function declaration.
+
+2015-12-18  Antoine Tremblay  <antoine.tremblay@ericsson.com>
+
+       * arch/arm.c (bitcount): Move from arm-tdep.c.
+       (condition_true): Likewise.
+       * arch/arm.h (Instruction Definitions): Move form arm-tdep.h.
+       (condition_true): Move defenition from arm-tdep.h.
+       (bitcount): Likewise.
+       * arm-tdep.c (condition_true): Move to arch/arm.c.
+       (bitcount): Likewise.
+       * arm-tdep.h (Instruction Definitions): Move to arch/arm.h.
+       * arm-wince-tdep.c: Include arch/arm.h.
+       * armnbsd-tdep.c: Likewise.
+
+2015-12-17  Pedro Alves  <palves@redhat.com>
+
+       PR threads/19354
+       * linux-nat.c (linux_nat_update_thread_list): Update process cores
+       each lwp was last seen running on here.
+       * linux-thread-db.c (update_thread_core): Delete.
+       (thread_db_update_thread_list_td_ta_thr_iter): Rename to ...
+       (thread_db_update_thread_list): ... this.  Skip inferiors with
+       execution.  Also call the target beneath.
+       (thread_db_update_thread_list): Delete.
+
+2015-12-17  Pedro Alves  <palves@redhat.com>
+
+       * configure.ac: Remove tkill checks.
+       * configure, config.in: Regenerate.
+       * linux-nat.c: Remove HAVE_TKILL_SYSCALL check.  Update top level
+       comments.
+       (linux_nat_post_attach_wait): Remove 'cloned' parameter.  Use
+       __WALL.
+       (attach_proc_task_lwp_callback): Don't set the cloned flag.
+       (linux_nat_attach): Adjust.
+       (kill_lwp): Remove HAVE_TKILL_SYSCALL check.  No longer fall back
+       to 'kill'.
+       (linux_handle_extended_wait): Use __WALL.  Don't set the cloned
+       flag.
+       (wait_lwp): Use __WALL.  Update comments.
+       (running_callback, stop_and_resume_callback): Delete.
+       (linux_nat_filter_event): Don't stop and resume all lwps. Don't
+       check if the event LWP has previously exited.
+       (check_zombie_leaders): Update comments.
+       (linux_nat_wait_1): Use __WALL.
+       (kill_wait_callback): Don't handle clone processes separately.
+       Use __WALL instead.
+       (linux_thread_alive): Delete.
+       (linux_nat_thread_alive): Return true as long as the LWP is in the
+       LWP list.
+       (linux_nat_update_thread_list): Assume the kernel supports
+       PTRACE_EVENT_CLONE.
+       (get_signo): Delete.
+       (lin_thread_get_thread_signals): Remove LinuxThreads references.
+       No longer check __pthread_sig_restart / __pthread_sig_cancel in
+       the inferior.
+       * linux-nat.h (struct lwp_info) <cloned>: Delete field.
+       * linux-thread-db.c: Update comments.
+       (_initialize_thread_db): Remove LinuxThreads references.
+       * nat/linux-waitpid.c (my_waitpid): No longer emulate __WALL.
+       Pass down flags unmodified.
+       * linux-waitpid.h (my_waitpid): Update documentation.
+
+2015-12-17  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c (struct stack_item_t): Update comments.
+       (pass_on_stack): Set item.data to NULL.
+       (aarch64_push_dummy_call): Call write_memory if si->data
+       isn't NULL.
+
+2015-12-16  Pedro Alves  <palves@redhat.com>
+
+       * configure.ac (compiler warning flags): When testing a
+       -Wno-foo option, check whether -Wfoo works instead.
+       * configure: Regenerate.
+
+2015-12-16  Pedro Alves  <palves@redhat.com>
+
+       * common/vec.h (vec_offset): New macro.
+       (DEF_VEC_ALLOC_FUNC_I, DEF_VEC_ALLOC_FUNC_O): Use it instead of
+       offsetof.
+
+2015-12-11  Don Breazeal  <donb@codesourcery.com>
+
+       * NEWS: Announce fork and exec event support for target remote.
+
+2015-12-11  Don Breazeal  <donb@codesourcery.com>
+
+       * inferior.c (number_of_live_inferiors): New function.
+       (have_live_inferiors): Use number_of_live_inferiors in place
+       of duplicate code.
+       * inferior.h (number_of_live_inferiors): Declare new function.
+       * remote.c (set_general_process): Remove restriction on target
+       remote mode.
+       (remote_query_supported): Likewise.
+       (remote_detach_1): Exit in target remote mode only when there
+       is just one live inferior left.
+       (remote_disconnect): Unpush the target directly instead of 
+       calling remote_mourn.
+       (remote_kill): Rewrite function to handle both target remote
+       and extended-remote.  Call remote_kill_k.
+       (remote_kill_k): New function.
+       (extended_remote_kill): Delete function.
+       (remote_mourn, extended_remote_mourn): Combine functions into
+       one, remote_mourn, and enable extended functionality for target
+       remote.
+       (remote_pid_to_str): Enable "process" style ptid string for
+       target remote.
+       (remote_supports_multi_process): Remove restriction on target
+       remote mode.
+
+2015-12-14  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * i386-tdep.c (i386_mpx_info_bounds): Use TYPE_LENGTH.
+       (i386_mpx_set_bounds): Likewise.
+       * solib-darwin.c (darwin_load_image_infos): Likewise.
+       (darwin_solib_read_all_image_info_addr): Likewise.
+
+2015-12-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * cli/cli-cmds.c (_initialize_cli_cmds): Extend help text for
+       'list' command.
+
+2015-12-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * cli/cli-cmds.c (list_command): Add an error when trying to use
+       '-' to scan read off the start of the source file.
+
+2015-12-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * cli/cli-cmds.c (list_command): Check that the argument string is
+       a single character, either '+' or '-'.
+
+2015-12-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * cli/cli-cmds.c (list_command): Move all handling of +/-
+       arguments into a single if block.
+
+2015-12-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * cli/cli-cmds.c (list_command): Use NULL instead of 0 when
+       checking pointers.
+
+2015-12-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * source.c (lines_to_list): Make static.
+
+2015-12-10  Antoine Tremblay  <antoine.tremblay@ericsson.com>
+
+       * linux-thread-db.c (find_new_threads_callback): Use record_thread.
+
+2015-12-10  Antoine Tremblay  <antoine.tremblay@ericsson.com>
+
+       * breakpoint.c (remove_thread_event_breakpoints): Remove.
+       * breakpoint.h (remove_thread_event_breakpoints): Remove
+       declaration.
+       * linux-nat.c (in_pid_list_p): Remove.
+       (lin_lwp_attach_lwp): Remove.
+       * linux-nat.h (lin_lwp_attach_lwp): Remove declaration.
+       * linux-thread-db.c (thread_db_use_events): Remove.
+       (struct thread_db_info) <td_create_bp_addr>: Remove.
+       <td_death_bp_addr>: Likewise.
+       <td_ta_event_addr_p>: Likewise.
+       <td_ta_set_event_p>: Likewise.
+       <td_ta_clear_event_p>: Likewise.
+       <td_ta_event_getmsg_p>: Likewise.
+       <td_thr_event_enable_p>: Likewise.
+       (attach_thread): Likewise.
+       (detach_thread): Likewise.
+       (have_threads_callback): Likewise.
+       (have_threads): Likewise.
+       (enable_thread_event): Likewise.
+       (enable_thread_event_reporting): Likewise.
+       (try_thread_db_load_1): Remove td_ta_event_addr, td_ta_set_event,
+       td_ta_clear_event, td_ta_event_getmsg, td_thr_event_enable
+       initializations.
+       (try_thread_db_load_1): Remove enable_thread_event_reporting call.
+       (disable_thread_event_reporting): Remove.
+       (record_thread): Adapt to thread_db_use_event removal.
+       (detach_thread): Remove.
+       (thread_db_detach): Adapt to thread_db_use_event removal.
+       (check_event): Remove.
+       (thread_db_wait): Adapt to thread events support removal.
+       (thread_db_mourn_inferior): Likewise.
+       (find_new_threads_callback): Likewise.
+       (find_new_threads_once): Likewise.
+       (thread_db_update_thread_list): Likewise.
+
+2015-12-10  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * dwarf2read.c (dwarf2_ranges_read): Unify and fix base address
+       reading code.
+
+2015-12-09  Kevin Buettner  <kevinb@redhat.com>
+
+       * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Perform a pointer
+       to address conversion for DWARF_VALUE_MEMORY.
+
+2015-12-09  Luis Machado  <lgustavo@codesourcery.com>
+
+       * gdb/mi/mi-cmd-var.c (mi_parse_format): Handle new "zero-hexadecimal"
+       format.
+       * gdb/varobj.c (varobj_format_string): Add "zero-hexadecimal" entry.
+       (format_code): Add 'z' entry.
+       (varobj_set_display_format): Handle FORMAT_ZHEXADECIMAL.
+       * gdb/varobj.h (varobj_display_formats) <FORMAT_ZHEXADECIMAL>: New enum
+       field.
+       * NEWS: Add new note to MI changes citing the new zero-hexadecimal
+       format for -var-set-format.
+
+2015-12-09  Ruslan Kabatsayev  <b7.10110111@gmail.com>  (tiny patch)
+
+       PR gdb/18702
+       * configure.host: Fix detection of x86_64 host when setting
+       floatformats.
+
+2015-12-08  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * NEWS: Announce this enhancement and the corresponding new
+       option.
+
+2015-12-07  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * ada-lang.c (print_signatures): New.
+       (ada_print_symbol_signature): New.
+       (user_select_syms): Add signatures to the output of candidate
+       symbols using ada_print_symbol_signature.
+       (_initialize_ada_language): Add a "set/show ada
+       print-signatures" boolean option.
+
+2015-12-07  Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+       * MAINTAINERS (Write After Approval): Add Andreas Arnez.
+
+2015-12-06  Mike Stump <mikestump@comcast.net>
+           Joel Brobecker  <brobecker@adacore.com>
+
+       * Makefile.in (TAGS): Replace i386-nat.h by x86-nat.h.
+       * x86-nat.c: Replace remaining references to i386-nat
+       by reference to x86-nat instead.
+
+2015-12-05  Joel Brobecker  <brobecker@adacore.com>
+
+       GDB 7.10.1 released.
+
+2015-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * remote.c (remote_parse_stop_reply): Avoid GCC 4.1 "operation
+       may be undefined" warning.
+
+2015-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * remote.c (remote_newthread_step): Initialize item.name.
+       (remote_get_threads_with_qthreadinfo): Likewise.
+
+2015-11-30  Pedro Alves  <palves@redhat.com>
+
+       PR 14618
+       * NEWS (New remote packets): Mention the N stop reply.
+       * remote.c (remote_protocol_features): Add "no-resumed" entry.
+       (remote_query_supported): Report no-resumed+ support.
+       (remote_parse_stop_reply): Handle 'N'.
+       (process_stop_reply): Handle TARGET_WAITKIND_NO_RESUMED.
+       (remote_wait_as): Handle 'N' / TARGET_WAITKIND_NO_RESUMED.
+       (_initialize_remote): Register "set/show remote
+       no-resumed-stop-reply" commands.
+
+2015-11-30  Pedro Alves  <palves@redhat.com>
+
+       PR 14618
+       * infrun.c (handle_no_resumed): New function.
+       (handle_inferior_event_1) <TARGET_WAITKIND_NO_RESUMED>: Defer to
+       handle_no_resumed.
+
+2015-11-30  Pedro Alves  <palves@redhat.com>
+
+       * NEWS (New commands): Mention "set/show remote thread-events"
+       commands.
+       (New remote packets): Mention thread created/exited stop reasons
+       and QThreadEvents packet.
+       * infrun.c (disable_thread_events): New function.
+       (stop_all_threads): Disable/enable thread create/exit events.
+       Handle TARGET_WAITKIND_THREAD_EXITED.
+       (handle_inferior_event_1): Handle TARGET_WAITKIND_THREAD_CREATED
+       and TARGET_WAITKIND_THREAD_EXITED.
+       * remote.c (remove_child_of_pending_fork): Also remove threads of
+       threads that have TARGET_WAITKIND_THREAD_EXITED events.
+       (remote_parse_stop_reply): Handle "create" magic register.  Handle
+       'w' stop reply.
+       (initialize_remote): Install remote_thread_events as
+       to_thread_events target hook.
+       (remote_thread_events): New function.
+       * target-delegates.c: Regenerate.
+       * target.c (target_thread_events): New function.
+       * target.h (struct target_ops) <to_thread_events>: New field.
+       (target_thread_events): Declare.
+       * target/waitstatus.c (target_waitstatus_to_string): Handle
+       TARGET_WAITKIND_THREAD_CREATED and TARGET_WAITKIND_THREAD_EXITED.
+       * target/waitstatus.h (enum target_waitkind)
+       <TARGET_WAITKIND_THREAD_CREATED, TARGET_WAITKIND_THREAD_EXITED):
+       New values.
+
+2015-11-30  Pedro Alves  <palves@redhat.com>
+
+       * NEWS (New remote packets): Mention vCtrlC.
+       * remote.c (PACKET_vCtrlC): New enum value.
+       (async_remote_interrupt): Call target_interrupt instead of
+       target_stop.
+       (remote_interrupt_as): Remove 'ptid' parameter.
+       (remote_interrupt_ns): New function.
+       (remote_stop): Adjust.
+       (remote_interrupt): If the target is in non-stop mode, try
+       interrupting with vCtrlC.
+       (initialize_remote): Install set remote ctrl-c packet.
+
+2015-11-30  Pedro Alves  <palves@redhat.com>
+
+       * remote.c (struct remote_state) <remote_watch_data_address,
+       stop_reason>: Delete fields.
+       (struct private_thread_info) <stop_reason, watch_data_address>:
+       New fields.
+       (resume_clear_thread_private_info): New function.
+       (append_pending_thread_resumptions): Call it.
+       (remote_resume): Clear all threads' private info.
+       (process_stop_reply): Adjust.
+       (remote_wait_as): Don't reference remote_state's stop_reason
+       field.
+       (remote_stopped_by_sw_breakpoint)
+       (remote_stopped_by_hw_breakpoint, remote_stopped_by_watchpoint)
+       (remote_stopped_data_address): Adjust to refer get data from the
+       current thread.
+
+2015-11-30  Pedro Alves  <palves@redhat.com>
+
+       * infcmd.c (attach_post_wait): If the target is always in non-stop
+       mode, and the UI is in all-stop mode, stop all threads and pick
+       the one with lowest number as current.
+
+2015-11-30  Pedro Alves  <palves@redhat.com>
+
+       * gdbthread.h (switch_to_thread_no_regs): Declare.
+       * infcmd.c (setup_inferior): New function, factored out from ...
+       (attach_command_post_wait): ... this.  Rename to ...
+       (attach_post_wait): ... this.  Replace parameter async_exec with
+       attach_post_wait_mode parameter.  Adjust.
+       (enum attach_post_wait_mode): New enum.
+       (struct attach_command_continuation_args): Replace 'async_exec'
+       field with 'mode' field.
+       (attach_command_continuation): Adjust.
+       (attach_command): Add comment.  Mark the inferior as needing
+       setup.  Adjust to use enum attach_post_wait_mode.
+       (notice_new_inferior): Use switch_to_thread_no_regs.  Adjust to
+       use enum attach_post_wait_mode.
+       * inferior.h (setup_inferior): Declare.
+       (struct inferior) <needs_setup>: New field.
+       * infrun.c (set_last_target_status): Make extern.
+       (stop_all_threads): Make extern.  Setup inferior, if necessary.
+       * infrun.h (set_last_target_status, stop_all_threads): Declare.
+       * remote-notif.c (remote_async_get_pending_events_handler)
+       (handle_notification): Replace non_stop checks with
+       target_is_non_stop_p() checks.
+       * remote.c (remote_notice_new_inferior): Remove non_stop check.
+       (remote_update_thread_list): Replace non_stop check with
+       target_is_non_stop_p() check.
+       (print_one_stopped_thread): New function.
+       (process_initial_stop_replies): New 'from_tty' parameter.
+       "Notice" all new live inferiors after storing initial stops as
+       pending status in each corresponding thread.  If all-stop, stop
+       all threads, try picking a signalled thread as current, and print
+       the status of that one thread.  Record the last target status.
+       (remote_start_remote): Replace non_stop checks with
+       target_is_non_stop_p() checks.  Don't query for the remote current
+       thread of use qOffsets here.  Pass from_tty to
+       process_initial_stop_replies.
+       (extended_remote_attach): Replace non_stop checks with
+       target_is_non_stop_p() checks.
+       (extended_remote_post_attach): Send qOffsets here.
+       (remote_vcont_resume, remote_resume, remote_stop)
+       (remote_interrupt, remote_parse_stop_reply, remote_wait): Replace
+       non_stop checks with target_is_non_stop_p() checks.
+       (remote_async): If target is non-stop, mark/clear the pending
+       events token.
+       * thread.c (switch_to_thread_no_regs): New function.
+
+2015-11-30  Pedro Alves  <palves@redhat.com>
+
+       * gdb.mi/mi-nonstop.exp: Append "set non-stop on" to GDBFLAGS
+       instead of issuing "-gdb-set non-stop 1" after starting gdb.
+       Use mi_is_target_remote instead of checking "is_remote target".
+       * lib/gdb.exp (gdb_is_target_remote): Rename to ...
+       (gdb_is_target_remote_prompt): ... this, and add 'prompt_regexp'
+       parameter.
+       (gdb_is_target_remote): Reimplement.
+       * lib/mi-support.exp (mi_is_target_remote): New procedure.
+
+2014-11-28  Pedro Alves  <palves@redhat.com>
+
+       * cp-name-parser.y (conversion_op): Use
+       DEMANGLE_COMPONENT_CONVERSION instead of DEMANGLE_COMPONENT_CAST.
+
+2015-11-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * remote.c (start_thread): Add cast.
+
+2015-11-27  Yao Qi  <yao.qi@linaro.org>
+
+       * nat/aarch64-linux-hw-point.c (aarch64_dr_state_remove_one_point):
+       Don't assert on alignment.
+       (aarch64_handle_breakpoint): Only check alignment when IS_INSERT
+       is true.
+
+2015-11-27  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c (is_hfa): Rename to ...
+       (is_hfa_or_hva): ... this.  Handle vector type.  All callers
+       updated.
+       (aarch64_extract_return_value): Update debugging message.
+       (aarch64_store_return_value): Likewise.
+       (aarch64_return_in_memory): Update comments.
+
+2015-11-27  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c (aarch64_type_align): For vector type, return
+       its length, but with the maximum of 16 bytes.
+       (is_hfa): Return zero for vector type.
+       (aarch64_push_dummy_call): Handle short vectors.
+       (aarch64_extract_return_value): Likewise.
+       (aarch64_store_return_value): Likewise.
+
+2015-11-26  Daniel Colascione  <dancol@dancol.org>
+2015-11-26  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * linux-nat.c (linux_nat_thread_name): Replace implementation by call
+       to linux_proc_tid_get_name.
+       * nat/linux-procfs.c (linux_proc_tid_get_name): New function,
+       implementation inspired by linux_nat_thread_name.
+       * nat/linux-procfs.h (linux_proc_tid_get_name): New declaration.
+       * remote.c (struct private_thread_info) <name>: New field.
+       (free_private_thread_info): Free name field.
+       (remote_thread_name): New function.
+       (thread_item_t) <name>: New field.
+       (clear_threads_listing_context): Free name field.
+       (start_thread): Get name xml attribute.
+       (thread_attributes): Add "name" attribute.
+       (remote_update_thread_list): Copy name field.
+       (init_remote_ops): Assign remote_thread_name callback.
+       * target.h (target_thread_name): Update comment.
+       * NEWS: Mention remote thread name support.
+
+2015-11-26  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * linux-nat.c (linux_nat_thread_name): Constify return value.
+       * target.h (struct target_ops) <to_thread_name>: Likewise.
+       (target_thread_name): Likewise.
+       * target.c (target_thread_name): Likewise.
+       * target-delegates.c (debug_thread_name): Regenerate.
+       * python/py-infthread.c (thpy_get_name): Constify local variables.
+       * thread.c (print_thread_info): Likewise.
+       (thread_find_command): Likewise.
+
+2015-11-26  Markus Metzger  <markus.t.metzger@intel.com>
+
+       PR 19297
+       * btrace.c (btrace_enable): Check whether HAVE_LIBIPT is defined.
+
+2015-11-24  Pedro Alves  <palves@redhat.com>
+
+       * NEWS: Mention that a few "info" commands now list the
+       corresponding items in ascending ID order.
+
+2015-11-24  Pedro Alves  <palves@redhat.com>
+
+       PR 17539
+       * printcmd.c (display_command): Append new display at the end of
+       the list.
+
+2015-11-24  Pedro Alves  <palves@redhat.com>
+
+       PR 17539
+        * printcmd.c (display_command): Append new display at the end of
+        the list.
+
+2015-11-24  Pedro Alves  <palves@redhat.com>
+
+       PR 17539
+       * inferior.c (add_inferior_silent): Append the new inferior to the
+       end of the list.
+       * progspace.c (add_program_space): Append the new pspace to the
+       end of the list.
+       * thread.c (new_thread): Append the new thread to the end of the
+       list.
+
 2015-11-24  Pedro Alves  <palves@redhat.com>
 
        * linux-tdep.c (find_stop_signal): Delete.
        first.  Use ALL_NON_EXITED_THREADS instead of
        iterate_over_threads.
 
-2015-11-23  Simon Marchi  <simon.marchi@ericsson.com>
+2015-11-23  Par Olsson  <par.olsson@windriver.com>
 
        * breakpoint.c (tracepoint_print_recreate): Fix logic error
        if -> else if.
This page took 0.049045 seconds and 4 git commands to generate.