2013-12-18 04:35:39 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_find_memory_regions>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_find_memory_regions): Add argument.
|
|
|
|
|
* target.c (dummy_find_memory_regions): Add 'self' argument.
|
|
|
|
|
* procfs.c (proc_find_memory_regions): Add 'self' argument.
|
|
|
|
|
* gnu-nat.c (gnu_find_memory_regions): Add 'self' argument.
|
|
|
|
|
* fbsd-nat.h (fbsd_find_memory_regions): Add 'self' argument.
|
|
|
|
|
* fbsd-nat.c (fbsd_find_memory_regions): Add 'self' argument.
|
|
|
|
|
* exec. (exec_do_find_memory_regions): New global.
|
|
|
|
|
(exec_set_find_memory_regions): Rewrite.
|
|
|
|
|
(exec_find_memory_regions): New function.
|
|
|
|
|
(init_exec_ops): Use exec_find_memory_regions.
|
|
|
|
|
|
2013-12-18 04:35:26 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_supports_non_stop>: Add
|
|
|
|
|
argument.
|
|
|
|
|
* target.c (find_default_supports_non_stop): Add argument.
|
|
|
|
|
(target_supports_non_stop): Add argument.
|
|
|
|
|
(find_default_supports_non_stop): Add 'self' argument.
|
|
|
|
|
* remote.c (remote_supports_non_stop): Add 'self' argument.
|
|
|
|
|
* linux-nat.c (linux_nat_supports_non_stop): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:35:13 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_log_command>: Add argument.
|
|
|
|
|
(target_log_command): Add argument.
|
|
|
|
|
* serial.h (serial_log_command): Add 'self' argument.
|
|
|
|
|
* serial.c (serial_log_command): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:35:01 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_pid_to_exec_file): Add 'self' argument.
|
|
|
|
|
* target.h (struct target_ops) <to_pid_to_exec_file>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_pid_to_exec_file): Add argument.
|
|
|
|
|
* target.c (debug_to_pid_to_exec_file): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* nbsd-nat.h (nbsd_pid_to_exec_file): Add 'self' argument.
|
|
|
|
|
* nbsd-nat.c (nbsd_pid_to_exec_file): Add 'self' argument.
|
|
|
|
|
* linux-nat.c (linux_child_pid_to_exec_file): Add 'self' argument.
|
|
|
|
|
(linux_handle_extended_wait): Update.
|
|
|
|
|
* inf-child.c (inf_child_pid_to_exec_file): Add 'self' argument.
|
|
|
|
|
* fbsd-nat.h (fbsd_pid_to_exec_file): Add 'self' argument.
|
|
|
|
|
* fbsd-nat.c (fbsd_pid_to_exec_file): Add 'self' argument.
|
|
|
|
|
* darwin-nat.c (darwin_pid_to_exec_file): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:34:48 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_rcmd>: Add argument.
|
|
|
|
|
(target_rcmd): Add argument.
|
|
|
|
|
* target.c (debug_to_rcmd): Add argument.
|
|
|
|
|
(update_current_target, do_monitor_command): Update.
|
|
|
|
|
* remote.c (remote_rcmd): Add 'self' argument.
|
|
|
|
|
* monitor.c (monitor_rcmd): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:34:36 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_stop): Add 'self' argument.
|
|
|
|
|
* target.h (struct target_ops) <to_stop>: Add argument.
|
|
|
|
|
* target.c (target_stop): Add argument.
|
|
|
|
|
(debug_to_stop): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* remote.c (remote_stop): Add 'self' argument.
|
|
|
|
|
* remote-sim.c (gdbsim_stop): Add 'self' argument.
|
|
|
|
|
(gdbsim_cntrl_c): Update.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_stop): Add 'self' argument.
|
|
|
|
|
* procfs.c (procfs_stop): Add 'self' argument.
|
|
|
|
|
* nto-procfs.c (procfs_stop): Add 'self' argument.
|
|
|
|
|
* monitor.c (monitor_stop): Add 'self' argument.
|
|
|
|
|
(monitor_open): Update.
|
|
|
|
|
* linux-nat.c (linux_nat_stop): Add argument.
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_stop): Add 'self' argument.
|
|
|
|
|
* gnu-nat.c (gnu_stop): Add 'self' argument.
|
|
|
|
|
* darwin-nat.c (darwin_stop): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:34:22 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_thread_name>: Add argument.
|
|
|
|
|
* target.c (target_thread_name): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* linux-nat.c (linux_nat_thread_name): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:34:09 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_extra_thread_info>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_extra_thread_info): Add argument.
|
|
|
|
|
* target.c (update_current_target): Update.
|
|
|
|
|
* remote.c (remote_threads_extra_info): Add 'self' argument.
|
|
|
|
|
* ravenscar-thread.c (ravenscar_extra_thread_info): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* nto-tdep.h (nto_extra_thread_info): Add 'self' argument.
|
|
|
|
|
* nto-tdep.c (nto_extra_thread_info): Add 'self' argument.
|
|
|
|
|
* linux-thread-db.c (thread_db_extra_thread_info): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_extra_thread_info): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* bsd-uthread.c (bsd_uthread_extra_thread_info): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* aix-thread.c (aix_thread_extra_thread_info): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
|
2013-12-18 04:33:56 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_program_signals>: Add argument.
|
|
|
|
|
* target.c (target_program_signals): Add argument.
|
|
|
|
|
* remote.c (remote_program_signals): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:33:44 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_pass_signals>: Add argument.
|
|
|
|
|
* target.c (target_pass_signals): Add argument.
|
|
|
|
|
* remote.c (remote_pass_signals): Add 'self' argument.
|
|
|
|
|
(remote_start_remote): Update.
|
|
|
|
|
* procfs.c (procfs_pass_signals): Add 'self' argument.
|
|
|
|
|
* nto-procfs.c (procfs_pass_signals): Add 'self' argument.
|
|
|
|
|
* linux-nat.c (linux_nat_pass_signals): Add 'self' argument.
|
|
|
|
|
(linux_nat_create_inferior, linux_nat_attach): Update.
|
|
|
|
|
|
2013-12-18 04:33:31 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_can_run): Add 'self' argument.
|
|
|
|
|
* target.h (struct target_ops) <to_can_run>: Add argument.
|
|
|
|
|
(target_can_run): Add argument.
|
|
|
|
|
* target.c (debug_to_can_run): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* nto-procfs.c (procfs_can_run): Add 'self' argument.
|
|
|
|
|
* inf-child.c (inf_child_can_run): Add 'self' argument.
|
|
|
|
|
* go32-nat.c (go32_can_run): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:33:18 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_has_exited>: Add argument.
|
|
|
|
|
(target_has_exited): Add argument.
|
|
|
|
|
* target.c (debug_to_has_exited): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
|
2013-12-18 04:33:06 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_set_syscall_catchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_set_syscall_catchpoint): Add argument.
|
|
|
|
|
* linux-nat.c (linux_child_set_syscall_catchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* target.c (update_current_target): Update.
|
|
|
|
|
|
2013-12-18 04:32:54 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_remove_exec_catchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_remove_exec_catchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_remove_exec_catchpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* linux-nat.c (linux_child_remove_exec_catchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
|
2013-12-18 04:32:41 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_insert_exec_catchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_insert_exec_catchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_insert_exec_catchpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* linux-nat.c (linux_child_insert_exec_catchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
|
2013-12-18 04:32:29 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_remove_vfork_catchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_remove_vfork_catchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_remove_vfork_catchpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* linux-nat.c (linux_child_remove_vfork_catchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
|
2013-12-18 04:32:17 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_insert_vfork_catchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_insert_vfork_catchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_insert_vfork_catchpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* linux-nat.c (linux_child_insert_vfork_catchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
|
2013-12-18 04:32:05 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_remove_fork_catchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_remove_fork_catchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_remove_fork_catchpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* linux-nat.c (linux_child_remove_fork_catchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
|
2013-12-18 04:31:52 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_insert_fork_catchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_insert_fork_catchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_insert_fork_catchpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* linux-nat.c (linux_child_insert_fork_catchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
|
2013-12-18 04:31:40 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_post_startup_inferior>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_post_startup_inferior): Add argument.
|
|
|
|
|
* target.c (debug_to_post_startup_inferior): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* spu-linux-nat.c (spu_child_post_startup_inferior): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* linux-nat.c (linux_child_post_startup_inferior): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_post_startup_inferior): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* inf-child.c (inf_child_post_startup_inferior): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* i386-linux-nat.c (i386_linux_child_post_startup_inferior): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
(super_post_startup_inferior): Likewise.
|
|
|
|
|
* amd64-linux-nat.c (amd64_linux_child_post_startup_inferior): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
(super_post_startup_inferior): Likewise.
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_child_post_startup_inferior):
|
|
|
|
|
Add 'self' argument.
|
|
|
|
|
(super_post_startup_inferior): Likewise.
|
|
|
|
|
|
2013-12-18 04:31:27 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_load>: Add argument.
|
|
|
|
|
* target.c (target_load): Add argument.
|
|
|
|
|
(debug_to_load): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* remote.c (remote_load): Add 'self' argument.
|
|
|
|
|
* remote-sim.c (gdbsim_load): Add 'self' argument.
|
|
|
|
|
* remote-mips.c (mips_load): Add 'self' argument.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_load): Add 'self' argument.
|
|
|
|
|
* monitor.c (monitor_load): Add 'self' argument.
|
|
|
|
|
* m32r-rom.c (m32r_load_gen): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:31:14 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_terminal_info>: Add argument.
|
|
|
|
|
(target_terminal_info): Add argument.
|
|
|
|
|
* target.c (debug_to_terminal_info): Add argument.
|
|
|
|
|
(default_terminal_info): Likewise.
|
|
|
|
|
* inflow.c (child_terminal_info): Add 'self' argument.
|
|
|
|
|
* inferior.h (child_terminal_info): Add 'self' argument.
|
|
|
|
|
* go32-nat.c (go32_terminal_info): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:31:01 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_terminal_save_ours>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_terminal_save_ours): Add argument.
|
|
|
|
|
* target.c (debug_to_terminal_save_ours): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* inflow.c (terminal_save_ours): Add 'self' argument.
|
|
|
|
|
* inferior.h (terminal_save_ours): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:30:49 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_terminal_ours>: Add argument.
|
|
|
|
|
(target_terminal_ours): Add argument.
|
|
|
|
|
* target.c (debug_to_terminal_ours): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* remote.c (remote_terminal_ours): Add 'self' argument.
|
|
|
|
|
(remote_close): Update.
|
|
|
|
|
* linux-nat.c (linux_nat_terminal_ours): Add 'self' argument.
|
|
|
|
|
* inflow.c (terminal_ours): Add 'self' argument.
|
|
|
|
|
* inferior.h (terminal_ours): Add 'self' argument.
|
|
|
|
|
* go32-nat.c (go32_terminal_ours): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:30:36 +00:00
|
|
|
|
2014-02-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_terminal_ours_for_output>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_terminal_ours_for_output): Add argument.
|
|
|
|
|
* target.c (debug_to_terminal_ours_for_output): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* inflow.c (terminal_ours_for_output): Add 'self' argument.
|
|
|
|
|
* inferior.h (terminal_ours_for_output): Add 'self' argument.
|
|
|
|
|
* go32-nat.c (go32_terminal_ours): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:30:23 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_terminal_inferior>: Add
|
|
|
|
|
argument.
|
|
|
|
|
* target.c (target_terminal_inferior): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* remote.c (remote_terminal_inferior): Add 'self' argument.
|
|
|
|
|
* linux-nat.c (linux_nat_terminal_inferior): Add 'self' argument.
|
|
|
|
|
* inflow.c (terminal_inferior): Add 'self' argument.
|
|
|
|
|
* inferior.h (terminal_inferior): Add 'self' argument.
|
|
|
|
|
* go32-nat.c (go32_terminal_inferior): Add 'self' argument.
|
|
|
|
|
(go32_terminal_inferior): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:30:10 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_terminal_init>: Add argument.
|
|
|
|
|
(target_terminal_init): Add argument.
|
|
|
|
|
* target.c (debug_to_terminal_init): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* inflow.c (terminal_init_inferior): Add 'self' argument.
|
|
|
|
|
* inferior.h (terminal_init_inferior): Add 'self' argument.
|
|
|
|
|
* go32-nat.c (go32_terminal_init): Add 'self' argument.
|
|
|
|
|
* gnu-nat.c (gnu_terminal_init_inferior): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:29:57 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops)
|
|
|
|
|
<to_can_accel_watchpoint_condition>: Add argument.
|
|
|
|
|
(target_can_accel_watchpoint_condition): Add argument.
|
|
|
|
|
* target.c (debug_to_can_accel_watchpoint_condition): Add
|
|
|
|
|
argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_can_accel_watchpoint_condition): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
|
2013-12-18 04:29:45 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>:
|
|
|
|
|
Add argument.
|
|
|
|
|
(target_region_ok_for_hw_watchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_region_ok_for_hw_watchpoint): Add argument.
|
|
|
|
|
(default_region_ok_for_hw_watchpoint): Add argument.
|
|
|
|
|
* spu-multiarch.c (spu_region_ok_for_hw_watchpoint): Add argument.
|
|
|
|
|
* s390-linux-nat.c (s390_region_ok_for_hw_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* remote.c (remote_region_ok_for_hw_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* procfs.c (procfs_region_ok_for_hw_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
* mips-linux-nat.c (mips_linux_region_ok_for_hw_watchpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_region_ok_for_hw_watchpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
* i386-nat.c (i386_region_ok_for_watchpoint): Add 'self' argument.
|
|
|
|
|
* arm-linux-nat.c (arm_linux_region_ok_for_hw_watchpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_region_ok_for_hw_watchpoint):
|
|
|
|
|
Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:29:31 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_insert_watchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_insert_watchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_insert_watchpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* s390-linux-nat.c (s390_insert_watchpoint): Add 'self' argument.
|
|
|
|
|
* remote.c (remote_insert_watchpoint): Add 'self' argument.
|
|
|
|
|
* remote-mips.c (mips_insert_watchpoint): Add 'self' argument.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_insert_watchpoint): Add 'self' argument.
|
|
|
|
|
* procfs.c (procfs_insert_watchpoint): Add 'self' argument.
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_insert_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* nto-procfs.c (procfs_insert_hw_watchpoint): Add 'self' argument.
|
|
|
|
|
(procfs_insert_hw_watchpoint): Add 'self' argument.
|
|
|
|
|
* mips-linux-nat.c (mips_linux_insert_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_insert_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* ia64-linux-nat.c (ia64_linux_insert_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* i386-nat.c (i386_insert_watchpoint): Add 'self' argument.
|
|
|
|
|
* arm-linux-nat.c (arm_linux_insert_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_insert_watchpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
|
2013-12-18 04:29:17 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_remove_watchpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_remove_watchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_remove_watchpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* s390-linux-nat.c (s390_remove_watchpoint): Add 'self' argument.
|
|
|
|
|
* remote.c (remote_remove_watchpoint): Add 'self' argument.
|
|
|
|
|
* remote-mips.c (mips_remove_watchpoint): Add 'self' argument.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_remove_watchpoint): Add 'self' argument.
|
|
|
|
|
* procfs.c (procfs_remove_watchpoint): Add 'self' argument.
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_remove_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* nto-procfs.c (procfs_remove_hw_watchpoint): Add 'self' argument.
|
|
|
|
|
* mips-linux-nat.c (mips_linux_remove_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_remove_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* ia64-linux-nat.c (ia64_linux_remove_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* i386-nat.c (i386_remove_watchpoint): Add 'self' argument.
|
|
|
|
|
* arm-linux-nat.c (arm_linux_remove_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_remove_watchpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
|
2013-12-18 04:29:03 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_remove_hw_breakpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_remove_hw_breakpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_remove_hw_breakpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* remote.c (remote_remove_hw_breakpoint): Add 'self' argument.
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_remove_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* i386-nat.c (i386_remove_hw_breakpoint): Add 'self' argument.
|
|
|
|
|
* arm-linux-nat.c (arm_linux_remove_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_remove_hw_breakpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
|
2013-12-18 04:28:50 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_insert_hw_breakpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_insert_hw_breakpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_insert_hw_breakpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* remote.c (remote_insert_hw_breakpoint): Add 'self' argument.
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_insert_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* nto-procfs.c (procfs_insert_hw_breakpoint): Add 'self' argument.
|
|
|
|
|
* i386-nat.c (i386_insert_hw_breakpoint): Add 'self' argument.
|
|
|
|
|
* arm-linux-nat.c (arm_linux_insert_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_insert_hw_breakpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
|
2013-12-18 04:28:37 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_can_use_hw_breakpoint>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_can_use_hardware_watchpoint): Add argument.
|
|
|
|
|
* target.c (debug_to_can_use_hw_breakpoint): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* spu-linux-nat.c (spu_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* s390-linux-nat.c (s390_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* remote.c (remote_check_watch_resources): Add 'self' argument.
|
|
|
|
|
* remote-mips.c (mips_can_use_watchpoint): Add 'self' argument.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_can_use_hw_watchpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* procfs.c (procfs_can_use_hw_breakpoint): Add 'self' argument.
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* nto-procfs.c (procfs_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* mips-linux-nat.c (mips_linux_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* ia64-linux-nat.c (ia64_linux_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* ia64-hpux-nat.c (ia64_hpux_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* i386-nat.c (i386_can_use_hw_breakpoint): Add 'self' argument.
|
|
|
|
|
* arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_can_use_hw_breakpoint): Add
|
|
|
|
|
'self' argument.
|
|
|
|
|
|
2013-12-18 04:28:08 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_post_attach>: Add argument.
|
|
|
|
|
(target_post_attach): Add argument.
|
|
|
|
|
* target.c (debug_to_post_attach): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* spu-linux-nat.c (spu_child_post_attach): Add 'self' argument.
|
|
|
|
|
* nto-procfs.c (procfs_post_attach): Add 'self' argument.
|
|
|
|
|
* linux-nat.c (linux_child_post_attach): Add 'self' argument.
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_post_attach): Add 'self' argument.
|
|
|
|
|
* inf-child.c (inf_child_post_attach): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:27:56 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_close): Add 'self' argument.
|
|
|
|
|
* tracepoint.c (tfile_close): Add 'self' argument.
|
|
|
|
|
* target.h (struct target_ops) <to_close>: Add argument.
|
|
|
|
|
* target.c (target_close): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* remote.c (remote_close): Add 'self' argument.
|
|
|
|
|
* remote-sim.c (gdbsim_close): Add 'self' argument.
|
|
|
|
|
* remote-mips.c (mips_close): Add 'self' argument.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_close): Add 'self' argument.
|
|
|
|
|
* record-full.c (record_full_close): Add 'self' argument.
|
|
|
|
|
* record-btrace.c (record_btrace_close): Add 'self' argument.
|
|
|
|
|
* monitor.h (monitor_close): Add 'self' argument.
|
|
|
|
|
* monitor.c (monitor_close): Add 'self' argument.
|
|
|
|
|
* mips-linux-nat.c (mips_linux_close): Add 'self' argument.
|
|
|
|
|
* linux-nat.c (linux_nat_close): Add argument.
|
|
|
|
|
* go32-nat.c (go32_close): Add 'self' argument.
|
|
|
|
|
* exec.c (exec_close_1): Add 'self' argument.
|
|
|
|
|
* ctf.c (ctf_close): Add 'self' argument.
|
|
|
|
|
* corelow.c (core_close): Add 'self' argument.
|
|
|
|
|
(core_close_cleanup): Update.
|
|
|
|
|
* bsd-uthread.c (bsd_uthread_close): Add 'self' argument.
|
|
|
|
|
* bsd-kvm.c (bsd_kvm_close): Add 'self' argument.
|
|
|
|
|
|
2013-12-18 04:21:17 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_load): New function.
|
|
|
|
|
(init_remote_ops): Use it.
|
|
|
|
|
|
2013-12-13 20:26:04 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-btrace.c (linux_supports_btrace): Add "ops"
|
|
|
|
|
argument.
|
|
|
|
|
* common/linux-btrace.h (linux_supports_btrace): Update.
|
|
|
|
|
* remote.c (remote_supports_btrace): Add "self" argument.
|
|
|
|
|
* target-delegates.c: Rebuild.
|
|
|
|
|
* target.c (target_supports_btrace): Remove.
|
|
|
|
|
* target.h (struct target_ops) <to_supports_btrace>: Add
|
|
|
|
|
target_ops argument.
|
|
|
|
|
(target_supports_btrace): New define.
|
|
|
|
|
|
add target method delegation
This patch replaces some code in the record targets with target method
delegation.
record-full.c stores pointers to many target methods when the record
target is pushed. Then it later delegates some calls via these. This
is wrong because it violates the target stack contract. In particular
it is ok to unpush a target at any stratum, but record-full does not
keep track of this, so it could potentially call into an unpushed
target.
This patch fixes the problem by using the newly-introduced generic
approach to target delegation for the methods in question.
2014-02-19 Tom Tromey <tromey@redhat.com>
* record-full.c (record_full_beneath_to_resume_ops)
(record_full_beneath_to_resume, record_full_beneath_to_wait_ops)
(record_full_beneath_to_wait)
(record_full_beneath_to_store_registers_ops)
(record_full_beneath_to_store_registers)
(record_full_beneath_to_xfer_partial_ops)
(record_full_beneath_to_xfer_partial)
(record_full_beneath_to_insert_breakpoint_ops)
(record_full_beneath_to_insert_breakpoint)
(record_full_beneath_to_remove_breakpoint_ops)
(record_full_beneath_to_remove_breakpoint)
(record_full_beneath_to_stopped_by_watchpoint)
(record_full_beneath_to_stopped_data_address)
(record_full_beneath_to_async, tmp_to_resume_ops, tmp_to_resume)
(tmp_to_wait_ops, tmp_to_wait, tmp_to_store_registers_ops)
(tmp_to_store_registers, tmp_to_xfer_partial_ops)
(tmp_to_xfer_partial, tmp_to_instmp_to_insert_breakpoint_ops)
(tmp_to_insert_breakpoint, tmp_to_remove_breakpoint_ops)
(tmp_to_remove_breakpoint, tmp_to_stopped_by_watchpoint)
(tmp_to_stopped_data_address, tmp_to_async): Remove.
(record_full_open_1, record_full_open): Update. Use RECORD_IS_USED.
(record_full_resume, record_full_wait_1)
(record_full_stopped_by_watchpoint, record_full_stopped_data_address)
(record_full_store_registers, record_full_xfer_partial)
(record_full_insert_breakpoint, record_full_remove_breakpoint)
(record_full_async, record_full_core_xfer_partial): Use target
delegation.
* target-delegates.c: Rebuild.
* target.c (current_xfer_partial): Remove.
(update_current_target): Do not INHERIT or de_fault
to_insert_breakpoint, to_remove_breakpoint,
to_stopped_data_address, to_stopped_by_watchpoint, to_can_async_p,
to_is_async_p, to_async. Do not set to_xfer_partial field.
(default_xfer_partial): Simplify.
(current_xfer_partial): Remove.
(target_wait, target_resume): Simplify.
(find_default_can_async_p, find_default_is_async_p): Update.
(init_dummy_target): Don't set to_can_async_p, to_is_async_p,
to_xfer_partial, to_stopped_by_watchpoint,
to_stopped_data_address.
(target_store_registers): Simplify.
(forward_target_remove_breakpoint)
(forward_target_insert_breakpoint): Remove.
(target_remove_breakpoint, target_insert_breakpoint)
(debug_to_insert_breakpoint, debug_to_remove_breakpoint): Update.
* target.h (struct target_ops) <to_resume, to_wait,
to_store_registers, to_insert_breakpoint, to_remove_breakpoint,
to_stopped_by_watchpoint, to_stopped_data_address, to_can_async_p,
to_is_async_p, to_async, to_xfer_partial>: Add TARGET_DEFAULT
markup.
(forward_target_remove_breakpoint)
(forward_target_insert_breakpoint): Remove.
* record-btrace.c (record_btrace_remove_breakpoint): Delegate
directly.
(record_btrace_insert_breakpoint): Delegate directly.
2013-07-12 19:00:34 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* record-full.c (record_full_beneath_to_resume_ops)
|
|
|
|
|
(record_full_beneath_to_resume, record_full_beneath_to_wait_ops)
|
|
|
|
|
(record_full_beneath_to_wait)
|
|
|
|
|
(record_full_beneath_to_store_registers_ops)
|
|
|
|
|
(record_full_beneath_to_store_registers)
|
|
|
|
|
(record_full_beneath_to_xfer_partial_ops)
|
|
|
|
|
(record_full_beneath_to_xfer_partial)
|
|
|
|
|
(record_full_beneath_to_insert_breakpoint_ops)
|
|
|
|
|
(record_full_beneath_to_insert_breakpoint)
|
|
|
|
|
(record_full_beneath_to_remove_breakpoint_ops)
|
|
|
|
|
(record_full_beneath_to_remove_breakpoint)
|
|
|
|
|
(record_full_beneath_to_stopped_by_watchpoint)
|
|
|
|
|
(record_full_beneath_to_stopped_data_address)
|
|
|
|
|
(record_full_beneath_to_async, tmp_to_resume_ops, tmp_to_resume)
|
|
|
|
|
(tmp_to_wait_ops, tmp_to_wait, tmp_to_store_registers_ops)
|
|
|
|
|
(tmp_to_store_registers, tmp_to_xfer_partial_ops)
|
|
|
|
|
(tmp_to_xfer_partial, tmp_to_instmp_to_insert_breakpoint_ops)
|
|
|
|
|
(tmp_to_insert_breakpoint, tmp_to_remove_breakpoint_ops)
|
|
|
|
|
(tmp_to_remove_breakpoint, tmp_to_stopped_by_watchpoint)
|
|
|
|
|
(tmp_to_stopped_data_address, tmp_to_async): Remove.
|
|
|
|
|
(record_full_open_1, record_full_open): Update. Use RECORD_IS_USED.
|
|
|
|
|
(record_full_resume, record_full_wait_1)
|
|
|
|
|
(record_full_stopped_by_watchpoint, record_full_stopped_data_address)
|
|
|
|
|
(record_full_store_registers, record_full_xfer_partial)
|
|
|
|
|
(record_full_insert_breakpoint, record_full_remove_breakpoint)
|
|
|
|
|
(record_full_async, record_full_core_xfer_partial): Use target
|
|
|
|
|
delegation.
|
|
|
|
|
* target-delegates.c: Rebuild.
|
|
|
|
|
* target.c (current_xfer_partial): Remove.
|
|
|
|
|
(update_current_target): Do not INHERIT or de_fault
|
|
|
|
|
to_insert_breakpoint, to_remove_breakpoint,
|
|
|
|
|
to_stopped_data_address, to_stopped_by_watchpoint, to_can_async_p,
|
|
|
|
|
to_is_async_p, to_async. Do not set to_xfer_partial field.
|
|
|
|
|
(default_xfer_partial): Simplify.
|
|
|
|
|
(current_xfer_partial): Remove.
|
|
|
|
|
(target_wait, target_resume): Simplify.
|
|
|
|
|
(find_default_can_async_p, find_default_is_async_p): Update.
|
|
|
|
|
(init_dummy_target): Don't set to_can_async_p, to_is_async_p,
|
|
|
|
|
to_xfer_partial, to_stopped_by_watchpoint,
|
|
|
|
|
to_stopped_data_address.
|
|
|
|
|
(target_store_registers): Simplify.
|
|
|
|
|
(forward_target_remove_breakpoint)
|
|
|
|
|
(forward_target_insert_breakpoint): Remove.
|
|
|
|
|
(target_remove_breakpoint, target_insert_breakpoint)
|
|
|
|
|
(debug_to_insert_breakpoint, debug_to_remove_breakpoint): Update.
|
|
|
|
|
* target.h (struct target_ops) <to_resume, to_wait,
|
|
|
|
|
to_store_registers, to_insert_breakpoint, to_remove_breakpoint,
|
|
|
|
|
to_stopped_by_watchpoint, to_stopped_data_address, to_can_async_p,
|
|
|
|
|
to_is_async_p, to_async, to_xfer_partial>: Add TARGET_DEFAULT
|
|
|
|
|
markup.
|
|
|
|
|
(forward_target_remove_breakpoint)
|
|
|
|
|
(forward_target_insert_breakpoint): Remove.
|
|
|
|
|
* record-btrace.c (record_btrace_remove_breakpoint): Delegate
|
|
|
|
|
directly.
|
|
|
|
|
(record_btrace_insert_breakpoint): Delegate directly.
|
|
|
|
|
|
2013-12-19 16:38:11 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR build/7701:
|
|
|
|
|
* target-delegates.c: New file.
|
|
|
|
|
* target.c: Include target-delegates.c.
|
|
|
|
|
(init_dummy_target): Call install_dummy_methods.
|
|
|
|
|
(complete_target_initialization): Call install_delegators.
|
|
|
|
|
* target.h (TARGET_DEFAULT_IGNORE, TARGET_DEFAULT_NORETURN)
|
|
|
|
|
(TARGET_DEFAULT_RETURN, TARGET_DEFAULT_FUNC): New defines.
|
|
|
|
|
* make-target-delegates: New file.
|
|
|
|
|
|
2013-10-28 18:16:24 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* record.c (find_record_target): Use find_target_at.
|
|
|
|
|
* target.c (find_target_at): New function.
|
|
|
|
|
* target.h (find_target_at): Declare.
|
|
|
|
|
|
add "this" pointers to more target APIs
A subsequent pass introduces delegation helper functions to the target
API. This delegation is much cleaner if the target_ops pointer is
directly available at delegation time.
This patch adds the "this" pointer to various to_* methods for this
purpose.
This updates a number of ports which I am unable to test. Please give
them a look-over. Any possible problem here is trivial, though, as
all that is required is adding an argument to a function.
2014-02-19 Tom Tromey <tromey@redhat.com>
* aarch64-linux-nat.c (aarch64_linux_stopped_by_watchpoint):
Add 'ops' argument.
* arm-linux-nat.c (arm_linux_stopped_by_watchpoint): Add
'ops' argument.
* i386-nat.c (i386_stopped_by_watchpoint): Add 'ops' argument.
* ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Add
'ops' argument.
* inf-ttrace.c (inf_ttrace_stopped_by_watchpoint): Add 'ops'
argument.
* linux-nat.c (save_sigtrap): Update.
(linux_nat_stopped_by_watchpoint, linux_nat_is_async_p)
(linux_nat_can_async_p, linux_nat_async): Add 'ops' argument.
(linux_nat_close): Update.
* mips-linux-nat.c (mips_linux_stopped_by_watchpoint): Add 'ops'
argument.
* ppc-linux-nat.c (ppc_linux_stopped_by_watchpoint): Add 'ops'
argument.
* procfs.c (procfs_stopped_by_watchpoint): Add 'ops' argument.
* record-full.c (record_full_beneath_to_stopped_by_watchpoint)
(record_full_beneath_to_async, tmp_to_stopped_by_watchpoint)
(tmp_to_async): Add 'ops' argument.
(record_full_stopped_by_watchpoint, record_full_async)
(record_full_can_async_p, record_full_is_async_p): Add 'ops'
argument.
* remote-m32r-sdi.c (m32r_insert_breakpoint, m32r_remove_breakpoint)
(m32r_stopped_by_watchpoint): Add 'ops' argument.
* remote-mips.c (mips_stopped_by_watchpoint): Add 'ops' argument.
* remote.c (remote_stopped_by_watchpoint_p, remote_can_async_p)
(remote_is_async_p, remote_async): Add 'ops' argument.
(remote_stopped_data_address): Update.
* s390-nat.c (s390_stopped_by_watchpoint): Add 'ops' argument.
* target.c (update_current_target)
(find_default_can_async_p, find_default_is_async_p): Update.
(init_dummy_target): Update.
(debug_to_stopped_by_watchpoint): Add 'ops' argument.
* target.h (struct target_ops) <to_stopped_by_watchpoint,
to_can_async_p, to_is_async_p, to_async>: Add 'ops' argument.
(target_can_async_p, target_is_async_p, target_async)
(target_stopped_by_watchpoint): Update.
2013-07-30 16:36:07 +00:00
|
|
|
|
2014-02-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_stopped_by_watchpoint):
|
|
|
|
|
Add 'ops' argument.
|
|
|
|
|
* arm-linux-nat.c (arm_linux_stopped_by_watchpoint): Add
|
|
|
|
|
'ops' argument.
|
|
|
|
|
* i386-nat.c (i386_stopped_by_watchpoint): Add 'ops' argument.
|
|
|
|
|
* ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Add
|
|
|
|
|
'ops' argument.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_stopped_by_watchpoint): Add 'ops'
|
|
|
|
|
argument.
|
|
|
|
|
* linux-nat.c (save_sigtrap): Update.
|
|
|
|
|
(linux_nat_stopped_by_watchpoint, linux_nat_is_async_p)
|
|
|
|
|
(linux_nat_can_async_p, linux_nat_async): Add 'ops' argument.
|
|
|
|
|
(linux_nat_close): Update.
|
|
|
|
|
* mips-linux-nat.c (mips_linux_stopped_by_watchpoint): Add 'ops'
|
|
|
|
|
argument.
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_stopped_by_watchpoint): Add 'ops'
|
|
|
|
|
argument.
|
|
|
|
|
* procfs.c (procfs_stopped_by_watchpoint): Add 'ops' argument.
|
|
|
|
|
* record-full.c (record_full_beneath_to_stopped_by_watchpoint)
|
|
|
|
|
(record_full_beneath_to_async, tmp_to_stopped_by_watchpoint)
|
|
|
|
|
(tmp_to_async): Add 'ops' argument.
|
|
|
|
|
(record_full_stopped_by_watchpoint, record_full_async)
|
|
|
|
|
(record_full_can_async_p, record_full_is_async_p): Add 'ops'
|
|
|
|
|
argument.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_insert_breakpoint, m32r_remove_breakpoint)
|
|
|
|
|
(m32r_stopped_by_watchpoint): Add 'ops' argument.
|
|
|
|
|
* remote-mips.c (mips_stopped_by_watchpoint): Add 'ops' argument.
|
|
|
|
|
* remote.c (remote_stopped_by_watchpoint_p, remote_can_async_p)
|
|
|
|
|
(remote_is_async_p, remote_async): Add 'ops' argument.
|
|
|
|
|
(remote_stopped_data_address): Update.
|
|
|
|
|
* s390-nat.c (s390_stopped_by_watchpoint): Add 'ops' argument.
|
|
|
|
|
* target.c (update_current_target)
|
|
|
|
|
(find_default_can_async_p, find_default_is_async_p): Update.
|
|
|
|
|
(init_dummy_target): Update.
|
|
|
|
|
(debug_to_stopped_by_watchpoint): Add 'ops' argument.
|
|
|
|
|
* target.h (struct target_ops) <to_stopped_by_watchpoint,
|
|
|
|
|
to_can_async_p, to_is_async_p, to_async>: Add 'ops' argument.
|
|
|
|
|
(target_can_async_p, target_is_async_p, target_async)
|
|
|
|
|
(target_stopped_by_watchpoint): Update.
|
|
|
|
|
|
2014-02-18 06:57:03 +00:00
|
|
|
|
2014-02-19 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/16220
|
|
|
|
|
* gdbarch.sh: Remove startup_gdbarch.
|
|
|
|
|
* gdbarch.c: Regenerated.
|
|
|
|
|
* gdbarch.h: Likewise.
|
|
|
|
|
|
2014-02-17 19:03:23 +00:00
|
|
|
|
2014-02-17 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
|
|
* rl78-tdep.c (rl78_g10_register_name): New function.
|
|
|
|
|
(rl78_return_value): Add g10 support.
|
|
|
|
|
(rl78_gdbarch_init): Register rl78_g10_register_name for the
|
|
|
|
|
g10.
|
|
|
|
|
|
2014-02-17 04:57:43 +00:00
|
|
|
|
2014-02-17 Doug Evans <xdje42@gmail.com>
|
2014-02-17 04:41:29 +00:00
|
|
|
|
|
|
|
|
|
* Makefile.in (SUBDIR_GUILE_OBS): Resort alphabetically.
|
|
|
|
|
(SUBDIR_GUILE_SRCS): Ditto.
|
|
|
|
|
(scm-gsmob.o): Ditto.
|
|
|
|
|
|
2014-02-17 03:20:35 +00:00
|
|
|
|
2014-02-17 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (ILL_RPC): Declare defined function.
|
|
|
|
|
|
2014-02-07 06:35:09 +00:00
|
|
|
|
2014-02-17 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (gnu_read_inferior): Change 'copy_count' type to
|
|
|
|
|
mach_msg_type_number_t.
|
|
|
|
|
(gnu_write_inferior): Likewise.
|
|
|
|
|
|
Fix -Wformat warnings in gnu-nat.c
I've seen some -Wformat warnings when build native gdb for hurd.
../../../git/gdb/gnu-nat.c:2384:8: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'vm_address_t' [-Werror=format]
../../../git/gdb/gnu-nat.c:2394:8: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'vm_address_t' [-Werror=format]
../../../git/gdb/gnu-nat.c: In function 'steal_exc_port':
../../../git/gdb/gnu-nat.c:2898:5: error: format '%d' expects argument of type 'int', but argument 2 has type 'mach_port_t' [-Werror=format]
in usr/include/mach/port.h, we have:
typedef vm_offset_t mach_port_t;
and in usr/include/mach/machine/vm_types.h, we have:
typedef unsigned long vm_offset_t;
so this patch changes '%d' to '%lu' in format string for mach_port_t
variables.
Similarly, in usr/include/mach/std_types.h, we have,
typedef vm_offset_t vm_address_t;
this patch also changes '%x' to '%lx' in gnu_write_inferior.
gdb:
2014-02-17 Yao Qi <yao@codesourcery.com>
* gnu-nat.c (proc_get_exception_port): Use 'lu' insetad of 'd'
in format string.
(proc_steal_exc_port, make_proc, inf_set_pid): Likewise.
(inf_validate_procs, inf_signal): Likewise.
(S_exception_raise_request): Likewise.
(do_mach_notify_dead_name): Likewise.
(steal_exc_port): Likewise.
(gnu_read_inferior): Change 'copy_count''s type to
mach_msg_type_number_t.
(gnu_write_inferior): Likewise. Use 'lx' instead of 'x' in
format string.
2014-01-05 11:37:27 +00:00
|
|
|
|
2014-02-17 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (proc_get_exception_port): Use 'lu' insetad of 'd'
|
|
|
|
|
in format string.
|
|
|
|
|
(proc_steal_exc_port, make_proc, inf_set_pid): Likewise.
|
|
|
|
|
(inf_validate_procs, inf_signal): Likewise.
|
|
|
|
|
(S_exception_raise_request): Likewise.
|
|
|
|
|
(do_mach_notify_dead_name): Likewise.
|
|
|
|
|
(steal_exc_port): Likewise.
|
|
|
|
|
(gnu_read_inferior): Change 'copy_count''s type to
|
|
|
|
|
mach_msg_type_number_t.
|
|
|
|
|
(gnu_write_inferior): Likewise. Use 'lx' instead of 'x' in
|
|
|
|
|
format string.
|
|
|
|
|
|
2014-01-06 14:56:33 +00:00
|
|
|
|
2014-02-16 Thomas Schwinge <thomas@codesourcery.com>
|
|
|
|
|
|
2014-01-08 20:42:07 +00:00
|
|
|
|
* gnu-nat.c (struct inf): Change pending_execs member to a 1-bit
|
|
|
|
|
flag. Adjust all users; in particular...
|
|
|
|
|
(gnu_wait): ..., don't decrement its value in here...
|
|
|
|
|
(gnu_create_inferior): ..., and instead set the flag in here,
|
|
|
|
|
around the startup_inferior call, and call that one with
|
|
|
|
|
START_INFERIOR_TRAPS_EXPECTED.
|
|
|
|
|
|
Hurd: New RPC reply stub functions.
gdb/
* gnu-nat.c (ill_rpc): Remove function; replaced with this...
(ILL_RPC): ... new macro.
(do_mach_notify_no_senders, do_mach_notify_port_deleted)
(do_mach_notify_msg_accepted, do_mach_notify_port_destroyed)
(do_mach_notify_send_once, S_proc_setmsgport_reply)
(S_proc_getmsgport_reply, S_msg_sig_post_reply): Generate stub
functions with ILL_RPC macro.
(S_proc_pid2task_reply, S_proc_task2pid_reply)
(S_proc_task2proc_reply, S_proc_proc2task_reply)
(S_proc_pid2proc_reply, S_proc_getprocinfo_reply)
(S_proc_getprocargs_reply, S_proc_getprocenv_reply)
(S_proc_getloginid_reply, S_proc_getloginpids_reply)
(S_proc_getlogin_reply, S_proc_getsid_reply)
(S_proc_getsessionpgids_reply, S_proc_getsessionpids_reply)
(S_proc_getsidport_reply, S_proc_getpgrp_reply)
(S_proc_getpgrppids_reply, S_proc_get_tty_reply)
(S_proc_getnports_reply, S_proc_is_important_reply)
(S_proc_get_code_reply): New stub functions, generated with
ILL_RPC macro.
Based on a patch by David Michael <fedora.dm0@gmail.com>.
2014-01-06 15:28:00 +00:00
|
|
|
|
* gnu-nat.c (ill_rpc): Remove function; replaced with this...
|
|
|
|
|
(ILL_RPC): ... new macro.
|
|
|
|
|
(do_mach_notify_no_senders, do_mach_notify_port_deleted)
|
|
|
|
|
(do_mach_notify_msg_accepted, do_mach_notify_port_destroyed)
|
|
|
|
|
(do_mach_notify_send_once, S_proc_setmsgport_reply)
|
|
|
|
|
(S_proc_getmsgport_reply, S_msg_sig_post_reply): Generate stub
|
|
|
|
|
functions with ILL_RPC macro.
|
|
|
|
|
(S_proc_pid2task_reply, S_proc_task2pid_reply)
|
|
|
|
|
(S_proc_task2proc_reply, S_proc_proc2task_reply)
|
|
|
|
|
(S_proc_pid2proc_reply, S_proc_getprocinfo_reply)
|
|
|
|
|
(S_proc_getprocargs_reply, S_proc_getprocenv_reply)
|
|
|
|
|
(S_proc_getloginid_reply, S_proc_getloginpids_reply)
|
|
|
|
|
(S_proc_getlogin_reply, S_proc_getsid_reply)
|
|
|
|
|
(S_proc_getsessionpgids_reply, S_proc_getsessionpids_reply)
|
|
|
|
|
(S_proc_getsidport_reply, S_proc_getpgrp_reply)
|
|
|
|
|
(S_proc_getpgrppids_reply, S_proc_get_tty_reply)
|
|
|
|
|
(S_proc_getnports_reply, S_proc_is_important_reply)
|
|
|
|
|
(S_proc_get_code_reply): New stub functions, generated with
|
|
|
|
|
ILL_RPC macro.
|
|
|
|
|
|
2014-01-06 15:01:08 +00:00
|
|
|
|
* reply_mig_hack.awk: In phase 5, keep going if we have not yet
|
|
|
|
|
collected the type check structures.
|
|
|
|
|
|
2014-01-06 14:56:33 +00:00
|
|
|
|
* reply_mig_hack.awk: Don't expect to see the auto keyword.
|
|
|
|
|
|
2014-02-14 22:57:37 +00:00
|
|
|
|
2014-02-14 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* target.c (target_write_partial): Fix result type.
|
|
|
|
|
|
2014-02-14 10:29:11 +00:00
|
|
|
|
2014-02-14 Jose E. Marchesi <jose.marchesi@oracle.com>
|
|
|
|
|
|
|
|
|
|
* sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Register
|
|
|
|
|
the proper offsets to access fpregset_t.
|
|
|
|
|
|
2014-02-13 12:41:24 +00:00
|
|
|
|
2014-02-13 Sanimir Agovic <sanimir.agovic@intel.com>
|
|
|
|
|
|
|
|
|
|
* cris-tdep.c (cris_supply_gregset): Remove zerobuf.
|
|
|
|
|
(_initialize_cris_tdep): Remove cris_set_cmdlist, cris_show_cmdlist.
|
|
|
|
|
* h8300-tdep.c (setmachinelist): Remove global.
|
|
|
|
|
* hppa-tdep.c (hppa_sigtramp): Remove global.
|
|
|
|
|
* mipsnbsd-tdep.c (sigtramp_retcode_mipsel, sigtramp_retcode_mipseb
|
|
|
|
|
RETCODE_NWORDS, RETCODE_SIZE): Wrap code with #if 0.
|
|
|
|
|
* ravenscar-thread.c (update_target_observer): Remove global.
|
|
|
|
|
* rs6000-tdep.c (rs6000_gdbarch_init): Remove segment_regs.
|
|
|
|
|
|
2014-01-20 17:38:07 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/rsp-low.c: Update comments.
|
|
|
|
|
* common/rsp-low.h: Update comments.
|
|
|
|
|
|
2014-01-19 02:42:15 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/rsp-low.c (convert_ascii_to_int): Remove.
|
|
|
|
|
* common/rsp-low.h (convert_ascii_to_int): Don't declare.
|
|
|
|
|
|
2014-01-19 02:41:08 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/rsp-low.h (unhexify): Don't declare.
|
|
|
|
|
* common/rsp-low.c (unhexify): Remove.
|
|
|
|
|
|
2014-01-19 02:34:15 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/rsp-low.h (convert_int_to_ascii): Don't declare.
|
|
|
|
|
* common/rsp-low.c (convert_int_to_ascii): Remove.
|
|
|
|
|
|
2014-01-19 02:30:20 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/rsp-low.h (hexify): Don't declare.
|
|
|
|
|
* common/rsp-low.c (hexify): Remove.
|
|
|
|
|
|
2014-01-19 02:25:57 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/rsp-low.c (hexify): Never take strlen of argument.
|
|
|
|
|
|
2014-01-18 21:42:54 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/rsp-low.c (bin2hex): Never take strlen of argument.
|
|
|
|
|
* remote.c (extended_remote_run, remote_rcmd)
|
|
|
|
|
(remote_download_trace_state_variable, remote_save_trace_data)
|
|
|
|
|
(remote_set_trace_notes): Update.
|
|
|
|
|
* tracepoint.c (encode_source_string, tfile_write_status)
|
|
|
|
|
(tfile_write_uploaded_tsv): Update.
|
|
|
|
|
|
move some rsp bits into rsp-low.h
This moves various low-level remote serial protocol bits into
common/rsp-low.[ch].
This is as close to a pure move as possible. There are some
redundancies remaining but those will be dealt with in a subsequent
patch.
Note that the two variants of remote_escape_output disagreed on the
treatment of "*". On the theory that quoting cannot hurt but the
absence possibly can, I chose the gdbserver variant to be the
canonical one.
2014-02-12 Tom Tromey <tromey@redhat.com>
* tracepoint.c: Include rsp-low.h.
* remote.h (hex2bin, bin2hex, unpack_varlen_hex): Don't declare.
* remote.c: Include rsp-low.h.
(hexchars, ishex, unpack_varlen_hex, pack_nibble, pack_hex_byte)
(fromhex, hex2bin, tohex, bin2hex, remote_escape_output)
(remote_unescape_input): Move to common/rsp-low.c.
* common/rsp-low.h: New file.
* common/rsp-low.c: New file.
* Makefile.in (SFILES): Add common/rsp-low.c.
(HFILES_NO_SRCDIR): Add common/rsp-low.h.
(COMMON_OBS): Add rsp-low.o.
(rsp-low.o): New target.
2014-02-12 Tom Tromey <tromey@redhat.com>
* tracepoint.c: Include rsp-low.h.
* server.c: Include rsp-low.h.
* remote-utils.h (convert_ascii_to_int, convert_int_to_ascii)
(unhexify, hexify, remote_escape_output, unpack_varlen_hex): Don't
declare.
* remote-utils.c: Include rsp-low.h.
(fromhex, hexchars, ishex, unhexify, tohex, hexify)
(remote_escape_output, remote_unescape_input, unpack_varlen_hex)
(convert_int_to_ascii, convert_ascii_to_int): Move to
common/rsp-low.c.
* regcache.c: Include rsp-low.h.
* ax.c: Include rsp-low.h.
* Makefile.in (SFILES): Add common/rsp-low.c.
(OBS): Add rsp-low.o.
(rsp-low.o): New target.
2014-01-18 21:32:47 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c: Include rsp-low.h.
|
|
|
|
|
* remote.h (hex2bin, bin2hex, unpack_varlen_hex): Don't declare.
|
|
|
|
|
* remote.c: Include rsp-low.h.
|
|
|
|
|
(hexchars, ishex, unpack_varlen_hex, pack_nibble, pack_hex_byte)
|
|
|
|
|
(fromhex, hex2bin, tohex, bin2hex, remote_escape_output)
|
|
|
|
|
(remote_unescape_input): Move to common/rsp-low.c.
|
|
|
|
|
* common/rsp-low.h: New file.
|
|
|
|
|
* common/rsp-low.c: New file.
|
|
|
|
|
* Makefile.in (SFILES): Add common/rsp-low.c.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add common/rsp-low.h.
|
|
|
|
|
(COMMON_OBS): Add rsp-low.o.
|
|
|
|
|
(rsp-low.o): New target.
|
|
|
|
|
|
share "cell" code
The "cell"-based printing code, like phex, was duplicated in both gdb
and gdbserver. This patch merges the two implementations into a new
file in common/.
2014-02-12 Tom Tromey <tromey@redhat.com>
* utils.h: Include print-utils.h.
(host_address_to_string, plongest, pulongest, phex, phex_nz)
(int_string, core_addr_to_string, core_addr_to_string_nz)
(hex_string, hex_string_custom): Don't declare.
* utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
(plongest, thirty_two, phex, phex_nz, octal2str, hex_string)
(hex_string_custom, int_string, core_addr_to_string)
(core_addr_to_string_nz, host_address_to_string): Move to
common/print-utils.c.
* common/print-utils.h: New file.
* common/print-utils.c: New file
* Makefile.in (SFILES): Add common/print-utils.c.
(HFILES_NO_SRCDIR): Add common/print-utils.h.
(COMMON_OBS): Add print-utils.o.
(print-utils.o): New target.
2014-02-12 Tom Tromey <tromey@redhat.com>
* utils.h (pulongest, plongest, phex_nz): Don't declare.
Include print-utils.h.
* utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
(plongest, thirty_two, phex_nz): Remove.
* Makefile.in (SFILES): Add common/print-utils.c.
(OBS): Add print-utils.o.
(print-utils-ipa.o): New target.
(print-utils.o): New target.
(IPA_OBJS): Add print-utils-ipa.o.
2014-01-17 04:41:58 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* utils.h: Include print-utils.h.
|
|
|
|
|
(host_address_to_string, plongest, pulongest, phex, phex_nz)
|
|
|
|
|
(int_string, core_addr_to_string, core_addr_to_string_nz)
|
|
|
|
|
(hex_string, hex_string_custom): Don't declare.
|
|
|
|
|
* utils.c (NUMCELLS, CELLSIZE, get_cell, decimal2str, pulongest)
|
|
|
|
|
(plongest, thirty_two, phex, phex_nz, octal2str, hex_string)
|
|
|
|
|
(hex_string_custom, int_string, core_addr_to_string)
|
|
|
|
|
(core_addr_to_string_nz, host_address_to_string): Move to
|
|
|
|
|
common/print-utils.c.
|
|
|
|
|
* common/print-utils.h: New file.
|
|
|
|
|
* common/print-utils.c: New file
|
|
|
|
|
* Makefile.in (SFILES): Add common/print-utils.c.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add common/print-utils.h.
|
|
|
|
|
(COMMON_OBS): Add print-utils.o.
|
|
|
|
|
(print-utils.o): New target.
|
|
|
|
|
|
2014-02-12 16:20:02 +00:00
|
|
|
|
2014-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* nios2-tdep.c (nios2_stub_frame_base_address): Remove.
|
|
|
|
|
|
2014-02-12 13:59:48 +00:00
|
|
|
|
2014-02-12 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* sparc64obsd-tdep.c (sparc64obsd_init_abi): Call obsd_init_abi.
|
|
|
|
|
|
2014-02-12 13:51:19 +00:00
|
|
|
|
2014-02-12 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_xfer_partial): Return TARGET_XFER_EOF
|
|
|
|
|
if a PT_IO ptrace request returns sucessfully but indicates that 0
|
|
|
|
|
bytes were transferred.
|
|
|
|
|
|
Explicitly mark vtables as code space
Ports for Hardvard architectures will typically have in their
pointer_to_address hook a check for TYPE_CODE_SPACE in their
"pointer_to_address" gdbarch method. E.g., rl78's:
/* Is it a code address? */
if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC
|| TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD
|| TYPE_CODE_SPACE (TYPE_TARGET_TYPE (type))
|| TYPE_LENGTH (type) == 4)
return rl78_make_instruction_address (addr);
else
return rl78_make_data_address (addr);
The avr port is similar.
The vtable type is a struct type gdb itself bakes. Being neither a
function, nor a method, and absent explicit flagging as residing in
code space, ends up being considered data.
This patch marks the type as code when it is created, on the theory
that this is needed for all Hardvard architectures. I believe this
should make no difference on archs with flat address space. Testing
on x86-64 GNU/Linux shows no changes.
gdb/
2014-02-12 Pedro Alves <palves@redhat.com>
Kevin Buettner <kevinb@redhat.com>
* gnu-v3-abi.c (build_gdb_vtable_type): Return a type marked with
TYPE_INSTANCE_FLAG_CODE_SPACE.
Kevin Buettner, at
<https://sourceware.org/ml/gdb-patches/2014-02/msg00338.html>, writes,
re. rl78:
This patch, for rl78 using the default multilib, fixes 5 failures in
gdb.cp/casts.exp, 2 failures in gdb.cp/class2.exp, 115 failures in
gdb.mi/mi-var-rtti.exp, and 2 failures in gdb.python/py-value.exp.
It introduces 9 failures (regressions) in gdb.mi/mi-var-rtti.exp.
One of the regressions is:
FAIL: gdb.mi/mi-var-rtti.exp: list children of s.public in type_update_when_use_rtti
The relevant lines from the log file from a pre-patch test run are as
follows:
-var-list-children S.public
^done,numchild="1",children=[child={name="S.public.ptr",exp="ptr",numchild="1",type="Base *",thread-id="1"}],has_more="0"
(gdb)
PASS: gdb.mi/mi-var-rtti.exp: list children of s.public in type_update_when_use_rtti
Expecting: \^done,numchild=".*",children=\[child={name="S.public.ptr.public",exp="public",numchild="1"(,thread-id="[0-9]+")?}.*\],has_more="0"
Expecting: ^(-var-list-children S\.public\.ptr [
]+)?(\^done,numchild=".*",children=\[child={name="S.public.ptr.public",exp="public",numchild="1"(,thread-id="[0-9]+")?}.*\],has_more="0"[
]+[(]gdb[)]
[ ]*)
The same set of lines for the failing (post-patch) run are instead:
-var-list-children S.public
&"warning: can't find linker symbol for virtual table for `Base' value\n"
&"warning: found `typeinfo for __cxxabiv1::__vmi_class_type_info' instead\n"
&"warning: can't find linker symbol for virtual table for `Base' value\n"
&"warning: found `typeinfo for __cxxabiv1::__vmi_class_type_info' instead\n"
&"warning: can't find linker symbol for virtual table for `Base' value\n"
&"warning: found `typeinfo for __cxxabiv1::__vmi_class_type_info' instead\n"
^done,numchild="1",children=[child={name="S.public.ptr",exp="ptr",numchild="1",type="Base *",thread-id="1"}],has_more="0"
(gdb)
FAIL: gdb.mi/mi-var-rtti.exp: list children of s.public in type_update_when_use_rtti
Expecting: \^done,numchild=".*",children=\[child={name="S.public.ptr.public",exp="public",numchild="1"(,thread-id="[0-9]+")?}.*\],has_more="0"
Expecting: ^(-var-list-children S\.public\.ptr [
]+)?(\^done,numchild=".*",children=\[child={name="S.public.ptr.public",exp="public",numchild="1"(,thread-id="[0-9]+")?}.*\],has_more="0"[
]+[(]gdb[)]
[ ]*)
Note that the difference between these are the warnings regarding
linker symbols. Aside from the warnings, the result is the same.
I.e. gdb produces the correct answer despite the warnings. The
reason for the other 8 failures is the same: the test harness is not
expecting these warnings.
I spent some time (a while ago) looking at the reason for these
warnings. As I recall, we are now getting further along in the type
resolution process than we were without my patch. I.e. for the
example above, the code in question never got to the point where it
was looking for the specified linker symbol. So it seems to me that,
at worst, my patch exposes some other problem, but is not directly the
cause of the problem.
2014-02-12 13:30:21 +00:00
|
|
|
|
2014-02-12 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gnu-v3-abi.c (build_gdb_vtable_type): Return a type marked with
|
|
|
|
|
TYPE_INSTANCE_FLAG_CODE_SPACE.
|
|
|
|
|
|
2014-02-12 12:27:50 +00:00
|
|
|
|
2014-02-12 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* h8300-tdep.c (pseudo_from_raw_register)
|
|
|
|
|
(raw_from_pseudo_register): New functions.
|
|
|
|
|
(h8300_pseudo_register_read, h8300_pseudo_register_write): Use
|
|
|
|
|
them.
|
|
|
|
|
|
H8/300: Fix gdb<->sim register mapping.
Currently, printing the H8/300 ccr register when debugging with the
sim is broken:
(gdb) target sim
...
(gdb) load
...
(gdb) start
...
Breakpoint 1, foo (i=0x0 <foo>) at main.c:4
4 {
(gdb) info registers ccr
Register 13 is not available
'13' is the ccr pseudo-register. This pseudo-register provides an
8-bit view into the raw ccr register (regno=8).
The problem is that the H8/300 port does not define a
register_sim_regno gdbarch hook, and thus when fetching the raw
register off of the sim, we end up in legacy_register_sim_regno trying
to figure out the sim register number for the raw CCR register:
int
legacy_register_sim_regno (struct gdbarch *gdbarch, int regnum)
{
/* Only makes sense to supply raw registers. */
gdb_assert (regnum >= 0 && regnum < gdbarch_num_regs (gdbarch));
/* NOTE: cagney/2002-05-13: The old code did it this way and it is
suspected that some GDB/SIM combinations may rely on this
behavour. The default should be one2one_register_sim_regno
(below). */
if (gdbarch_register_name (gdbarch, regnum) != NULL
&& gdbarch_register_name (gdbarch, regnum)[0] != '\0')
return regnum;
else
return LEGACY_SIM_REGNO_IGNORE;
}
Because the raw ccr register does not have a name (so that it is
hidden from the user), that returns LEGACY_SIM_REGNO_IGNORE. That
means that we never actually read the value of the raw ccr register.
Before the <unavailable> support, this must have meant that ccr was
_always_ read as 0... At least, I'm not seeing how this ever worked.
The fix for that is adding a gdbarch_register_sim_regno hook that maps
all raw registers. Looking at sim/h8300/sim-main.h, I believe the
sim's register numbers are compatible with gdb's, so no actual
convertion is necessary.
gdb/
2014-02-12 Pedro Alves <palves@redhat.com>
* h8300-tdep.c (h8300_register_sim_regno): New function.
(h8300_gdbarch_init): Install h8300_register_sim_regno as
gdbarch_register_sim_regno hook.
2014-02-12 12:27:49 +00:00
|
|
|
|
2014-02-12 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* h8300-tdep.c (h8300_register_sim_regno): New function.
|
|
|
|
|
(h8300_gdbarch_init): Install h8300_register_sim_regno as
|
|
|
|
|
gdbarch_register_sim_regno hook.
|
|
|
|
|
|
2014-02-10 17:54:15 +00:00
|
|
|
|
2014-02-12 Sanimir Agovic <sanimir.agovic@intel.com>
|
|
|
|
|
|
|
|
|
|
* nios2-tdep.c (nios2_stub_frame_base): Remove global.
|
|
|
|
|
|
2014-02-10 18:00:01 +00:00
|
|
|
|
2014-02-12 Sanimir Agovic <sanimir.agovic@intel.com>
|
|
|
|
|
|
|
|
|
|
* tic6x-tdep.c (tic6x_gdbarch_init): Call frame_base_set_default.
|
|
|
|
|
|
2014-02-12 11:08:28 +00:00
|
|
|
|
2014-02-12 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* obsd-tdep.h (obsd_init_abi): New prototype.
|
|
|
|
|
* obsd-tdep.c: Define enum with OpenBSD signal numbers.
|
|
|
|
|
(obsd_gdb_signal_from_target, obsd_gdb_signal_to_target)
|
|
|
|
|
(obsd_init_abi): New functions.
|
|
|
|
|
* i386obsd-tdep.c: Include "obsd-tdep.h".
|
|
|
|
|
(i386obsd_init_abi): Call obsd_init_abi.
|
|
|
|
|
* amd64obsd-tdep.c: Include "obsd-tdep.h".
|
|
|
|
|
(amd64obsd_init_abi): Call obsd_init_abi.
|
|
|
|
|
* configure.tgt (i[34567]86-*-openbsd*, x86_64-*-openbsd*): Add
|
|
|
|
|
obsd-tdep.c to gdb_target_obs.
|
|
|
|
|
|
2014-02-11 12:27:20 +00:00
|
|
|
|
2014-02-11 Jose E. Marchesi <jose.marchesi@oracle.com>
|
|
|
|
|
|
|
|
|
|
* sparc64-tdep.c (sparc64_store_arguments): Do not align complex
|
|
|
|
|
double float arguments to 16-byte in the argument slots.
|
|
|
|
|
|
2014-02-11 07:04:38 +00:00
|
|
|
|
2014-02-11 Doug Evans <xdje42@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Don't crash if pkg-config is not found and guile
|
|
|
|
|
wasn't explicitly requested. Use AC_MSG_ERROR instead of AC_ERROR
|
|
|
|
|
in guile checks.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2014-01-30 00:23:14 +00:00
|
|
|
|
2014-02-11 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* aix-thread.c (aix_thread_xfer_partial): Update comments.
|
|
|
|
|
* auxv.c (procfs_xfer_auxv, memory_xfer_auxv): Likewise.
|
|
|
|
|
* bsd-uthread.c (bsd_uthread_xfer_partial): Likewise.
|
|
|
|
|
* gnu-nat.c (gnu_xfer_memory): Likewise.
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_xfer_partial): Likewise.
|
|
|
|
|
* rs6000-nat.c (rs6000_xfer_partial): Likewise.
|
|
|
|
|
* sparc-nat.c (sparc_xfer_wcookie): Likewise.
|
|
|
|
|
* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
|
|
|
|
|
|
Return target_xfer_status in to_xfer_partial
This patch does the conversion of to_xfer_partial from
LONGEST (*to_xfer_partial) (struct target_ops *ops,
enum target_object object, const char *annex,
gdb_byte *readbuf, const gdb_byte *writebuf,
ULONGEST offset, ULONGEST len);
to
enum target_xfer_status (*to_xfer_partial) (struct target_ops *ops,
enum target_object object, const char *annex,
gdb_byte *readbuf, const gdb_byte *writebuf,
ULONGEST offset, ULONGEST len, ULONGEST *xfered_len);
It changes to_xfer_partial return the transfer status and the transfered
length by *XFERED_LEN. Generally, the return status has three stats,
- TARGET_XFER_OK,
- TARGET_XFER_EOF,
- TARGET_XFER_E_XXXX,
See the comments to them in 'enum target_xfer_status'. Note that
Pedro suggested not name TARGET_XFER_DONE, as it is confusing,
compared with "TARGET_XFER_OK". We finally name it TARGET_XFER_EOF.
With this change, GDB core can handle unavailable data in a convenient
way.
The rationale behind this change was mentioned here
https://sourceware.org/ml/gdb-patches/2013-10/msg00761.html
Consider an object/value like this:
0 100 150 200 512
DDDDDDDDDDDxxxxxxxxxDDDDDD...DDIIIIIIIIIIII..III
where D is valid data, and xxx is unavailable data, and I is beyond
the end of the object (Invalid). Currently, if we start the
xfer at 0, requesting, say 512 bytes, we'll first get back 100 bytes.
The xfer machinery then retries fetching [100,512), and gets back
TARGET_XFER_E_UNAVAILABLE. That's sufficient when you're either
interested in either having the whole of the 512 bytes available,
or erroring out. But, in this scenario, we're interested in
the data at [150,512). The problem is that the last
TARGET_XFER_E_UNAVAILABLE gives us no indication where to
start the read next. We'd need something like:
get me [0,512) >>>
<<< here's [0,100), *xfered_len is 100, returns TARGET_XFER_OK
get me [100,512) >>> (**1)
<<< [100,150) is unavailable, *xfered_len is 50, return TARGET_XFER_E_UNAVAILABLE.
get me [150,512) >>>
<<< here's [150,200), *xfered_len is 50, return TARGET_XFER_OK.
get me [200,512) >>>
<<< no more data, return TARGET_XFER_EOF.
This naturally implies pushing down the decision of whether
to return TARGET_XFER_E_UNAVAILABLE or something else
down to the target. (Which kinds of leads back to tfile
itself reading from RO memory from file (though we could
export a function in exec.c for that that tfile delegates to,
instead of re-adding the old code).
Beside this change, we also add a macro TARGET_XFER_STATUS_ERROR_P to
check whether a status is an error or not, to stop using "status < 0".
This patch also eliminates the comparison between status and 0.
No target implementations to to_xfer_partial adapts this new
interface. The interface still behaves as before.
gdb:
2014-02-11 Yao Qi <yao@codesourcery.com>
* target.h (enum target_xfer_error): Rename to ...
(enum target_xfer_status): ... it. New. All users updated.
(enum target_xfer_status) <TARGET_XFER_OK>, <TARGET_XFER_EOF>:
New.
(TARGET_XFER_STATUS_ERROR_P): New macro.
(target_xfer_error_to_string): Remove declaration.
(target_xfer_status_to_string): Declare.
(target_xfer_partial_ftype): Adjust it.
(struct target_ops) <to_xfer_partial>: Return
target_xfer_status. Add argument xfered_len. Update
comments.
* target.c (target_xfer_error_to_string): Rename to ...
(target_xfer_status_to_string): ... it. New. All callers
updated.
(target_read_live_memory): Likewise. Call target_xfer_partial
instead of target_read.
(memory_xfer_live_readonly_partial): Return
target_xfer_status. Add argument xfered_len.
(raw_memory_xfer_partial): Likewise.
(memory_xfer_partial_1): Likewise.
(memory_xfer_partial): Likewise.
(target_xfer_partial): Likewise. Check *XFERED_LEN is set
properly. Update debug message.
(default_xfer_partial, current_xfer_partial): Likewise.
(target_write_partial): Likewise.
(target_read_partial): Likewise. All callers updated.
(read_whatever_is_readable): Likewise.
(target_write_with_progress): Likewise.
(target_read_alloc_1): Likewise.
* aix-thread.c (aix_thread_xfer_partial): Likewise.
* auxv.c (procfs_xfer_auxv): Likewise.
(ld_so_xfer_auxv, memory_xfer_auxv): Likewise.
* bfd-target.c (target_bfd_xfer_partial): Likewise.
* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
* bsd-uthread.c (bsd_uthread_xfer_partia): Likewise.
* corefile.c (read_memory): Adjust.
* corelow.c (core_xfer_partial): Likewise.
* ctf.c (ctf_xfer_partial): Likewise.
* darwin-nat.c (darwin_read_dyld_info): Likewise. All callers
updated.
(darwin_xfer_partial): Likewise.
* exec.c (section_table_xfer_memory_partial): Likewise. All
callers updated.
(exec_xfer_partial): Likewise.
* exec.h (section_table_xfer_memory_partial): Update
declaration.
* gnu-nat.c (gnu_xfer_memory): Likewise. Assert 'res' is not
negative.
(gnu_xfer_partial): Likewise.
* ia64-hpux-nat.c (ia64_hpux_xfer_memory_no_bs): Likewise.
(ia64_hpux_xfer_memory, ia64_hpux_xfer_uregs): Likewise.
(ia64_hpux_xfer_solib_got): Likewise.
* inf-ptrace.c (inf_ptrace_xfer_partial): Likewise. Change
type of 'partial_len' to ULONGEST.
* inf-ttrace.c (inf_ttrace_xfer_partial): Likewise.
* linux-nat.c (linux_xfer_siginfo ): Likewise.
(linux_nat_xfer_partial): Likewise.
(linux_proc_xfer_partial, linux_xfer_partial): Likewise.
(linux_proc_xfer_spu, linux_nat_xfer_osdata): Likewise.
* monitor.c (monitor_xfer_memory): Likewise.
(monitor_xfer_partial): Likewise.
* procfs.c (procfs_xfer_partial): Likewise.
* record-btrace.c (record_btrace_xfer_partial): Likewise.
* record-full.c (record_full_xfer_partial): Likewise.
(record_full_core_xfer_partial): Likewise.
* remote-sim.c (gdbsim_xfer_memory): Likewise.
(gdbsim_xfer_partial): Likewise.
* remote.c (remote_write_bytes_aux): Likewise. All callers
updated.
(remote_write_bytes, remote_read_bytes): Likewise. All
callers updated.
(remote_flash_erase): Likewise. All callers updated.
(remote_write_qxfer): Likewise. All callers updated.
(remote_read_qxfer): Likewise. All callers updated.
(remote_xfer_partial): Likewise.
* rs6000-nat.c (rs6000_xfer_partial): Likewise.
(rs6000_xfer_shared_libraries): Likewise.
* sol-thread.c (sol_thread_xfer_partial): Likewise.
(sol_thread_xfer_partial): Likewise.
* sparc-nat.c (sparc_xfer_wcookie): Likewise.
(sparc_xfer_partial): Likewise.
* spu-linux-nat.c (spu_proc_xfer_spu): Likewise. All callers
updated.
(spu_xfer_partial): Likewise.
* spu-multiarch.c (spu_xfer_partial): Likewise.
* tracepoint.c (tfile_xfer_partial): Likewise.
* windows-nat.c (windows_xfer_memory): Likewise.
(windows_xfer_shared_libraries): Likewise.
(windows_xfer_partial): Likewise.
* valprint.c: Replace 'target_xfer_error' with
'target_xfer_status' in comments.
2014-01-27 12:35:33 +00:00
|
|
|
|
2014-02-11 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* target.h (enum target_xfer_error): Rename to ...
|
|
|
|
|
(enum target_xfer_status): ... it. New. All users updated.
|
|
|
|
|
(enum target_xfer_status) <TARGET_XFER_OK>, <TARGET_XFER_EOF>:
|
|
|
|
|
New.
|
|
|
|
|
(TARGET_XFER_STATUS_ERROR_P): New macro.
|
|
|
|
|
(target_xfer_error_to_string): Remove declaration.
|
|
|
|
|
(target_xfer_status_to_string): Declare.
|
|
|
|
|
(target_xfer_partial_ftype): Adjust it.
|
|
|
|
|
(struct target_ops) <to_xfer_partial>: Return
|
|
|
|
|
target_xfer_status. Add argument xfered_len. Update
|
|
|
|
|
comments.
|
|
|
|
|
* target.c (target_xfer_error_to_string): Rename to ...
|
|
|
|
|
(target_xfer_status_to_string): ... it. New. All callers
|
|
|
|
|
updated.
|
|
|
|
|
(target_read_live_memory): Likewise. Call target_xfer_partial
|
|
|
|
|
instead of target_read.
|
|
|
|
|
(memory_xfer_live_readonly_partial): Return
|
|
|
|
|
target_xfer_status. Add argument xfered_len.
|
|
|
|
|
(raw_memory_xfer_partial): Likewise.
|
|
|
|
|
(memory_xfer_partial_1): Likewise.
|
|
|
|
|
(memory_xfer_partial): Likewise.
|
|
|
|
|
(target_xfer_partial): Likewise. Check *XFERED_LEN is set
|
|
|
|
|
properly. Update debug message.
|
|
|
|
|
(default_xfer_partial, current_xfer_partial): Likewise.
|
|
|
|
|
(target_write_partial): Likewise.
|
|
|
|
|
(target_read_partial): Likewise. All callers updated.
|
|
|
|
|
(read_whatever_is_readable): Likewise.
|
|
|
|
|
(target_write_with_progress): Likewise.
|
|
|
|
|
(target_read_alloc_1): Likewise.
|
|
|
|
|
|
|
|
|
|
* aix-thread.c (aix_thread_xfer_partial): Likewise.
|
|
|
|
|
* auxv.c (procfs_xfer_auxv): Likewise.
|
|
|
|
|
(ld_so_xfer_auxv, memory_xfer_auxv): Likewise.
|
|
|
|
|
* bfd-target.c (target_bfd_xfer_partial): Likewise.
|
|
|
|
|
* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
|
|
|
|
|
* bsd-uthread.c (bsd_uthread_xfer_partia): Likewise.
|
|
|
|
|
* corefile.c (read_memory): Adjust.
|
|
|
|
|
* corelow.c (core_xfer_partial): Likewise.
|
|
|
|
|
* ctf.c (ctf_xfer_partial): Likewise.
|
|
|
|
|
* darwin-nat.c (darwin_read_dyld_info): Likewise. All callers
|
|
|
|
|
updated.
|
|
|
|
|
(darwin_xfer_partial): Likewise.
|
|
|
|
|
* exec.c (section_table_xfer_memory_partial): Likewise. All
|
|
|
|
|
callers updated.
|
|
|
|
|
(exec_xfer_partial): Likewise.
|
|
|
|
|
* exec.h (section_table_xfer_memory_partial): Update
|
|
|
|
|
declaration.
|
|
|
|
|
* gnu-nat.c (gnu_xfer_memory): Likewise. Assert 'res' is not
|
|
|
|
|
negative.
|
|
|
|
|
(gnu_xfer_partial): Likewise.
|
|
|
|
|
* ia64-hpux-nat.c (ia64_hpux_xfer_memory_no_bs): Likewise.
|
|
|
|
|
(ia64_hpux_xfer_memory, ia64_hpux_xfer_uregs): Likewise.
|
|
|
|
|
(ia64_hpux_xfer_solib_got): Likewise.
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_xfer_partial): Likewise. Change
|
|
|
|
|
type of 'partial_len' to ULONGEST.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_xfer_partial): Likewise.
|
|
|
|
|
* linux-nat.c (linux_xfer_siginfo ): Likewise.
|
|
|
|
|
(linux_nat_xfer_partial): Likewise.
|
|
|
|
|
(linux_proc_xfer_partial, linux_xfer_partial): Likewise.
|
|
|
|
|
(linux_proc_xfer_spu, linux_nat_xfer_osdata): Likewise.
|
|
|
|
|
* monitor.c (monitor_xfer_memory): Likewise.
|
|
|
|
|
(monitor_xfer_partial): Likewise.
|
|
|
|
|
* procfs.c (procfs_xfer_partial): Likewise.
|
|
|
|
|
* record-btrace.c (record_btrace_xfer_partial): Likewise.
|
|
|
|
|
* record-full.c (record_full_xfer_partial): Likewise.
|
|
|
|
|
(record_full_core_xfer_partial): Likewise.
|
|
|
|
|
* remote-sim.c (gdbsim_xfer_memory): Likewise.
|
|
|
|
|
(gdbsim_xfer_partial): Likewise.
|
|
|
|
|
* remote.c (remote_write_bytes_aux): Likewise. All callers
|
|
|
|
|
updated.
|
|
|
|
|
(remote_write_bytes, remote_read_bytes): Likewise. All
|
|
|
|
|
callers updated.
|
|
|
|
|
(remote_flash_erase): Likewise. All callers updated.
|
|
|
|
|
(remote_write_qxfer): Likewise. All callers updated.
|
|
|
|
|
(remote_read_qxfer): Likewise. All callers updated.
|
|
|
|
|
(remote_xfer_partial): Likewise.
|
|
|
|
|
* rs6000-nat.c (rs6000_xfer_partial): Likewise.
|
|
|
|
|
(rs6000_xfer_shared_libraries): Likewise.
|
|
|
|
|
* sol-thread.c (sol_thread_xfer_partial): Likewise.
|
|
|
|
|
(sol_thread_xfer_partial): Likewise.
|
|
|
|
|
* sparc-nat.c (sparc_xfer_wcookie): Likewise.
|
|
|
|
|
(sparc_xfer_partial): Likewise.
|
|
|
|
|
* spu-linux-nat.c (spu_proc_xfer_spu): Likewise. All callers
|
|
|
|
|
updated.
|
|
|
|
|
(spu_xfer_partial): Likewise.
|
|
|
|
|
* spu-multiarch.c (spu_xfer_partial): Likewise.
|
|
|
|
|
* tracepoint.c (tfile_xfer_partial): Likewise.
|
|
|
|
|
* windows-nat.c (windows_xfer_memory): Likewise.
|
|
|
|
|
(windows_xfer_shared_libraries): Likewise.
|
|
|
|
|
(windows_xfer_partial): Likewise.
|
|
|
|
|
* valprint.c: Replace 'target_xfer_error' with
|
|
|
|
|
'target_xfer_status' in comments.
|
|
|
|
|
|
2014-02-11 03:59:14 +00:00
|
|
|
|
2014-02-11 Simon Marchi <simon.marchi@ericsson.com> (tiny patch)
|
|
|
|
|
|
|
|
|
|
Checked in by Joel Brobecker <brobecker@adacore.com>.
|
|
|
|
|
* mi/mi-main.c (mi_cmd_data_write_memory_bytes): Fix comment.
|
|
|
|
|
|
2014-02-11 03:31:26 +00:00
|
|
|
|
2014-02-11 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* symfile-debug.c (debug_qf_expand_symtabs_matching): Reformat
|
|
|
|
|
function parameters.
|
|
|
|
|
|
2013-12-16 17:45:45 +00:00
|
|
|
|
2014-02-10 Will Newton <will.newton@linaro.org>
|
|
|
|
|
|
|
|
|
|
* elfread.c (elf_rel_plt_read): Look for a .got section if
|
|
|
|
|
looking up .got.plt fails.
|
|
|
|
|
(elf_gnu_ifunc_resolve_by_got): Call gdbarch_addr_bits_remove
|
|
|
|
|
on address passed to elf_gnu_ifunc_record_cache.
|
|
|
|
|
(elf_gnu_ifunc_resolve_addr): Likewise.
|
|
|
|
|
(elf_gnu_ifunc_resolver_return_stop): Likewise.
|
|
|
|
|
|
2014-02-10 15:09:23 +00:00
|
|
|
|
2014-02-10 Jose E. Marchesi <jose.marchesi@oracle.com>
|
|
|
|
|
|
|
|
|
|
* sparc-tdep.c (sparc_in_function_epilogue_p): New function.
|
|
|
|
|
(X_RETTURN): New macro.
|
|
|
|
|
* sparc-tdep.h: sparc_in_function_epilogue_p prototype.
|
|
|
|
|
|
|
|
|
|
* sparc64-tdep.c (sparc64_init_abi): Hook
|
|
|
|
|
sparc_in_function_epilogue_p.
|
|
|
|
|
|
2014-02-10 14:24:32 +00:00
|
|
|
|
2014-02-10 Gary Benson <gbenson@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile-debug.c (debug_qf_expand_symtabs_matching):
|
|
|
|
|
Rename name_matcher to symbol_matcher.
|
|
|
|
|
|
2014-02-10 14:07:44 +00:00
|
|
|
|
2014-02-10 Gary Benson <gbenson@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile-debug.c (debug_qf_expand_symtabs_matching):
|
|
|
|
|
Use expand_symtabs_file_matcher_ftype and
|
|
|
|
|
expand_symtabs_symbol_matcher_ftype.
|
|
|
|
|
|
2014-02-10 13:49:27 +00:00
|
|
|
|
2014-02-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (struct cache_entry, HASH_SIZE): Move definition up.
|
|
|
|
|
(struct ada_symbol_cache): New.
|
|
|
|
|
(ada_free_symbol_cache): Forward declare.
|
|
|
|
|
(struct ada_pspace_data): New.
|
|
|
|
|
(ada_pspace_data_handle): New static global.
|
|
|
|
|
(get_ada_pspace_data, ada_pspace_data_cleanup)
|
|
|
|
|
(ada_init_symbol_cache, ada_free_symbol_cache): New functions.
|
|
|
|
|
(cache_space, cache): Delete, now folded inside struct
|
|
|
|
|
ada_pspace_data.
|
|
|
|
|
(ada_get_symbol_cache): New function.
|
|
|
|
|
(ada_clear_symbol_cache, find_entry, cache_symbol): Adjust
|
|
|
|
|
implementation.
|
|
|
|
|
(_initialize_ada_language): Remove initialization of cache_space.
|
|
|
|
|
Move call to observer_attach_inferior_exit up, grouping it
|
|
|
|
|
with the other observer registrations inside this function.
|
|
|
|
|
Rename command to be more general. Add call to
|
|
|
|
|
register_program_space_data_with_cleanup.
|
|
|
|
|
|
2014-01-31 13:56:12 +00:00
|
|
|
|
2014-02-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-tasks.c (ada_tasks_new_objfile_observer): Renames
|
|
|
|
|
ada_new_objfile_observer.
|
|
|
|
|
(ada_tasks_normal_stop_observer): Renames ada_normal_stop_observer.
|
|
|
|
|
(_initialize_tasks): Update uses of ada_new_objfile_observer
|
|
|
|
|
and ada_tasks_normal_stop_observer.
|
|
|
|
|
|
2014-02-07 04:44:20 +00:00
|
|
|
|
2014-02-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (ada_evaluate_subexp): Set the type of the value
|
|
|
|
|
returned by the 'Length attribute to integer.
|
|
|
|
|
|
2014-02-10 08:52:15 +00:00
|
|
|
|
2014-02-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (_initialize_ada_language): Initialize
|
|
|
|
|
cache_space obstack.
|
|
|
|
|
|
2014-02-10 05:03:30 +00:00
|
|
|
|
2014-02-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (HASH_SIZE): New macro.
|
|
|
|
|
(struct cache_entry): New type.
|
|
|
|
|
(cache_space, cache): New static globals.
|
|
|
|
|
(ada_clear_symbol_cache, find_entry): New functions.
|
|
|
|
|
(lookup_cached_symbol, cache_symbol): Implement.
|
|
|
|
|
(ada_new_objfile_observer, ada_free_objfile_observer): New.
|
|
|
|
|
(_initialize_ada_language): Attach ada_new_objfile_observer
|
|
|
|
|
and ada_free_objfile_observer.
|
|
|
|
|
|
2014-02-10 04:53:18 +00:00
|
|
|
|
2014-02-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (ada_add_block_symbols, add_defn_to_vec)
|
|
|
|
|
(lookup_cached_symbol, ada_add_local_symbols): Add "const" to
|
|
|
|
|
struct block * parameter.
|
|
|
|
|
(ada_lookup_symbol_list_worker): Constify local variable "block".
|
|
|
|
|
Remove cast which is no longer necessary.
|
|
|
|
|
|
Add Guile as an extension language.
* NEWS: Mention Guile scripting.
* Makefile.in (SUBDIR_GUILE_OBS): New variable.
(SUBDIR_GUILE_SRCS, SUBDIR_GUILE_DEPS): New variables
(SUBDIR_GUILE_LDFLAGS, SUBDIR_GUILE_CFLAGS): New variables.
(INTERNAL_CPPFLAGS): Add GUILE_CPPFLAGS.
(CLIBS): Add GUILE_LIBS.
(install-guile): New rule.
(guile.o): New rule.
(scm-arch.o, scm-auto-load.o, scm-block.o): New rules.
(scm-breakpoint.o, scm-disasm.o, scm-exception.o): New rules.
(scm-frame.o, scm-iterator.o, scm-lazy-string.o): New rules.
(scm-math.o, scm-objfile.o, scm-ports.o): New rules.
(scm-pretty-print.o, scm-safe-call.o, scm-gsmob.o): New rules.
(scm-string.o, scm-symbol.o, scm-symtab.o): New rules.
(scm-type.o, scm-utils.o, scm-value.o): New rules.
* configure.ac: New option --with-guile.
* configure: Regenerate.
* config.in: Regenerate.
* auto-load.c: Remove #include "python/python.h". Add #include
"gdb/section-scripts.h".
(source_section_scripts): Handle Guile scripts.
(_initialize_auto_load): Add name of Guile objfile script to
scripts-directory help text.
* breakpoint.c (condition_command): Tweak comment to include Scheme.
* breakpoint.h (gdbscm_breakpoint_object): Add forward decl.
(struct breakpoint): New member scm_bp_object.
* defs.h (enum command_control_type): New value guile_control.
* cli/cli-cmds.c: Remove #include "python/python.h". Add #include
"extension.h".
(show_user): Update comment.
(_initialize_cli_cmds): Update help text for "show user". Update help
text for max-user-call-depth.
* cli/cli-script.c: Remove #include "python/python.h". Add #include
"extension.h".
(multi_line_command_p): Add guile_control.
(print_command_lines): Handle guile_control.
(execute_control_command, recurse_read_control_structure): Ditto.
(process_next_line): Recognize "guile" commands.
* disasm.c (gdb_disassemble_info): Make non-static.
* disasm.h: #include "dis-asm.h".
(struct gdbarch): Add forward decl.
(gdb_disassemble_info): Declare.
* extension.c: #include "guile/guile.h".
(extension_languages): Add guile.
(get_ext_lang_defn): Handle EXT_LANG_GDB.
* extension.h (enum extension_language): New value EXT_LANG_GUILE.
* gdbtypes.c (get_unsigned_type_max): New function.
(get_signed_type_minmax): New function.
* gdbtypes.h (get_unsigned_type_max): Declare.
(get_signed_type_minmax): Declare.
* guile/README: New file.
* guile/guile-internal.h: New file.
* guile/guile.c: New file.
* guile/guile.h: New file.
* guile/scm-arch.c: New file.
* guile/scm-auto-load.c: New file.
* guile/scm-block.c: New file.
* guile/scm-breakpoint.c: New file.
* guile/scm-disasm.c: New file.
* guile/scm-exception.c: New file.
* guile/scm-frame.c: New file.
* guile/scm-gsmob.c: New file.
* guile/scm-iterator.c: New file.
* guile/scm-lazy-string.c: New file.
* guile/scm-math.c: New file.
* guile/scm-objfile.c: New file.
* guile/scm-ports.c: New file.
* guile/scm-pretty-print.c: New file.
* guile/scm-safe-call.c: New file.
* guile/scm-string.c: New file.
* guile/scm-symbol.c: New file.
* guile/scm-symtab.c: New file.
* guile/scm-type.c: New file.
* guile/scm-utils.c: New file.
* guile/scm-value.c: New file.
* guile/lib/gdb.scm: New file.
* guile/lib/gdb/boot.scm: New file.
* guile/lib/gdb/experimental.scm: New file.
* guile/lib/gdb/init.scm: New file.
* guile/lib/gdb/iterator.scm: New file.
* guile/lib/gdb/printing.scm: New file.
* guile/lib/gdb/types.scm: New file.
* data-directory/Makefile.in (GUILE_SRCDIR): New variable.
(VPATH): Add $(GUILE_SRCDIR).
(GUILE_DIR): New variable.
(GUILE_INSTALL_DIR, GUILE_FILES): New variables.
(all): Add stamp-guile dependency.
(stamp-guile): New rule.
(clean-guile, install-guile, uninstall-guile): New rules.
(install-only): Add install-guile dependency.
(uninstall): Add uninstall-guile dependency.
(clean): Add clean-guile dependency.
doc/
* Makefile.in (GDB_DOC_FILES): Add guile.texi.
* gdb.texinfo (Auto-loading): Add set/show auto-load guile-scripts.
(Extending GDB): New menu entries Guile, Multiple Extension Languages.
(Guile docs): Include guile.texi.
(objfile-gdbdotext file): Add objfile-gdb.scm.
(dotdebug_gdb_scripts section): Mention Guile scripts.
(Multiple Extension Languages): New node.
* guile.texi: New file.
testsuite/
* configure.ac (AC_OUTPUT): Add gdb.guile.
* configure: Regenerate.
* lib/gdb-guile.exp: New file.
* lib/gdb.exp (get_target_charset): New function.
* gdb.base/help.exp: Update expected output from "apropos apropos".
* gdb.guile/Makefile.in: New file.
* gdb.guile/guile.exp: New file.
* gdb.guile/scm-arch.c: New file.
* gdb.guile/scm-arch.exp: New file.
* gdb.guile/scm-block.c: New file.
* gdb.guile/scm-block.exp: New file.
* gdb.guile/scm-breakpoint.c: New file.
* gdb.guile/scm-breakpoint.exp: New file.
* gdb.guile/scm-disasm.c: New file.
* gdb.guile/scm-disasm.exp: New file.
* gdb.guile/scm-equal.c: New file.
* gdb.guile/scm-equal.exp: New file.
* gdb.guile/scm-error.exp: New file.
* gdb.guile/scm-error.scm: New file.
* gdb.guile/scm-frame-args.c: New file.
* gdb.guile/scm-frame-args.exp: New file.
* gdb.guile/scm-frame-args.scm: New file.
* gdb.guile/scm-frame-inline.c: New file.
* gdb.guile/scm-frame-inline.exp: New file.
* gdb.guile/scm-frame.c: New file.
* gdb.guile/scm-frame.exp: New file.
* gdb.guile/scm-generics.exp: New file.
* gdb.guile/scm-gsmob.exp: New file.
* gdb.guile/scm-iterator.c: New file.
* gdb.guile/scm-iterator.exp: New file.
* gdb.guile/scm-math.c: New file.
* gdb.guile/scm-math.exp: New file.
* gdb.guile/scm-objfile-script-gdb.in: New file.
* gdb.guile/scm-objfile-script.c: New file.
* gdb.guile/scm-objfile-script.exp: New file.
* gdb.guile/scm-objfile.c: New file.
* gdb.guile/scm-objfile.exp: New file.
* gdb.guile/scm-ports.exp: New file.
* gdb.guile/scm-pretty-print.c: New file.
* gdb.guile/scm-pretty-print.exp: New file.
* gdb.guile/scm-pretty-print.scm: New file.
* gdb.guile/scm-section-script.c: New file.
* gdb.guile/scm-section-script.exp: New file.
* gdb.guile/scm-section-script.scm: New file.
* gdb.guile/scm-symbol.c: New file.
* gdb.guile/scm-symbol.exp: New file.
* gdb.guile/scm-symtab-2.c: New file.
* gdb.guile/scm-symtab.c: New file.
* gdb.guile/scm-symtab.exp: New file.
* gdb.guile/scm-type.c: New file.
* gdb.guile/scm-type.exp: New file.
* gdb.guile/scm-value-cc.cc: New file.
* gdb.guile/scm-value-cc.exp: New file.
* gdb.guile/scm-value.c: New file.
* gdb.guile/scm-value.exp: New file.
* gdb.guile/source2.scm: New file.
* gdb.guile/types-module.cc: New file.
* gdb.guile/types-module.exp: New file.
2014-02-10 03:40:01 +00:00
|
|
|
|
2014-02-10 Doug Evans <xdje42@gmail.com>
|
|
|
|
|
|
|
|
|
|
Add Guile as an extension language.
|
|
|
|
|
* NEWS: Mention Guile scripting.
|
|
|
|
|
* Makefile.in (SUBDIR_GUILE_OBS): New variable.
|
|
|
|
|
(SUBDIR_GUILE_SRCS, SUBDIR_GUILE_DEPS): New variables
|
|
|
|
|
(SUBDIR_GUILE_LDFLAGS, SUBDIR_GUILE_CFLAGS): New variables.
|
|
|
|
|
(INTERNAL_CPPFLAGS): Add GUILE_CPPFLAGS.
|
|
|
|
|
(CLIBS): Add GUILE_LIBS.
|
|
|
|
|
(install-guile): New rule.
|
|
|
|
|
(guile.o): New rule.
|
|
|
|
|
(scm-arch.o, scm-auto-load.o, scm-block.o): New rules.
|
|
|
|
|
(scm-breakpoint.o, scm-disasm.o, scm-exception.o): New rules.
|
|
|
|
|
(scm-frame.o, scm-iterator.o, scm-lazy-string.o): New rules.
|
|
|
|
|
(scm-math.o, scm-objfile.o, scm-ports.o): New rules.
|
|
|
|
|
(scm-pretty-print.o, scm-safe-call.o, scm-gsmob.o): New rules.
|
|
|
|
|
(scm-string.o, scm-symbol.o, scm-symtab.o): New rules.
|
|
|
|
|
(scm-type.o, scm-utils.o, scm-value.o): New rules.
|
|
|
|
|
* configure.ac: New option --with-guile.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* auto-load.c: Remove #include "python/python.h". Add #include
|
|
|
|
|
"gdb/section-scripts.h".
|
|
|
|
|
(source_section_scripts): Handle Guile scripts.
|
|
|
|
|
(_initialize_auto_load): Add name of Guile objfile script to
|
|
|
|
|
scripts-directory help text.
|
|
|
|
|
* breakpoint.c (condition_command): Tweak comment to include Scheme.
|
|
|
|
|
* breakpoint.h (gdbscm_breakpoint_object): Add forward decl.
|
|
|
|
|
(struct breakpoint): New member scm_bp_object.
|
|
|
|
|
* defs.h (enum command_control_type): New value guile_control.
|
|
|
|
|
* cli/cli-cmds.c: Remove #include "python/python.h". Add #include
|
|
|
|
|
"extension.h".
|
|
|
|
|
(show_user): Update comment.
|
|
|
|
|
(_initialize_cli_cmds): Update help text for "show user". Update help
|
|
|
|
|
text for max-user-call-depth.
|
|
|
|
|
* cli/cli-script.c: Remove #include "python/python.h". Add #include
|
|
|
|
|
"extension.h".
|
|
|
|
|
(multi_line_command_p): Add guile_control.
|
|
|
|
|
(print_command_lines): Handle guile_control.
|
|
|
|
|
(execute_control_command, recurse_read_control_structure): Ditto.
|
|
|
|
|
(process_next_line): Recognize "guile" commands.
|
|
|
|
|
* disasm.c (gdb_disassemble_info): Make non-static.
|
|
|
|
|
* disasm.h: #include "dis-asm.h".
|
|
|
|
|
(struct gdbarch): Add forward decl.
|
|
|
|
|
(gdb_disassemble_info): Declare.
|
|
|
|
|
* extension.c: #include "guile/guile.h".
|
|
|
|
|
(extension_languages): Add guile.
|
|
|
|
|
(get_ext_lang_defn): Handle EXT_LANG_GDB.
|
|
|
|
|
* extension.h (enum extension_language): New value EXT_LANG_GUILE.
|
|
|
|
|
* gdbtypes.c (get_unsigned_type_max): New function.
|
|
|
|
|
(get_signed_type_minmax): New function.
|
|
|
|
|
* gdbtypes.h (get_unsigned_type_max): Declare.
|
|
|
|
|
(get_signed_type_minmax): Declare.
|
|
|
|
|
* guile/README: New file.
|
|
|
|
|
* guile/guile-internal.h: New file.
|
|
|
|
|
* guile/guile.c: New file.
|
|
|
|
|
* guile/guile.h: New file.
|
|
|
|
|
* guile/scm-arch.c: New file.
|
|
|
|
|
* guile/scm-auto-load.c: New file.
|
|
|
|
|
* guile/scm-block.c: New file.
|
|
|
|
|
* guile/scm-breakpoint.c: New file.
|
|
|
|
|
* guile/scm-disasm.c: New file.
|
|
|
|
|
* guile/scm-exception.c: New file.
|
|
|
|
|
* guile/scm-frame.c: New file.
|
|
|
|
|
* guile/scm-gsmob.c: New file.
|
|
|
|
|
* guile/scm-iterator.c: New file.
|
|
|
|
|
* guile/scm-lazy-string.c: New file.
|
|
|
|
|
* guile/scm-math.c: New file.
|
|
|
|
|
* guile/scm-objfile.c: New file.
|
|
|
|
|
* guile/scm-ports.c: New file.
|
|
|
|
|
* guile/scm-pretty-print.c: New file.
|
|
|
|
|
* guile/scm-safe-call.c: New file.
|
|
|
|
|
* guile/scm-string.c: New file.
|
|
|
|
|
* guile/scm-symbol.c: New file.
|
|
|
|
|
* guile/scm-symtab.c: New file.
|
|
|
|
|
* guile/scm-type.c: New file.
|
|
|
|
|
* guile/scm-utils.c: New file.
|
|
|
|
|
* guile/scm-value.c: New file.
|
|
|
|
|
* guile/lib/gdb.scm: New file.
|
|
|
|
|
* guile/lib/gdb/boot.scm: New file.
|
|
|
|
|
* guile/lib/gdb/experimental.scm: New file.
|
|
|
|
|
* guile/lib/gdb/init.scm: New file.
|
|
|
|
|
* guile/lib/gdb/iterator.scm: New file.
|
|
|
|
|
* guile/lib/gdb/printing.scm: New file.
|
|
|
|
|
* guile/lib/gdb/types.scm: New file.
|
|
|
|
|
* data-directory/Makefile.in (GUILE_SRCDIR): New variable.
|
|
|
|
|
(VPATH): Add $(GUILE_SRCDIR).
|
|
|
|
|
(GUILE_DIR): New variable.
|
|
|
|
|
(GUILE_INSTALL_DIR, GUILE_FILES): New variables.
|
|
|
|
|
(all): Add stamp-guile dependency.
|
|
|
|
|
(stamp-guile): New rule.
|
|
|
|
|
(clean-guile, install-guile, uninstall-guile): New rules.
|
|
|
|
|
(install-only): Add install-guile dependency.
|
|
|
|
|
(uninstall): Add uninstall-guile dependency.
|
|
|
|
|
(clean): Add clean-guile dependency.
|
|
|
|
|
|
2014-02-10 01:39:08 +00:00
|
|
|
|
2014-02-09 Doug Evans <xdje42@gmail.com>
|
|
|
|
|
|
|
|
|
|
Revert this patch (which I approved, mea culpa).
|
|
|
|
|
|
|
|
|
|
2014-02-08 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (all-lib): Remove.
|
|
|
|
|
($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
|
|
|
|
|
|
2014-02-09 17:47:40 +00:00
|
|
|
|
2014-02-09 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix Python stack corruption.
|
|
|
|
|
* python/py-linetable.c (ltpy_get_pcs_for_line, ltpy_has_line): Use
|
|
|
|
|
gdb_py_longest.
|
|
|
|
|
|
2014-02-08 11:36:17 +00:00
|
|
|
|
2014-02-08 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (all-lib): Remove.
|
|
|
|
|
($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
|
|
|
|
|
|
2014-02-07 19:43:19 +00:00
|
|
|
|
2014-02-07 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* extension-priv.h (extension_language_script_ops): Add comment.
|
|
|
|
|
(extension_language_ops): Add comment.
|
2014-02-07 19:56:58 +00:00
|
|
|
|
(active_ext_lang_state): Fix typo in comment.
|
2014-02-07 19:43:19 +00:00
|
|
|
|
|
Make sure we don't resume the stepped thread by accident.
Say:
<stopped at a breakpoint in thread 2>
(gdb) thread 3
(gdb) step
The above triggers the prepare_to_proceed/deferred_step_ptid process,
which switches back to thread 2, to step over its breakpoint before
getting back to thread 3 and "step" it.
If while stepping over the breakpoint in thread 2, a signal arrives,
and it is set to pass/nostop, we'll set a step-resume breakpoint at
the supposed signal-handler resume address, and call keep_going. The
problem is that we were supposedly stepping thread 3, and that
keep_going delivers a signal to thread 2, and due to scheduler-locking
off, resumes everything else, _including_ thread 3, the thread we want
stepping. This means that we lose control of thread 3 until the next
event, when we stop everything. The end result for the user, is that
GDB lost control of the "step".
Here's the current infrun debug output of the above, with the testcase
in the patch below:
infrun: clear_proceed_status_thread (Thread 0x2aaaab8f5700 (LWP 11663))
infrun: clear_proceed_status_thread (Thread 0x2aaaab6f4700 (LWP 11662))
infrun: clear_proceed_status_thread (Thread 0x2aaaab4f2b20 (LWP 11659))
infrun: proceed (addr=0xffffffffffffffff, signal=144, step=1)
infrun: prepare_to_proceed (step=1), switched to [Thread 0x2aaaab6f4700 (LWP 11662)]
infrun: resume (step=1, signal=0), trap_expected=1, current thread [Thread 0x2aaaab6f4700 (LWP 11662)] at 0x40098f
infrun: wait_for_inferior ()
infrun: target_wait (-1, status) =
infrun: 11659 [Thread 0x2aaaab6f4700 (LWP 11662)],
infrun: status->kind = stopped, signal = SIGUSR1
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x40098f
infrun: random signal 30
Program received signal SIGUSR1, User defined signal 1.
infrun: signal arrived while stepping over breakpoint
infrun: inserting step-resume breakpoint at 0x40098f
infrun: resume (step=0, signal=30), trap_expected=0, current thread [Thread 0x2aaaab6f4700 (LWP 11662)] at 0x40098f
^^^ this is a wildcard resume.
infrun: prepare_to_wait
infrun: target_wait (-1, status) =
infrun: 11659 [Thread 0x2aaaab6f4700 (LWP 11662)],
infrun: status->kind = stopped, signal = SIGTRAP
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x40098f
infrun: BPSTAT_WHAT_STEP_RESUME
infrun: resume (step=1, signal=0), trap_expected=1, current thread [Thread 0x2aaaab6f4700 (LWP 11662)] at 0x40098f
^^^ step-resume hit, meaning the handler returned, so we go back to stepping thread 3.
infrun: prepare_to_wait
infrun: target_wait (-1, status) =
infrun: 11659 [Thread 0x2aaaab6f4700 (LWP 11662)],
infrun: status->kind = stopped, signal = SIGTRAP
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x40088b
infrun: switching back to stepped thread
infrun: Switching context from Thread 0x2aaaab6f4700 (LWP 11662) to Thread 0x2aaaab8f5700 (LWP 11663)
infrun: resume (step=1, signal=0), trap_expected=0, current thread [Thread 0x2aaaab8f5700 (LWP 11663)] at 0x400938
infrun: prepare_to_wait
infrun: target_wait (-1, status) =
infrun: 11659 [Thread 0x2aaaab8f5700 (LWP 11663)],
infrun: status->kind = stopped, signal = SIGTRAP
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x40093a
infrun: keep going
infrun: resume (step=1, signal=0), trap_expected=0, current thread [Thread 0x2aaaab8f5700 (LWP 11663)] at 0x40093a
infrun: prepare_to_wait
infrun: target_wait (-1, status) =
infrun: 11659 [Thread 0x2aaaab8f5700 (LWP 11663)],
infrun: status->kind = stopped, signal = SIGTRAP
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x40091e
infrun: stepped to a different line
infrun: stop_stepping
[Switching to Thread 0x2aaaab8f5700 (LWP 11663)]
69 (*myp) ++; /* set breakpoint child_two here */
^^^ we stopped at the wrong line. We still stepped a bit because the
test is running in a loop, and when we got back to stepping thread 3,
it happened to be in the stepping range. (The loop increments a
counter, and the test makes sure it increments exactly once. Without
the fix, the counter increments a bunch, since the user-stepped thread
runs free without GDB noticing.)
The fix is to switch to the stepping thread before continuing for the
step-resume breakpoint.
gdb/
2014-02-07 Pedro Alves <palves@redhat.com>
* infrun.c (handle_signal_stop) <signal arrives while stepping
over a breakpoint>: Switch back to the stepping thread.
gdb/testsuite/
2014-02-07 Pedro Alves <pedro@codesourcery.com>
Pedro Alves <palves@redhat.com>
* gdb.threads/step-after-sr-lock.c: New file.
* gdb.threads/step-after-sr-lock.exp: New file.
2014-02-07 19:11:25 +00:00
|
|
|
|
2014-02-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (handle_signal_stop) <signal arrives while stepping
|
|
|
|
|
over a breakpoint>: Switch back to the stepping thread.
|
|
|
|
|
|
2014-01-29 03:48:40 +00:00
|
|
|
|
2014-02-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* target.c (target_xfer_partial): Return zero if LEN is zero.
|
|
|
|
|
|
2014-01-27 09:32:33 +00:00
|
|
|
|
2014-02-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* auxv.c (procfs_xfer_auxv): Replace -1 with TARGET_XFER_E_IO.
|
|
|
|
|
(ld_so_xfer_auxv): Likewise.
|
|
|
|
|
* bfd-target.c (target_bfd_xfer_partial): Likewise.
|
|
|
|
|
* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
|
|
|
|
|
* corelow.c (core_xfer_partial): Likewise.
|
|
|
|
|
* ctf.c (ctf_xfer_partial): Likewise.
|
|
|
|
|
* darwin-nat.c (darwin_read_dyld_info): Likewise.
|
|
|
|
|
(darwin_xfer_partial): Likewise.
|
|
|
|
|
* exec.c (exec_xfer_partial): Likewise.
|
|
|
|
|
* gnu-nat.c (gnu_xfer_partial): Likewise.
|
|
|
|
|
* ia64-hpux-nat.c (ia64_hpux_xfer_uregs): Likewise.
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_xfer_partial): Likewise.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_xfer_partial): Likewise.
|
|
|
|
|
* linux-nat.c (linux_xfer_siginfo): Likewise.
|
|
|
|
|
(linux_proc_xfer_spu): Likewise.
|
|
|
|
|
* procfs.c (procfs_xfer_partial): Likewise.
|
|
|
|
|
* record-full.c (record_full_xfer_partial): Likewise.
|
|
|
|
|
(record_full_core_xfer_partial): Likewise.
|
|
|
|
|
* remote-sim.c (gdbsim_xfer_partial): Likewise.
|
|
|
|
|
* remote.c (remote_write_qxfer): Likewise.
|
|
|
|
|
(remote_write_qxfer, remote_read_qxfer): Likewise.
|
|
|
|
|
(remote_xfer_partial): Likewise.
|
|
|
|
|
* rs6000-nat.c (rs6000_xfer_partial): Likewise.
|
|
|
|
|
(rs6000_xfer_shared_libraries): Likewise.
|
|
|
|
|
* sparc-nat.c (sparc_xfer_wcookie): Likewise.
|
|
|
|
|
* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
|
|
|
|
|
(spu_xfer_partial): Likewise.
|
|
|
|
|
* target.c (memory_xfer_partial_1): Likewise.
|
|
|
|
|
* tracepoint.c (tfile_xfer_partial): Likewise.
|
|
|
|
|
* windows-nat.c (windows_xfer_shared_libraries): Likewise.
|
|
|
|
|
(windows_xfer_partial): Likewise.
|
|
|
|
|
|
2014-01-27 04:56:56 +00:00
|
|
|
|
2014-02-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gdbarch.sh (core_xfer_shared_libraries): Returns ULONGEST. Add
|
|
|
|
|
comments.
|
|
|
|
|
(core_xfer_shared_libraries_aix): Likewise.
|
|
|
|
|
* gdbarch.c, gdbarch.h: Regenerated.
|
|
|
|
|
* i386-cygwin-tdep.c (windows_core_xfer_shared_libraries): Return
|
|
|
|
|
ULONGEST. Change 'len_avail' type to ULONGEST.
|
|
|
|
|
* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
|
|
|
|
|
* rs6000-aix-tdep.h (rs6000_aix_ld_info_to_xml): Update
|
|
|
|
|
declaration.
|
|
|
|
|
(rs6000_aix_core_xfer_shared_libraries_aix): Return ULONGEST.
|
|
|
|
|
|
2013-11-04 00:51:19 +00:00
|
|
|
|
2014-02-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* corefile.c (memory_error): Get 'exception' from ERR and pass
|
|
|
|
|
'exception' to throw_error.
|
|
|
|
|
|
Extension Language API
* configure.ac (libpython checking): Remove all but python.o from
CONFIG_OBS. Remove all but python.c from CONFIG_SRCS.
* configure: Regenerate.
* Makefile.in (SFILES): Add extension.c.
(HFILES_NO_SRCDIR): Add extension.h, extension-priv.h
(COMMON_OBS): Add extension.o.
* extension.h: New file.
* extension-priv.h: New file.
* extension.c: New file.
* python/python-internal.h: #include "extension.h".
(gdbpy_auto_load_enabled): Declare.
(gdbpy_apply_val_pretty_printer): Declare.
(gdbpy_apply_frame_filter): Declare.
(gdbpy_preserve_values): Declare.
(gdbpy_breakpoint_cond_says_stop): Declare.
(gdbpy_breakpoint_has_cond): Declare.
(void source_python_script_for_objfile): Delete.
* python/python.c: #include "extension-priv.h".
Delete inclusion of "observer.h".
(extension_language_python): Moved here and renamed from
script_language_python in py-auto-load.c.
Redefined to be of type extension_language_defn.
(python_extension_script_ops): New global.
(python_extension_ops): New global.
(struct python_env): New member previous_active.
(restore_python_env): Call restore_active_ext_lang.
(ensure_python_env): Call set_active_ext_lang.
(gdbpy_clear_quit_flag): Renamed from clear_quit_flag, made static.
New arg extlang.
(gdbpy_set_quit_flag): Renamed from set_quit_flag, made static.
New arg extlang.
(gdbpy_check_quit_flag): Renamed from check_quit_flag, made static.
New arg extlang.
(gdbpy_eval_from_control_command): Renamed from
eval_python_from_control_command, made static. New arg extlang.
(gdbpy_source_script) Renamed from source_python_script, made static.
New arg extlang.
(gdbpy_before_prompt_hook): Renamed from before_prompt_hook. Change
result to int. New arg extlang.
(gdbpy_source_objfile_script): Renamed from
source_python_script_for_objfile, made static. New arg extlang.
(gdbpy_start_type_printers): Renamed from start_type_printers, made
static. New args extlang, extlang_printers. Change result type to
"void".
(gdbpy_apply_type_printers): Renamed from apply_type_printers, made
static. New arg extlang. Rename arg printers to extlang_printers
and change type to ext_lang_type_printers *.
(gdbpy_free_type_printers): Renamed from free_type_printers, made
static. Replace argument arg with extlang, extlang_printers.
(!HAVE_PYTHON, eval_python_from_control_command): Delete.
(!HAVE_PYTHON, source_python_script): Delete.
(!HAVE_PYTHON, gdbpy_should_stop): Delete.
(!HAVE_PYTHON, gdbpy_breakpoint_has_py_cond): Delete.
(!HAVE_PYTHON, start_type_printers): Delete.
(!HAVE_PYTHON, apply_type_printers): Delete.
(!HAVE_PYTHON, free_type_printers): Delete.
(_initialize_python): Delete call to observer_attach_before_prompt.
(finalize_python): Set/restore active extension language.
(gdbpy_finish_initialization) Renamed from
finish_python_initialization, made static. New arg extlang.
(gdbpy_initialized): New function.
* python/python.h: #include "extension.h". Delete #include
"value.h", "mi/mi-cmds.h".
(extension_language_python): Declare.
(GDBPY_AUTO_FILE_NAME): Delete.
(enum py_bt_status): Moved to extension.h and renamed to
ext_lang_bt_status.
(enum frame_filter_flags): Moved to extension.h.
(enum py_frame_args): Moved to extension.h and renamed to
ext_lang_frame_args.
(finish_python_initialization): Delete.
(eval_python_from_control_command): Delete.
(source_python_script): Delete.
(apply_val_pretty_printer): Delete.
(apply_frame_filter): Delete.
(preserve_python_values): Delete.
(gdbpy_script_language_defn): Delete.
(gdbpy_should_stop, gdbpy_breakpoint_has_py_cond): Delete.
(start_type_printers, apply_type_printers, free_type_printers): Delete.
* auto-load.c: #include "extension.h".
(GDB_AUTO_FILE_NAME): Delete.
(auto_load_gdb_scripts_enabled): Make public. New arg extlang.
(script_language_gdb): Delete, moved to extension.c and renamed to
extension_language_gdb.
(source_gdb_script_for_objfile): Delete.
(auto_load_pspace_info): New member unsupported_script_warning_printed.
(loaded_script): Change type of language member to
struct extension_language_defn *.
(init_loaded_scripts_info): Initialize
unsupported_script_warning_printed.
(maybe_add_script): Make static. Change type of language arg to
struct extension_language_defn *.
(clear_section_scripts): Reset unsupported_script_warning_printed.
(auto_load_objfile_script_1): Rewrite to use extension language API.
(auto_load_objfile_script): Make public. Remove support-compiled-in
and auto-load-enabled checks, moved to auto_load_scripts_for_objfile.
(source_section_scripts): Rewrite to use extension language API.
(load_auto_scripts_for_objfile): Rewrite to use
auto_load_scripts_for_objfile.
(collect_matching_scripts_data): Change type of language member to
struct extension_language_defn *.
(auto_load_info_scripts): Change type of language arg to
struct extension_language_defn *.
(unsupported_script_warning_print): New function.
(script_not_found_warning_print): Make static.
(_initialize_auto_load): Rewrite construction of scripts-directory
help.
* auto-load.h (struct objfile): Add forward decl.
(struct script_language): Delete.
(struct auto_load_pspace_info): Add forward decl.
(struct extension_language_defn): Add forward decl.
(maybe_add_script): Delete.
(auto_load_objfile_script): Declare.
(script_not_found_warning_print): Delete.
(auto_load_info_scripts): Update prototype.
(auto_load_gdb_scripts_enabled): Declare.
* python/py-auto-load.c (gdbpy_auto_load_enabled): Renamed from
auto_load_python_scripts_enabled and made public.
(script_language_python): Delete, moved to python.c.
(gdbpy_script_language_defn): Delete.
(info_auto_load_python_scripts): Update to use
extension_language_python.
* breakpoint.c (condition_command): Replace call to
gdbpy_breakpoint_has_py_cond with call to get_breakpoint_cond_ext_lang.
(bpstat_check_breakpoint_conditions): Replace call to gdbpy_should_stop
with call to breakpoint_ext_lang_cond_says_stop.
* python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Renamed
from gdbpy_should_stop. Change result type to enum scr_bp_stop.
New arg slang. Return SCR_BP_STOP_UNSET if py_bp_object is NULL.
(gdbpy_breakpoint_has_cond): Renamed from gdbpy_breakpoint_has_py_cond.
New arg slang.
(local_setattro): Print name of extension language with existing
stop condition.
* valprint.c (val_print, value_print): Update to call
apply_ext_lang_val_pretty_printer.
* cp-valprint.c (cp_print_value): Update call to
apply_ext_lang_val_pretty_printer.
* python/py-prettyprint.c: Remove #ifdef HAVE_PYTHON.
(gdbpy_apply_val_pretty_printer): Renamed from
apply_val_pretty_printer. New arg extlang.
(!HAVE_PYTHON, apply_val_pretty_printer): Delete.
* cli/cli-cmds.c (source_script_from_stream): Rewrite to use
extension language API.
* cli/cli-script.c (execute_control_command): Update to call
eval_ext_lang_from_control_command.
* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Update to use
enum ext_lang_bt_status values. Update call to
apply_ext_lang_frame_filter.
(mi_cmd_stack_list_locals): Ditto.
(mi_cmd_stack_list_args): Ditto.
(mi_cmd_stack_list_variables): Ditto.
* mi/mi-main.c: Delete #include "python/python-internal.h".
Add #include "extension.h".
(mi_cmd_list_features): Replace reference to python internal variable
gdb_python_initialized with call to ext_lang_initialized_p.
* stack.c (backtrace_command_1): Update to use enum ext_lang_bt_status.
Update to use enum ext_lang_frame_args. Update to call
apply_ext_lang_frame_filter.
* python/py-framefilter.c (extract_sym): Update to use enum
ext_lang_bt_status.
(extract_value, py_print_type, py_print_value): Ditto.
(py_print_single_arg, enumerate_args, enumerate_locals): Ditto.
(py_mi_print_variables, py_print_locals, py_print_args): Ditto.
(py_print_frame): Ditto.
(gdbpy_apply_frame_filter): Renamed from apply_frame_filter.
New arg extlang. Update to use enum ext_lang_bt_status.
* top.c (gdb_init): Delete #ifdef HAVE_PYTHON call to
finish_python_initialization. Replace with call to
finish_ext_lang_initialization.
* typeprint.c (do_free_global_table): Update to call
free_ext_lang_type_printers.
(create_global_typedef_table): Update to call
start_ext_lang_type_printers.
(find_global_typedef): Update to call apply_ext_lang_type_printers.
* typeprint.h (struct ext_lang_type_printers): Add forward decl.
(type_print_options): Change type of global_printers from "void *"
to "struct ext_lang_type_printers *".
* value.c (preserve_values): Update to call preserve_ext_lang_values.
* python/py-value.c: Remove #ifdef HAVE_PYTHON.
(gdbpy_preserve_values): Renamed from preserve_python_values.
New arg extlang.
(!HAVE_PYTHON, preserve_python_values): Delete.
* utils.c (quit_flag): Delete, moved to extension.c.
(clear_quit_flag, set_quit_flag, check_quit_flag): Delete, moved to
extension.c.
* eval.c: Delete #include "python/python.h".
* main.c: Delete #include "python/python.h".
* defs.h: Update comment.
testsuite/
* gdb.python/py-breakpoint.exp (test_bkpt_eval_funcs): Update expected
output.
* gdb.gdb/python-interrupts.exp: New file.
2014-02-06 03:27:58 +00:00
|
|
|
|
2014-02-06 Doug Evans <xdje42@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac (libpython checking): Remove all but python.o from
|
|
|
|
|
CONFIG_OBS. Remove all but python.c from CONFIG_SRCS.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
|
|
|
|
* Makefile.in (SFILES): Add extension.c.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add extension.h, extension-priv.h
|
|
|
|
|
(COMMON_OBS): Add extension.o.
|
|
|
|
|
* extension.h: New file.
|
|
|
|
|
* extension-priv.h: New file.
|
|
|
|
|
* extension.c: New file.
|
|
|
|
|
|
|
|
|
|
* python/python-internal.h: #include "extension.h".
|
|
|
|
|
(gdbpy_auto_load_enabled): Declare.
|
|
|
|
|
(gdbpy_apply_val_pretty_printer): Declare.
|
|
|
|
|
(gdbpy_apply_frame_filter): Declare.
|
|
|
|
|
(gdbpy_preserve_values): Declare.
|
|
|
|
|
(gdbpy_breakpoint_cond_says_stop): Declare.
|
|
|
|
|
(gdbpy_breakpoint_has_cond): Declare.
|
|
|
|
|
(void source_python_script_for_objfile): Delete.
|
|
|
|
|
* python/python.c: #include "extension-priv.h".
|
|
|
|
|
Delete inclusion of "observer.h".
|
|
|
|
|
(extension_language_python): Moved here and renamed from
|
|
|
|
|
script_language_python in py-auto-load.c.
|
|
|
|
|
Redefined to be of type extension_language_defn.
|
|
|
|
|
(python_extension_script_ops): New global.
|
|
|
|
|
(python_extension_ops): New global.
|
|
|
|
|
(struct python_env): New member previous_active.
|
|
|
|
|
(restore_python_env): Call restore_active_ext_lang.
|
|
|
|
|
(ensure_python_env): Call set_active_ext_lang.
|
|
|
|
|
(gdbpy_clear_quit_flag): Renamed from clear_quit_flag, made static.
|
|
|
|
|
New arg extlang.
|
|
|
|
|
(gdbpy_set_quit_flag): Renamed from set_quit_flag, made static.
|
|
|
|
|
New arg extlang.
|
|
|
|
|
(gdbpy_check_quit_flag): Renamed from check_quit_flag, made static.
|
|
|
|
|
New arg extlang.
|
|
|
|
|
(gdbpy_eval_from_control_command): Renamed from
|
|
|
|
|
eval_python_from_control_command, made static. New arg extlang.
|
|
|
|
|
(gdbpy_source_script) Renamed from source_python_script, made static.
|
|
|
|
|
New arg extlang.
|
|
|
|
|
(gdbpy_before_prompt_hook): Renamed from before_prompt_hook. Change
|
|
|
|
|
result to int. New arg extlang.
|
|
|
|
|
(gdbpy_source_objfile_script): Renamed from
|
|
|
|
|
source_python_script_for_objfile, made static. New arg extlang.
|
|
|
|
|
(gdbpy_start_type_printers): Renamed from start_type_printers, made
|
|
|
|
|
static. New args extlang, extlang_printers. Change result type to
|
|
|
|
|
"void".
|
|
|
|
|
(gdbpy_apply_type_printers): Renamed from apply_type_printers, made
|
|
|
|
|
static. New arg extlang. Rename arg printers to extlang_printers
|
|
|
|
|
and change type to ext_lang_type_printers *.
|
|
|
|
|
(gdbpy_free_type_printers): Renamed from free_type_printers, made
|
|
|
|
|
static. Replace argument arg with extlang, extlang_printers.
|
|
|
|
|
(!HAVE_PYTHON, eval_python_from_control_command): Delete.
|
|
|
|
|
(!HAVE_PYTHON, source_python_script): Delete.
|
|
|
|
|
(!HAVE_PYTHON, gdbpy_should_stop): Delete.
|
|
|
|
|
(!HAVE_PYTHON, gdbpy_breakpoint_has_py_cond): Delete.
|
|
|
|
|
(!HAVE_PYTHON, start_type_printers): Delete.
|
|
|
|
|
(!HAVE_PYTHON, apply_type_printers): Delete.
|
|
|
|
|
(!HAVE_PYTHON, free_type_printers): Delete.
|
|
|
|
|
(_initialize_python): Delete call to observer_attach_before_prompt.
|
|
|
|
|
(finalize_python): Set/restore active extension language.
|
|
|
|
|
(gdbpy_finish_initialization) Renamed from
|
|
|
|
|
finish_python_initialization, made static. New arg extlang.
|
|
|
|
|
(gdbpy_initialized): New function.
|
|
|
|
|
* python/python.h: #include "extension.h". Delete #include
|
|
|
|
|
"value.h", "mi/mi-cmds.h".
|
|
|
|
|
(extension_language_python): Declare.
|
|
|
|
|
(GDBPY_AUTO_FILE_NAME): Delete.
|
|
|
|
|
(enum py_bt_status): Moved to extension.h and renamed to
|
|
|
|
|
ext_lang_bt_status.
|
|
|
|
|
(enum frame_filter_flags): Moved to extension.h.
|
|
|
|
|
(enum py_frame_args): Moved to extension.h and renamed to
|
|
|
|
|
ext_lang_frame_args.
|
|
|
|
|
(finish_python_initialization): Delete.
|
|
|
|
|
(eval_python_from_control_command): Delete.
|
|
|
|
|
(source_python_script): Delete.
|
|
|
|
|
(apply_val_pretty_printer): Delete.
|
|
|
|
|
(apply_frame_filter): Delete.
|
|
|
|
|
(preserve_python_values): Delete.
|
|
|
|
|
(gdbpy_script_language_defn): Delete.
|
|
|
|
|
(gdbpy_should_stop, gdbpy_breakpoint_has_py_cond): Delete.
|
|
|
|
|
(start_type_printers, apply_type_printers, free_type_printers): Delete.
|
|
|
|
|
|
|
|
|
|
* auto-load.c: #include "extension.h".
|
|
|
|
|
(GDB_AUTO_FILE_NAME): Delete.
|
|
|
|
|
(auto_load_gdb_scripts_enabled): Make public. New arg extlang.
|
|
|
|
|
(script_language_gdb): Delete, moved to extension.c and renamed to
|
|
|
|
|
extension_language_gdb.
|
|
|
|
|
(source_gdb_script_for_objfile): Delete.
|
|
|
|
|
(auto_load_pspace_info): New member unsupported_script_warning_printed.
|
|
|
|
|
(loaded_script): Change type of language member to
|
|
|
|
|
struct extension_language_defn *.
|
|
|
|
|
(init_loaded_scripts_info): Initialize
|
|
|
|
|
unsupported_script_warning_printed.
|
|
|
|
|
(maybe_add_script): Make static. Change type of language arg to
|
|
|
|
|
struct extension_language_defn *.
|
|
|
|
|
(clear_section_scripts): Reset unsupported_script_warning_printed.
|
|
|
|
|
(auto_load_objfile_script_1): Rewrite to use extension language API.
|
|
|
|
|
(auto_load_objfile_script): Make public. Remove support-compiled-in
|
|
|
|
|
and auto-load-enabled checks, moved to auto_load_scripts_for_objfile.
|
|
|
|
|
(source_section_scripts): Rewrite to use extension language API.
|
|
|
|
|
(load_auto_scripts_for_objfile): Rewrite to use
|
|
|
|
|
auto_load_scripts_for_objfile.
|
|
|
|
|
(collect_matching_scripts_data): Change type of language member to
|
|
|
|
|
struct extension_language_defn *.
|
|
|
|
|
(auto_load_info_scripts): Change type of language arg to
|
|
|
|
|
struct extension_language_defn *.
|
|
|
|
|
(unsupported_script_warning_print): New function.
|
|
|
|
|
(script_not_found_warning_print): Make static.
|
|
|
|
|
(_initialize_auto_load): Rewrite construction of scripts-directory
|
|
|
|
|
help.
|
|
|
|
|
* auto-load.h (struct objfile): Add forward decl.
|
|
|
|
|
(struct script_language): Delete.
|
|
|
|
|
(struct auto_load_pspace_info): Add forward decl.
|
|
|
|
|
(struct extension_language_defn): Add forward decl.
|
|
|
|
|
(maybe_add_script): Delete.
|
|
|
|
|
(auto_load_objfile_script): Declare.
|
|
|
|
|
(script_not_found_warning_print): Delete.
|
|
|
|
|
(auto_load_info_scripts): Update prototype.
|
|
|
|
|
(auto_load_gdb_scripts_enabled): Declare.
|
|
|
|
|
* python/py-auto-load.c (gdbpy_auto_load_enabled): Renamed from
|
|
|
|
|
auto_load_python_scripts_enabled and made public.
|
|
|
|
|
(script_language_python): Delete, moved to python.c.
|
|
|
|
|
(gdbpy_script_language_defn): Delete.
|
|
|
|
|
(info_auto_load_python_scripts): Update to use
|
|
|
|
|
extension_language_python.
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (condition_command): Replace call to
|
|
|
|
|
gdbpy_breakpoint_has_py_cond with call to get_breakpoint_cond_ext_lang.
|
|
|
|
|
(bpstat_check_breakpoint_conditions): Replace call to gdbpy_should_stop
|
|
|
|
|
with call to breakpoint_ext_lang_cond_says_stop.
|
|
|
|
|
* python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Renamed
|
|
|
|
|
from gdbpy_should_stop. Change result type to enum scr_bp_stop.
|
|
|
|
|
New arg slang. Return SCR_BP_STOP_UNSET if py_bp_object is NULL.
|
|
|
|
|
(gdbpy_breakpoint_has_cond): Renamed from gdbpy_breakpoint_has_py_cond.
|
|
|
|
|
New arg slang.
|
|
|
|
|
(local_setattro): Print name of extension language with existing
|
|
|
|
|
stop condition.
|
|
|
|
|
|
|
|
|
|
* valprint.c (val_print, value_print): Update to call
|
|
|
|
|
apply_ext_lang_val_pretty_printer.
|
|
|
|
|
* cp-valprint.c (cp_print_value): Update call to
|
|
|
|
|
apply_ext_lang_val_pretty_printer.
|
|
|
|
|
* python/py-prettyprint.c: Remove #ifdef HAVE_PYTHON.
|
|
|
|
|
(gdbpy_apply_val_pretty_printer): Renamed from
|
|
|
|
|
apply_val_pretty_printer. New arg extlang.
|
|
|
|
|
(!HAVE_PYTHON, apply_val_pretty_printer): Delete.
|
|
|
|
|
|
|
|
|
|
* cli/cli-cmds.c (source_script_from_stream): Rewrite to use
|
|
|
|
|
extension language API.
|
|
|
|
|
* cli/cli-script.c (execute_control_command): Update to call
|
|
|
|
|
eval_ext_lang_from_control_command.
|
|
|
|
|
|
|
|
|
|
* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Update to use
|
|
|
|
|
enum ext_lang_bt_status values. Update call to
|
|
|
|
|
apply_ext_lang_frame_filter.
|
|
|
|
|
(mi_cmd_stack_list_locals): Ditto.
|
|
|
|
|
(mi_cmd_stack_list_args): Ditto.
|
|
|
|
|
(mi_cmd_stack_list_variables): Ditto.
|
|
|
|
|
* mi/mi-main.c: Delete #include "python/python-internal.h".
|
|
|
|
|
Add #include "extension.h".
|
|
|
|
|
(mi_cmd_list_features): Replace reference to python internal variable
|
|
|
|
|
gdb_python_initialized with call to ext_lang_initialized_p.
|
|
|
|
|
|
|
|
|
|
* stack.c (backtrace_command_1): Update to use enum ext_lang_bt_status.
|
|
|
|
|
Update to use enum ext_lang_frame_args. Update to call
|
|
|
|
|
apply_ext_lang_frame_filter.
|
|
|
|
|
* python/py-framefilter.c (extract_sym): Update to use enum
|
|
|
|
|
ext_lang_bt_status.
|
|
|
|
|
(extract_value, py_print_type, py_print_value): Ditto.
|
|
|
|
|
(py_print_single_arg, enumerate_args, enumerate_locals): Ditto.
|
|
|
|
|
(py_mi_print_variables, py_print_locals, py_print_args): Ditto.
|
|
|
|
|
(py_print_frame): Ditto.
|
|
|
|
|
(gdbpy_apply_frame_filter): Renamed from apply_frame_filter.
|
|
|
|
|
New arg extlang. Update to use enum ext_lang_bt_status.
|
|
|
|
|
|
|
|
|
|
* top.c (gdb_init): Delete #ifdef HAVE_PYTHON call to
|
|
|
|
|
finish_python_initialization. Replace with call to
|
|
|
|
|
finish_ext_lang_initialization.
|
|
|
|
|
|
|
|
|
|
* typeprint.c (do_free_global_table): Update to call
|
|
|
|
|
free_ext_lang_type_printers.
|
|
|
|
|
(create_global_typedef_table): Update to call
|
|
|
|
|
start_ext_lang_type_printers.
|
|
|
|
|
(find_global_typedef): Update to call apply_ext_lang_type_printers.
|
|
|
|
|
* typeprint.h (struct ext_lang_type_printers): Add forward decl.
|
|
|
|
|
(type_print_options): Change type of global_printers from "void *"
|
|
|
|
|
to "struct ext_lang_type_printers *".
|
|
|
|
|
|
|
|
|
|
* value.c (preserve_values): Update to call preserve_ext_lang_values.
|
|
|
|
|
* python/py-value.c: Remove #ifdef HAVE_PYTHON.
|
|
|
|
|
(gdbpy_preserve_values): Renamed from preserve_python_values.
|
|
|
|
|
New arg extlang.
|
|
|
|
|
(!HAVE_PYTHON, preserve_python_values): Delete.
|
|
|
|
|
|
|
|
|
|
* utils.c (quit_flag): Delete, moved to extension.c.
|
|
|
|
|
(clear_quit_flag, set_quit_flag, check_quit_flag): Delete, moved to
|
|
|
|
|
extension.c.
|
|
|
|
|
|
|
|
|
|
* eval.c: Delete #include "python/python.h".
|
|
|
|
|
* main.c: Delete #include "python/python.h".
|
|
|
|
|
|
|
|
|
|
* defs.h: Update comment.
|
|
|
|
|
|
2014-02-06 02:48:24 +00:00
|
|
|
|
2014-02-06 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
GDB 7.7 released.
|
|
|
|
|
|
2014-02-05 12:30:33 +00:00
|
|
|
|
2014-02-05 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* c-exp.y (YYPRINT, c_print_token): Only define if YYBISON is
|
|
|
|
|
defined.
|
|
|
|
|
|
2014-01-20 12:56:13 +00:00
|
|
|
|
2014-02-05 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_pass_signals): Remove local 'buf' and use
|
|
|
|
|
rs->buf.
|
|
|
|
|
(remote_program_signals): Likewise.
|
|
|
|
|
|
2014-01-30 02:09:11 +00:00
|
|
|
|
2014-02-05 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ctf.c: Include "inferior.h" and "gdbthread.h".
|
|
|
|
|
(CTF_PID): A new macro.
|
|
|
|
|
(ctf_open): Call inferior_appeared and add_thread_silent.
|
|
|
|
|
(ctf_close): Call exit_inferior_silent and set inferior_ptid.
|
|
|
|
|
(ctf_thread_alive): New function.
|
|
|
|
|
(init_ctf_ops): Install ctf_thread_alive to to_thread_alive.
|
|
|
|
|
|
2014-01-30 00:37:05 +00:00
|
|
|
|
2014-02-05 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
Revert this patch:
|
|
|
|
|
|
|
|
|
|
2013-05-24 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (TFILE_PID): Remove.
|
|
|
|
|
(tfile_open): Don't add thread and inferior.
|
|
|
|
|
(tfile_close): Don't set 'inferior_ptid'. Don't call
|
|
|
|
|
exit_inferior_silent.
|
|
|
|
|
(tfile_thread_alive): Remove.
|
|
|
|
|
(init_tfile_ops): Don't set field 'to_thread_alive' of
|
|
|
|
|
tfile_ops.
|
|
|
|
|
|
2014-02-04 19:42:12 +00:00
|
|
|
|
2014-02-04 Christian Eggers <ceggers@gmx.de> (tiny change)
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_start_remote): Call remote_check_symbols even
|
|
|
|
|
if only symbol-file (not file) has been given.
|
|
|
|
|
|
PowerPC64 ELFv2 ABI: skip global entry point code
This patch handles another aspect of the ELFv2 ABI, which unfortunately
requires common code changes.
In ELFv2, functions may provide both a global and a local entry point.
The global entry point (where the function symbol points to) is intended
to be used for function-pointer or cross-module (PLT) calls, and requires
r12 to be set up to the entry point address itself. The local entry
point (which is found at a fixed offset after the global entry point,
as defined by bits in the symbol table entries' st_other field), instead
expects r2 to be set up to the current TOC.
Now, when setting a breakpoint on a function by name, you really want
that breakpoint to trigger either way, no matter whether the function
is called via its local or global entry point. Since the global entry
point will always fall through into the local entry point, the way to
achieve that is to simply set the breakpoint at the local entry point.
One way to do that would be to have prologue parsing skip the code
sequence that makes up the global entry point. Unfortunately, this
does not work reliably, since -for optimized code- GDB these days
will not actuall invoke the prologue parsing code but instead just
set the breakpoint at the symbol address and rely on DWARF being
correct at any point throughout the function ...
Unfortunately, I don't really see any way to express the notion of
local entry points with the current set of gdbarch callbacks.
Thus this patch adds a new callback, skip_entrypoint, that is
somewhat analogous to skip_prologue, but is called every time
GDB needs to determine a function start address, even in those
cases where GDB decides to not call skip_prologue.
As a side effect, the skip_entrypoint implementation on ppc64
does not need to perform any instruction parsing; it can simply
rely on the local entry point flags in the symbol table entry.
With this implemented, two test cases would still fail to set
the breakpoint correctly, but that's because they use the construct:
gdb_test "break *hello"
Now, using "*hello" explicitly instructs GDB to set the breakpoint
at the numerical value of "hello" treated as function pointer, so
it will by definition only hit the global entry point.
I think this behaviour is unavoidable, but acceptable -- most people
do not use this construct, and if they do, they get what they
asked for ...
In one of those two test cases, use of this construct is really
not appropriate. I think this was added way back when as a means
to work around prologue skipping problems on some platforms. These
days that shouldn't really be necessary any more ...
For the other (step-bt), we really want to make sure backtracing
works on the very first instruction of the routine. To enable that
test also on powerpc64le-linux, we can modify the code to call the
test function via function pointer (which makes it use the global
entry point in the ELFv2 ABI).
gdb/ChangeLog:
* gdbarch.sh (skip_entrypoint): New callback.
* gdbarch.c, gdbarch.h: Regenerate.
* symtab.c (skip_prologue_sal): Call gdbarch_skip_entrypoint.
* infrun.c (fill_in_stop_func): Likewise.
* ppc-linux-tdep.c: Include "elf/ppc64.h".
(ppc_elfv2_elf_make_msymbol_special): New function.
(ppc_elfv2_skip_entrypoint): Likewise.
(ppc_linux_init_abi): Install them for ELFv2.
gdb/testsuite/ChangeLog:
* gdb.base/sigbpt.exp: Do not use "*" when setting breakpoint
on a function.
* gdb.base/step-bt.c: Call hello via function pointer to make
sure its first instruction is executed on powerpc64le-linux.
2014-02-04 17:44:14 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* gdbarch.sh (skip_entrypoint): New callback.
|
|
|
|
|
* gdbarch.c, gdbarch.h: Regenerate.
|
|
|
|
|
* symtab.c (skip_prologue_sal): Call gdbarch_skip_entrypoint.
|
|
|
|
|
* infrun.c (fill_in_stop_func): Likewise.
|
|
|
|
|
* ppc-linux-tdep.c: Include "elf/ppc64.h".
|
|
|
|
|
(ppc_elfv2_elf_make_msymbol_special): New function.
|
|
|
|
|
(ppc_elfv2_skip_entrypoint): Likewise.
|
|
|
|
|
(ppc_linux_init_abi): Install them for ELFv2.
|
|
|
|
|
|
2014-02-04 17:42:35 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-sysv-tdep.c (ppc64_aggregate_candidate): New routine.
|
|
|
|
|
(ppc64_elfv2_abi_homogeneous_aggregate): Likewise.
|
|
|
|
|
(ppc64_sysv_abi_push_param): Handle ELFv2 homogeneous structs.
|
|
|
|
|
(ppc64_sysv_abi_return_value): Likewise. Also, handle small
|
|
|
|
|
structures returned in GPRs.
|
|
|
|
|
|
2014-02-04 17:41:36 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Use correct
|
|
|
|
|
offset to the stack parameter list for the ELFv2 ABI.
|
|
|
|
|
|
2014-02-04 17:40:16 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-linux-tdep.c (ppc_linux_init_abi): Only call
|
|
|
|
|
set_gdbarch_convert_from_func_ptr_addr and
|
|
|
|
|
set_gdbarch_elf_make_msymbol_special for ELFv1.
|
|
|
|
|
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_param): Only handle
|
|
|
|
|
function descriptors on ELFv1.
|
|
|
|
|
(ppc64_sysv_abi_push_dummy_call): Likewise. On ELFv2,
|
|
|
|
|
set up r12 at function entry.
|
|
|
|
|
|
2014-02-04 17:38:56 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-tdep.h (enum powerpc_elf_abi): New data type.
|
|
|
|
|
(struct gdbarch_tdep): New member elf_abi.
|
|
|
|
|
|
|
|
|
|
* rs6000-tdep.c: Include "elf/ppc64.h".
|
|
|
|
|
(rs6000_gdbarch_init): Detect ELF ABI version.
|
|
|
|
|
|
2014-02-04 17:34:19 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_freg): Use correct order
|
|
|
|
|
within a register pair holding a DFP 128-bit value on little-endian.
|
|
|
|
|
(ppc64_sysv_abi_return_value_base): Likewise.
|
|
|
|
|
* rs6000-tdep.c (dfp_pseudo_register_read): Likewise.
|
|
|
|
|
(dfp_pseudo_register_write): Likewise.
|
|
|
|
|
|
2014-02-04 17:33:04 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_freg): Use correct
|
|
|
|
|
offset on little-endian when passing _Decimal32.
|
|
|
|
|
(ppc64_sysv_abi_return_value_base): Likewise for return values.
|
|
|
|
|
|
2014-02-04 17:31:38 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* rs6000-tdep.c (efpr_pseudo_register_read): Use correct offset
|
|
|
|
|
of the overlapped FP register within the VSX register on little-
|
|
|
|
|
endian platforms.
|
|
|
|
|
(efpr_pseudo_register_write): Likewise.
|
|
|
|
|
|
2014-02-04 17:26:26 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_val): Use correct
|
|
|
|
|
offset on little-endian when passing small structures.
|
|
|
|
|
|
Refactor ppc64 function call and return value handling
This patch refactors the ppc64 function call and return value handling code
in ppc-sysv-tdep.c. The main problem to be addressed by this refactoring
is the code duplication caused by certain aggregate types:
According to the ABI, some types are to be decomposed into component types
for parameter and return value handling. For example, complex types are
to be passed as if the real and imaginary component were separate arguments.
Similarly, certain OpenCL vector types are passed as if they were multiple
separate arguments of the vector element type. With the new ELFv2 ABI,
there is another case: "homogeneous aggregates" (e.g. a struct containing
4 floats) are passed in multiple floating point registers as well.
Unfortunately, the current code is not structured to easily model these
ABI properties. For example, code to pass complex values re-implements
code to pass the underlying (floating-point) type. This has already
led to some unfortunate code duplication, and with the addition of
ELFv2 ABI support, I would have had to add yet more such duplication.
To avoid that, I've decided to refactor the code in order to re-use
subroutines that handle the "base" types when handling those aggregate
types. This was not intended to cause any difference on current
(ELFv1) ABI code, but in fact it fixes a bug:
FAIL: gdb.base/varargs.exp: print find_max_float_real(4, fc1, fc2, fc3, fc4)
This was caused by the old code in ppc64_sysv_abi_push_float incorrectly
handling floating-point arguments to vararg routines, which just happens
to work out correctly automatically in the refactored code ...
gdb/ChangeLog:
* ppc-sysv-tdep.c (get_decimal_float_return_value): Update comment.
(struct ppc64_sysv_argpos): New data structure.
(ppc64_sysv_abi_push_float): Remove.
(ppc64_sysv_abi_push_val): New function.
(ppc64_sysv_abi_push_integer): Likewise.
(ppc64_sysv_abi_push_freg): Likewise.
(ppc64_sysv_abi_push_vreg): Likewise.
(ppc64_sysv_abi_push_param): Likewise.
(ppc64_sysv_abi_push_dummy_call): Refactor to use those new routines.
(ppc64_sysv_abi_return_value_base): New function.
(ppc64_sysv_abi_return_value): Refactor to use it.
2014-02-04 17:24:42 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-sysv-tdep.c (get_decimal_float_return_value): Update comment.
|
|
|
|
|
(struct ppc64_sysv_argpos): New data structure.
|
|
|
|
|
(ppc64_sysv_abi_push_float): Remove.
|
|
|
|
|
(ppc64_sysv_abi_push_val): New function.
|
|
|
|
|
(ppc64_sysv_abi_push_integer): Likewise.
|
|
|
|
|
(ppc64_sysv_abi_push_freg): Likewise.
|
|
|
|
|
(ppc64_sysv_abi_push_vreg): Likewise.
|
|
|
|
|
(ppc64_sysv_abi_push_param): Likewise.
|
|
|
|
|
(ppc64_sysv_abi_push_dummy_call): Refactor to use those new routines.
|
|
|
|
|
(ppc64_sysv_abi_return_value_base): New function.
|
|
|
|
|
(ppc64_sysv_abi_return_value): Refactor to use it.
|
|
|
|
|
|
2014-02-04 17:19:51 +00:00
|
|
|
|
2014-02-04 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Document new target powerpc64le-*-linux*.
|
|
|
|
|
|
2014-02-04 12:18:15 +00:00
|
|
|
|
2014-02-04 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* sparc64obsd-tdep.c (sparc64obsd_gregset): New variable.
|
|
|
|
|
(sparc64obsd_supply_gregset): Handle registers sets used in ELF
|
|
|
|
|
core dumps.
|
|
|
|
|
(sparc64obsd_init_abi): Adjust minimum size of the general purpose
|
|
|
|
|
register set used in ELF core dumps. Add floating-point register set.
|
|
|
|
|
|
2014-02-04 04:52:59 +00:00
|
|
|
|
2014-02-03 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Rewrite
|
|
|
|
|
dwarf2_to_gdb[] table using symbolic constants. Adjust
|
|
|
|
|
penultimate entry from number representing the PC register
|
|
|
|
|
to symbolic constant representing the MDR register. Add
|
|
|
|
|
constant for the PC register to the end of the table.
|
|
|
|
|
|
2014-02-03 13:38:59 +00:00
|
|
|
|
2014-02-03 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* bsd-kvm.c: Include <sys/param.h>
|
|
|
|
|
|
2014-02-03 13:29:28 +00:00
|
|
|
|
2014-02-03 Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Fix prototype.
|
|
|
|
|
|
2014-01-31 11:30:02 +00:00
|
|
|
|
2014-01-31 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.h (clear_ada_sym_cache): Delete.
|
|
|
|
|
|
2014-01-30 18:12:35 +00:00
|
|
|
|
2014-01-30 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* auxv.c (fprint_target_auxv): Handle AT_HWCAP2.
|
|
|
|
|
|
2014-01-29 15:15:05 +00:00
|
|
|
|
2014-01-29 Jose E. Marchesi <jose.marchesi@oracle.com>
|
|
|
|
|
|
|
|
|
|
* sparc64-linux-tdep.c (sparc64_linux_step_trap): Get PC from
|
|
|
|
|
the sigreturn register save area only if the syscall is
|
|
|
|
|
sigreturn.
|
|
|
|
|
|
2014-01-29 10:25:18 +00:00
|
|
|
|
2014-01-29 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* valops.c (value_slice): Minor reformatting.
|
|
|
|
|
|
2014-01-28 16:49:13 +00:00
|
|
|
|
2014-01-28 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc64-tdep.c (ppc64_standard_linkage7): Fix typo.
|
|
|
|
|
|
New Ada maintenance command to ignore descriptive types (DWARF).
Currently, Ada debugging requires the use of certain GNAT-specific
encodings, which are generated by the compiler. These encodings
were created a long time ago to work around the fairly limited
capabilities of the stabs debugging format. With DWARF, the vast
majority of the encodings could be abandoned in favor of a pure
DWARF approach.
In order to make it easier to evaluate the quality of the DWARF
debugging information generated by the compiler, and how the debugger
handles it, we are introducing a small Ada-specific maintenance
setting which changes the debugger's behavior to ignore descriptive
types. Descriptive types are artificial types generated by the
compiler purely to give the debugger hints as to how to properly
decode certain properties of a type. For instance, for array
types, it generates a parallel type whose name is the name of
the array suffixed with ___XA, whose contents tells us what
the array's index type is, and possibly its bounds. See GCC's
gcc/ada/exp_dbug.ads for the full description of all encodings.
This is only a first step, as this setting does not deactivate
all encodings; More settings dedicated to each type of encoding
will likely be implemented in the future, as we make progress.
gdb/ChangeLog:
* ada-lang.c (maint_set_ada_cmdlist, maint_show_ada_cmdlist):
New static globals.
(maint_set_ada_cmd, maint_show_ada_cmd): New functions.
(ada_ignore_descriptive_types_p): New static global.
(find_parallel_type_by_descriptive_type): Return immediately
if ada_ignore_descriptive_types_p is set.
(_initialize_ada_language): Register new commands "maintenance
set ada", "maintenance show ada", "maintenance set ada
ignore-descriptive-types" and "maintenance show ada
ignore-descriptive-types".
* NEWS: Add entry for new "maint ada set/show
ignore-descriptive-types" commands.
gdb/doc/ChangeLog:
* gdb.texinfo (Ada Glitches): Document the new "maint ada set/show
ignore-descriptive-types". commands.
2014-01-16 11:08:16 +00:00
|
|
|
|
2014-01-28 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (maint_set_ada_cmdlist, maint_show_ada_cmdlist):
|
|
|
|
|
New static globals.
|
|
|
|
|
(maint_set_ada_cmd, maint_show_ada_cmd): New functions.
|
|
|
|
|
(ada_ignore_descriptive_types_p): New static global.
|
|
|
|
|
(find_parallel_type_by_descriptive_type): Return immediately
|
|
|
|
|
if ada_ignore_descriptive_types_p is set.
|
|
|
|
|
(_initialize_ada_language): Register new commands "maintenance
|
|
|
|
|
set ada", "maintenance show ada", "maintenance set ada
|
|
|
|
|
ignore-descriptive-types" and "maintenance show ada
|
|
|
|
|
ignore-descriptive-types".
|
|
|
|
|
* NEWS: Add entry for new "maint ada set/show
|
|
|
|
|
ignore-descriptive-types" commands.
|
|
|
|
|
|
2013-12-03 09:20:47 +00:00
|
|
|
|
2014-01-27 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (record_btrace_close): Call btrace_teardown
|
|
|
|
|
for all threads.
|
|
|
|
|
|
2014-01-22 07:42:27 +00:00
|
|
|
|
2014-01-27 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c: Remove "#ifdef UI_OUT" condition for including
|
|
|
|
|
"ui-out.h".
|
|
|
|
|
|
2014-01-15 16:00:05 +00:00
|
|
|
|
2014-01-27 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-typeprint (type_is_full_subrange_of_target_type):
|
|
|
|
|
New function.
|
|
|
|
|
(print_range): Add parameter bounds_prefered_p. If not set,
|
|
|
|
|
try printing range types using the name of their base type.
|
|
|
|
|
(print_range_type): Add parameter bounds_prefered_p.
|
|
|
|
|
Use it in call to print_range.
|
|
|
|
|
(print_array_type, ada_print_type): Update calls to print_range
|
|
|
|
|
and print_range_type.
|
|
|
|
|
|
2014-01-15 15:14:15 +00:00
|
|
|
|
2014-01-27 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-typeprint.c (print_array_type, print_choices, print_range)
|
|
|
|
|
(print_range_bound, print_dynamic_range_bound, print_range_type):
|
|
|
|
|
Remove declaration.
|
|
|
|
|
|
2014-01-15 14:27:09 +00:00
|
|
|
|
2014-01-27 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-typeprint.c (print_range): Add missing empty line
|
|
|
|
|
after local declaration.
|
|
|
|
|
|
[Ada] Array bound incorrectly printed for array indexed by enum subrange
Consider the following declarations:
type Range_Type is (One, Two, Three);
type Array_Type is array (Range_Type range One .. Two) of Integer;
A : Array_Type := (1, 2);
Trying to print A can yield:
(gdb) print a
$1 = (one => 1, 2)
The bound of the first element should not have been printed, since
"one" is the first enumerate of type Range_Type. Similarly, with
the following declarations:
type Array2_Type is array (Range_Type range Two .. Three) of Integer;
A2 : Array2_Type := (2, 3);
GDB is failing to print the bound of the first element of "A2":
(gdb) print a2
$2 = (2, 3)
This is because the index type for both types Array_Type and Array2_Type
are subranges (by DWARF definition for arrays), of an anonymous subrange
type. When deciding whether to print the bound of the first element,
we handle subranges, but only up to one level. This patch enhanced
the code to handle any number of subrange levels.
gdb/ChangeLog:
* ada-valprint.c (print_optional_low_bound): Get index_type's
target type for as long as it is a TYPE_CODE_RANGE.
No testcase with this patch, but this will be tested via the testcase
of another patch, which uses the DWARF assembler to generate debugging
info for an array indexed by an enum.
2014-01-09 13:30:39 +00:00
|
|
|
|
2014-01-27 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (print_optional_low_bound): Get index_type's
|
|
|
|
|
target type for as long as it is a TYPE_CODE_RANGE.
|
|
|
|
|
|
Remove assert in procfs.c::procfs_make_note_section (x86-solaris)
On x86-solaris, the gcore command sometimes triggers the following
internal error:
(gdb) gcore
/[...]/procfs.c:5523: internal-error: procfs_make_note_section: Assertion `thread_args.note_data != note_data' failed.
The problem is extremely elusive, for reasons that will become clearer
as I explain what is going on.
The program used to produce this issue was really simple:
| void break_me (void) { }
|
| int
| main (void)
| {
| break_me ();
| return 0;
| }
The procfs_make_note_section builds a buffer incrementally with
the contents of the core's notes section. The interesting bits are:
char *note_data = NULL;
[...]
note_data = (char *) elfcore_write_prpsinfo (obfd,
note_data,
note_size,
fname,
psargs);
This is the first call to bfd's elfcore which initializes note_data.
After that, we have a few more calls, which keep updating notes_data
and note_size, but our interest lies in the following part of
the function:
thread_args.note_data = note_data;
[...]
proc_iterate_over_threads (pi, procfs_corefile_thread_callback,
&thread_args);
/* There should be always at least one thread. */
gdb_assert (thread_args.note_data != note_data);
The comment implies that the assert is to verify that our loop
iterated over at least one thread. The check is relying on the
fact that the notes_data returned by the elfcore module changes
at each iteration, via (in procfs_corefile_thread_callback):
args->note_data = procfs_do_thread_registers (args->obfd, ptid,
args->note_data,
args->note_size,
args->stop_signal);
(which calls elfcore_write_lwpstatus).
But, while it happens most of the time, thanks to a call to realloc
in elfcore_write_note (the function that actually appends the data
at the end of the notes buffer),...
buf = (char *) realloc (buf, *bufsiz + newspace);
... this is by no means guarantied. In fact, under the right
circumstances, the buffer was grown twice without changing
addresses. Unfortunately, the circumstances are very sensitive,
thus making this bug very elusive.
This patch fixes the problem by simply removing the assert.
This means we're losing the assertion that there is at least one
thread, but I think that's OK. If we still want to keep the
assertion, we have the option of either checking the buffer
size, or else adding a boolean flag in the context structure
that we'd set to true as soon as we have a thread.
gdb/ChangeLog:
* procfs.c (procfs_make_note_section): Remove assertion and
associated comment.
2014-01-20 15:18:58 +00:00
|
|
|
|
2014-01-27 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* procfs.c (procfs_make_note_section): Remove assertion and
|
|
|
|
|
associated comment.
|
|
|
|
|
|
2014-01-10 06:11:59 +00:00
|
|
|
|
2014-01-24 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_read_bytes): Change type of len to ULONGEST.
|
|
|
|
|
* corelow.c (get_core_siginfo): Likewise.
|
|
|
|
|
|
Change len's type to ULONGEST: remote_write_bytes_aux
Hi,
This patch changes the type of 'len' from ssize_t to ULONGEST.
At the beginning Siddhesh Poyarekar proposed this patch
[PATCH] Memory reads and writes should have size_t length
https://sourceware.org/ml/gdb-patches/2012-05/msg01073.html
to change type of 'len' to size_t. However, after Jan's review, we
decide to change it to ssize_t, because callers of these functions
may pass signed type to them.
AFAICS, the target layer is a boundary. In one side, we pass size_t
or ssize_t to target related APIs, and in the other side, the
implementation side, we used LONGEST (ULONGEST in latest code) because
of to_xfer_partial.
Since remote_write_bytes_aux and remote_write_bytes belong to the
implementation of remote target, we should use ULONGEST for len, IMO.
Regression tested on x86_64-linux. Is it OK?
gdb:
2014-01-24 Yao Qi <yao@codesourcery.com>
* remote.c (remote_write_bytes_aux): Change type of 'len' to
ULONGEST. Don't check 'len' is negative.
(remote_write_bytes): Change type of 'len' to ULONGEST.
2014-01-10 05:59:26 +00:00
|
|
|
|
2014-01-24 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_write_bytes_aux): Change type of 'len' to
|
|
|
|
|
ULONGEST. Don't check 'len' is negative.
|
|
|
|
|
(remote_write_bytes): Change type of 'len' to ULONGEST.
|
|
|
|
|
|
2014-01-22 15:52:15 +00:00
|
|
|
|
2014-01-23 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR python/16485:
|
|
|
|
|
* python/lib/gdb/FrameDecorator.py: (FrameVars.fetch_frame_args):
|
|
|
|
|
Handle exception from frame.block.
|
|
|
|
|
(FrameVars.fetch_frame_locals): Likewise.
|
|
|
|
|
|
2014-01-22 15:44:41 +00:00
|
|
|
|
2014-01-23 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR python/16487:
|
|
|
|
|
* python/py-framefilter.c (py_print_frame): Don't call Py_DECREF
|
|
|
|
|
on a NULL pointer. Move "goto error" to correct place.
|
|
|
|
|
|
2014-01-22 15:10:01 +00:00
|
|
|
|
2014-01-23 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR python/16491:
|
|
|
|
|
* python/py-framefilter.c (apply_frame_filter): Call
|
|
|
|
|
ensure_python_env after computing gdbarch.
|
|
|
|
|
|
2013-12-16 06:39:12 +00:00
|
|
|
|
2014-01-23 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* target.c (raw_memory_xfer_partial): Change argument type
|
|
|
|
|
from void * to gdb_byte *.
|
|
|
|
|
(memory_xfer_partial_1, memory_xfer_partial): Likewise.
|
|
|
|
|
|
2014-01-22 22:17:39 +00:00
|
|
|
|
2014-01-22 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
New gdbserver option --debug-format=timestamp.
|
|
|
|
|
* NEWS: Mention it.
|
|
|
|
|
|
2014-01-22 17:54:43 +00:00
|
|
|
|
2014-01-22 Andreas Arnez <arnez@vnet.linux.ibm.com>
|
|
|
|
|
|
|
|
|
|
* syscalls/s390x-linux.xml: New file.
|
|
|
|
|
* syscalls/s390-linux.xml: New file.
|
|
|
|
|
* s390-linux-tdep.c (XML_SYSCALL_FILENAME_S390): New macro.
|
|
|
|
|
(XML_SYSCALL_FILENAME_S390X): Likewise.
|
|
|
|
|
(op_svc): New enum value for SVC opcode.
|
|
|
|
|
(s390_sigtramp_frame_sniffer): Replace literal by 'op_svc'.
|
|
|
|
|
(s390_linux_get_syscall_number): New function.
|
|
|
|
|
(s390_gdbarch_init): Register '*get_syscall_number' and the
|
|
|
|
|
syscall xml file name.
|
|
|
|
|
* data-directory/Makefile.in (SYSCALLS_FILES): Add
|
|
|
|
|
"s390-linux.xml" and "s390x-linux.xml".
|
|
|
|
|
* NEWS: Announce new feature.
|
|
|
|
|
|
2014-01-22 13:02:29 +00:00
|
|
|
|
2014-01-22 Baruch Siach <baruch@tkos.co.il>
|
|
|
|
|
|
|
|
|
|
* xtensa-tdep.h (xtensa_elf_greg_t): Change type to uint32_t.
|
|
|
|
|
|
2014-01-22 12:01:53 +00:00
|
|
|
|
2014-01-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* xtensa-config.c: Include defs.h.
|
|
|
|
|
|
2014-01-21 10:16:57 +00:00
|
|
|
|
2014-01-22 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* common/common-utils.h: Add "ARI:" comment beside __func__
|
|
|
|
|
reference.
|
|
|
|
|
|
2014-01-21 10:20:50 +00:00
|
|
|
|
2014-01-22 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* common/common-utils.h (FUNCTION_NAME): Expand the macro's
|
|
|
|
|
documentation a bit.
|
|
|
|
|
|
2014-01-21 19:01:04 +00:00
|
|
|
|
2014-01-21 Roland McGrath <mcgrathr@google.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Call AM_PROG_INSTALL_STRIP.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* Makefile.in (install_sh, INSTALL_STRIP_PROGRAM, STRIP):
|
|
|
|
|
New substituted variables.
|
|
|
|
|
(install-strip): New target.
|
|
|
|
|
(INSTALL_SCRIPT): New substituted variable.
|
|
|
|
|
(FLAGS_TO_PASS): Add it.
|
|
|
|
|
(install-only): Use $(INSTALL_SCRIPT) rather than
|
|
|
|
|
$(INSTALL_PROGRAM) for gcore.
|
|
|
|
|
|
2013-12-27 05:06:27 +00:00
|
|
|
|
2014-01-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-decode.h (struct cmd_list_element): Move all bitfields
|
|
|
|
|
together.
|
|
|
|
|
|
convert flags to bitfields
This changes various flags struct cmd_list_element into bitfields. In
general I think bitfields are cleaner than flag words, at least in a
case like this where there is no need to pass the flags around
independently of the enclosing struct.
2014-01-20 Tom Tromey <tromey@redhat.com>
* cli/cli-decode.c (add_cmd, deprecate_cmd, add_alias_cmd)
(add_setshow_cmd_full, delete_cmd, lookup_cmd_1)
(deprecated_cmd_warning, complete_on_cmdlist): Update.
* cli/cli-decode.h (CMD_DEPRECATED, DEPRECATED_WARN_USER)
(MALLOCED_REPLACEMENT, DOC_ALLOCATED): Remove.
(struct cmd_list_element) <flags>: Remove.
<cmd_deprecated, deprecated_warn_user, malloced_replacement,
doc_allocated>: New fields.
<hook_in, allow_unknown, abbrev_flag, type, var_type>: Now
bitfields.
* maint.c (maintenance_do_deprecate): Update.
* top.c (execute_command): Update.
2013-12-27 05:04:40 +00:00
|
|
|
|
2014-01-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-decode.c (add_cmd, deprecate_cmd, add_alias_cmd)
|
|
|
|
|
(add_setshow_cmd_full, delete_cmd, lookup_cmd_1)
|
|
|
|
|
(deprecated_cmd_warning, complete_on_cmdlist): Update.
|
|
|
|
|
* cli/cli-decode.h (CMD_DEPRECATED, DEPRECATED_WARN_USER)
|
|
|
|
|
(MALLOCED_REPLACEMENT, DOC_ALLOCATED): Remove.
|
|
|
|
|
(struct cmd_list_element) <flags>: Remove.
|
|
|
|
|
<cmd_deprecated, deprecated_warn_user, malloced_replacement,
|
|
|
|
|
doc_allocated>: New fields.
|
|
|
|
|
<hook_in, allow_unknown, abbrev_flag, type, var_type>: Now
|
|
|
|
|
bitfields.
|
|
|
|
|
* maint.c (maintenance_do_deprecate): Update.
|
|
|
|
|
* top.c (execute_command): Update.
|
|
|
|
|
|
2014-01-20 07:53:12 +00:00
|
|
|
|
2014-01-20 Baruch Siach <baruch@tkos.co.il>
|
|
|
|
|
|
|
|
|
|
* xtensa-linux-nat.c: Include asm/ptrace.h.
|
|
|
|
|
|
2014-01-18 17:27:28 +00:00
|
|
|
|
2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (SFILES): Add d-support.c.
|
|
|
|
|
(COMMON_OBS): Add d-support.o.
|
|
|
|
|
* d-lang.h (d_parse_symbol): Add comment, now defined in
|
|
|
|
|
d-support.c.
|
|
|
|
|
* d-lang.c (parse_call_convention)
|
|
|
|
|
(parse_attributes, parse_function_types)
|
|
|
|
|
(parse_function_args, parse_type, parse_identifier)
|
|
|
|
|
(call_convention_p, d_parse_symbol): Move functions to ...
|
|
|
|
|
* d-support.c: ... New file.
|
|
|
|
|
|
2014-01-18 17:22:00 +00:00
|
|
|
|
2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
|
|
|
|
|
|
|
|
* d-lang.h (d_parse_symbol): Add declaration.
|
|
|
|
|
* d-lang.c (extract_identifiers)
|
|
|
|
|
(extract_type_info): Remove functions.
|
|
|
|
|
(parse_call_convention, parse_attributes)
|
|
|
|
|
(parse_function_types, parse_function_args)
|
|
|
|
|
(parse_type, parse_identifier, call_convention_p)
|
|
|
|
|
(d_parse_symbol): New functions.
|
|
|
|
|
(d_demangle): Use d_parse_symbol to demangle D symbols.
|
|
|
|
|
|
2014-01-18 17:18:23 +00:00
|
|
|
|
2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
|
|
|
|
|
|
|
|
* d-lang.h (struct builtin_d_type): New data type.
|
|
|
|
|
(builtin_d_type): Add declaration.
|
|
|
|
|
* d-lang.c (d_language_arch_info, build_d_types)
|
|
|
|
|
(builtin_d_type): New functions.
|
|
|
|
|
(enum d_primitive_types): New data type.
|
|
|
|
|
(d_language_defn): Change c_language_arch_info to
|
|
|
|
|
d_language_arch_info.
|
|
|
|
|
(d_type_data): New static variable.
|
|
|
|
|
(_initialize_d_language): Initialize d_type_data.
|
|
|
|
|
|
2014-01-18 17:09:43 +00:00
|
|
|
|
2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
|
|
|
|
|
|
|
|
* d-lang.h (d_main_name): Add declaration.
|
|
|
|
|
* d-lang.c (d_main_name): New function.
|
|
|
|
|
* symtab.c (find_main_name): Add call to d_main_name.
|
|
|
|
|
|
2014-01-18 18:04:08 +00:00
|
|
|
|
2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
|
|
|
|
|
|
|
|
* d-lang.c (d_language_defn): Change macro_expansion_c to
|
|
|
|
|
macro_expansion_no.
|
|
|
|
|
|
2014-01-18 18:02:41 +00:00
|
|
|
|
2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Add myself as a write-after-approval maintainer.
|
|
|
|
|
|
2014-01-17 21:39:57 +00:00
|
|
|
|
2014-01-17 Sergio Durigan Junior <sergiodj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (insert_bp_location): Add "volatile" keyword to "struct
|
|
|
|
|
gdb_exception" declaration.
|
|
|
|
|
* remote.c (getpkt_or_notif_sane): Likewise.
|
|
|
|
|
|
2014-01-17 18:23:29 +00:00
|
|
|
|
2014-01-17 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* common/gdb_vecs.c (delim_string_to_char_ptr_vec_append): New
|
|
|
|
|
function, contents of dirnames_to_char_ptr_vec_append moved here.
|
|
|
|
|
(delim_string_to_char_ptr_vec): New function.
|
|
|
|
|
(dirnames_to_char_ptr_vec_append): Rewrite.
|
|
|
|
|
* common/gdb_vecs.h (delim_string_to_char_ptr_vec): Declare.
|
|
|
|
|
|
2014-01-17 18:00:07 +00:00
|
|
|
|
2014-01-17 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* common/common-utils.h (FUNCTION_NAME): Renamed from ASSERT_FUNCTION,
|
|
|
|
|
and moved here ...
|
|
|
|
|
* common/gdb_assert.h (ASSERT_FUNCTION): ... from here.
|
|
|
|
|
#include "common-utils.h".
|
|
|
|
|
(gdb_assert, gdb_assert_fail, gdb_assert_not_reached): Update.
|
|
|
|
|
* common/vec.h (VEC_ASSERT_PASS): Update.
|
|
|
|
|
* darwin-nat.h: Replace #include of gdb_assert.h with common-utils.h.
|
|
|
|
|
(MACH_CHECK_ERROR): Update.
|
|
|
|
|
|
2014-01-17 09:54:56 +00:00
|
|
|
|
2014-01-17 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* gdbarch.sh (gdbarch_address_class_name_to_type_flags): Add
|
|
|
|
|
comments.
|
|
|
|
|
* gdbarch.h: Regenerate.
|
|
|
|
|
|
2013-12-28 05:22:07 +00:00
|
|
|
|
2014-01-16 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* value.c (struct value) <regnum>: Move earlier.
|
|
|
|
|
|
2013-12-18 15:27:54 +00:00
|
|
|
|
2014-01-16 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (extended_remote_create_inferior): Rename from
|
|
|
|
|
extended_remote_create_inferior_1. Add "ops" argument. Remove
|
|
|
|
|
old implementation.
|
|
|
|
|
|
Fix gdb.trace/mi-traceframe-changed.exp on s390.
The test fails on s390 with:
-trace-find frame-number 0^M
&"PC not available\n"^M
^done,found="1",tracepoint="1",traceframe="0",frame={level="-1",addr="<unavailable>",func="??",args=[]}^M
(gdb) ^M
FAIL: gdb.trace/mi-traceframe-changed.exp: tfile: -trace-find frame-number 0
tfile knows to infer the PC from the tracepoint's address if the PC
wasn't collected (tfile_fetch_registers) but, that only works on
targets whose PC register is a raw register, and on s390, the PC
register is a pseudo register.
But even if GDB doesn't know how to infer the value of PC, saying the
current frame is level -1 is a bug:
^done,found="1",tracepoint="1",traceframe="0",frame={level="-1",addr="<unavailable>",func="??",args=[]}^M
^^^^^^^^^
'-1' is the level of the sentinel frame, which should never be visible.
This is caused by the s390's heuristic unwinder accepting the frame
(the fallback heuristic unwinders _always_ accept the frame), but then
the unwind->this_id method throws that "PC not available\n" error.
IOW, the s390's heuristic unwinder was never adjusted to handle
unavailable register values gracefully, which can happen with e.g., a
trimmed core file too.
This is just the minimal necessary for
<unavailable> frames, which at least gets us:
(gdb) tfind
Found trace frame 0, tracepoint 1
#0 <unavailable> in ?? ()
That is, frame #0 instead of -1.
We could get better info out of "info frame" (this patch makes us show
"outermost"), but this change would still be necessary.
gdb/
2014-01-16 Pedro Alves <palves@redhat.com>
* s390-linux-tdep.c (s390_frame_unwind_cache): Swallow
NOT_AVAILABLE_ERROR errors while parsing the prologue or reading
the backchain.
2014-01-16 17:43:26 +00:00
|
|
|
|
2014-01-16 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* s390-linux-tdep.c (s390_frame_unwind_cache): Swallow
|
|
|
|
|
NOT_AVAILABLE_ERROR errors while parsing the prologue or reading
|
|
|
|
|
the backchain.
|
|
|
|
|
|
2014-01-16 17:29:10 +00:00
|
|
|
|
2014-01-16 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (open_and_init_dwp_file): Fix typo in comment.
|
|
|
|
|
|
2013-05-06 14:04:46 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* btrace.h (btrace_thread_flag): New.
|
|
|
|
|
(struct btrace_thread_info) <flags>: New.
|
|
|
|
|
* record-btrace.c (record_btrace_resume_thread)
|
|
|
|
|
(record_btrace_find_thread_to_move, btrace_step_no_history)
|
|
|
|
|
(btrace_step_stopped, record_btrace_start_replaying)
|
|
|
|
|
(record_btrace_step_thread, record_btrace_decr_pc_after_break)
|
|
|
|
|
(record_btrace_find_resume_thread): New.
|
|
|
|
|
(record_btrace_resume, record_btrace_wait): Extend.
|
|
|
|
|
(record_btrace_can_execute_reverse): New.
|
|
|
|
|
(record_btrace_open): Fail in non-stop mode.
|
|
|
|
|
(record_btrace_set_replay): Split into this, ...
|
|
|
|
|
(record_btrace_stop_replaying): ... this, ...
|
|
|
|
|
(record_btrace_clear_histories): ... and this.
|
|
|
|
|
(init_record_btrace_ops): Init to_can_execute_reverse.
|
|
|
|
|
* NEWS: Announce it.
|
|
|
|
|
|
2013-12-18 10:09:34 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* target.h (struct target_ops) <to_decr_pc_after_break>: New.
|
|
|
|
|
(forward_target_decr_pc_after_break)
|
|
|
|
|
(target_decr_pc_after_break): New.
|
|
|
|
|
* target.c (forward_target_decr_pc_after_break)
|
|
|
|
|
(target_decr_pc_after_break): New.
|
|
|
|
|
* aix-thread.c (aix_thread_wait): Call target_decr_pc_after_break
|
|
|
|
|
instead of gdbarch_decr_pc_after_break.
|
|
|
|
|
* darwin-nat.c (cancel_breakpoint): Call target_decr_pc_after_break
|
|
|
|
|
instead of gdbarch_decr_pc_after_break.
|
|
|
|
|
* infrun.c (adjust_pc_after_break): Call target_decr_pc_after_break
|
|
|
|
|
instead of gdbarch_decr_pc_after_break.
|
|
|
|
|
* linux-nat.c (cancel_breakpoint): Call target_decr_pc_after_break
|
|
|
|
|
instead of gdbarch_decr_pc_after_break.
|
|
|
|
|
* linux-thread-db.c (check_event): Call target_decr_pc_after_break
|
|
|
|
|
instead of gdbarch_decr_pc_after_break.
|
|
|
|
|
* record-full.c (record_full_wait_1): Call target_decr_pc_after_break
|
|
|
|
|
instead of gdbarch_decr_pc_after_break.
|
|
|
|
|
|
2013-09-10 10:27:14 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* btrace.c: Include regcache.h.
|
|
|
|
|
(btrace_add_pc): New.
|
|
|
|
|
(btrace_enable): Call btrace_add_pc.
|
|
|
|
|
(btrace_is_empty): New.
|
|
|
|
|
* btrace.h (btrace_is_empty): New.
|
|
|
|
|
* record-btrace.c (require_btrace, record_btrace_info): Call
|
|
|
|
|
btrace_is_empty.
|
|
|
|
|
|
2013-06-03 13:39:35 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-btrace.c (perf_event_read_bts, linux_read_btrace):
|
|
|
|
|
Support delta reads.
|
|
|
|
|
(linux_disable_btrace): Change return type.
|
|
|
|
|
* common/linux-btrace.h (linux_read_btrace): Change parameters
|
|
|
|
|
and return type to allow error reporting. Update users.
|
|
|
|
|
(linux_disable_btrace): Change return type. Update users.
|
|
|
|
|
* common/btrace-common.h (btrace_read_type) <BTRACE_READ_DELTA>:
|
|
|
|
|
New.
|
|
|
|
|
(btrace_error): New.
|
|
|
|
|
(btrace_block) <begin>: Comment on BEGIN == 0.
|
|
|
|
|
* btrace.c (btrace_compute_ftrace): Start from the end of
|
|
|
|
|
the current trace.
|
|
|
|
|
(btrace_stitch_trace, btrace_clear_history): New.
|
|
|
|
|
(btrace_fetch): Read delta trace, return if replaying.
|
|
|
|
|
(btrace_clear): Move clear history code to btrace_clear_history.
|
|
|
|
|
(parse_xml_btrace): Throw an error if parsing failed.
|
|
|
|
|
* target.h (struct target_ops) <to_read_btrace>: Change parameters
|
|
|
|
|
and return type to allow error reporting.
|
|
|
|
|
(target_read_btrace): Change parameters and return type to allow
|
|
|
|
|
error reporting.
|
|
|
|
|
* target.c (target_read_btrace): Update.
|
|
|
|
|
* remote.c (remote_read_btrace): Support delta reads. Pass
|
|
|
|
|
errors on.
|
|
|
|
|
* NEWS: Announce it.
|
|
|
|
|
|
2013-03-27 08:49:47 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record.h (record_btrace_frame_unwind)
|
|
|
|
|
(record_btrace_tailcall_frame_unwind): New declarations.
|
|
|
|
|
* dwarf2-frame: Include record.h
|
|
|
|
|
(dwarf2_frame_cfa): Throw an error for btrace frames.
|
|
|
|
|
* record-btrace.c: Include hashtab.h.
|
|
|
|
|
(btrace_get_bfun_name): New.
|
|
|
|
|
(btrace_call_history): Call btrace_get_bfun_name.
|
|
|
|
|
(struct btrace_frame_cache): New.
|
|
|
|
|
(bfcache): New.
|
|
|
|
|
(bfcache_hash, bfcache_eq, bfcache_new): New.
|
|
|
|
|
(btrace_get_frame_function): New.
|
|
|
|
|
(record_btrace_frame_unwind_stop_reason): Allow unwinding.
|
|
|
|
|
(record_btrace_frame_this_id): Compute own id.
|
|
|
|
|
(record_btrace_frame_prev_register): Provide PC, throw_error
|
|
|
|
|
for all other registers.
|
|
|
|
|
(record_btrace_frame_sniffer): Detect btrace frames.
|
|
|
|
|
(record_btrace_tailcall_frame_sniffer): New.
|
|
|
|
|
(record_btrace_frame_dealloc_cache): New.
|
|
|
|
|
(record_btrace_frame_unwind): Add new functions.
|
|
|
|
|
(record_btrace_tailcall_frame_unwind): New.
|
|
|
|
|
(_initialize_record_btrace): Allocate cache.
|
|
|
|
|
* btrace.c (btrace_clear): Call reinit_frame_cache.
|
|
|
|
|
* NEWS: Announce it.
|
|
|
|
|
|
2013-03-25 15:01:33 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (record_btrace_set_replay)
|
|
|
|
|
(record_btrace_goto_begin, record_btrace_goto_end)
|
|
|
|
|
(record_btrace_goto): New.
|
|
|
|
|
(init_record_btrace_ops): Initialize them.
|
|
|
|
|
* NEWS: Announce it.
|
|
|
|
|
|
2013-05-03 08:51:13 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (record_btrace_find_new_threads)
|
|
|
|
|
(record_btrace_thread_alive): New.
|
|
|
|
|
(init_record_btrace_ops): Initialize to_find_new_threads and
|
|
|
|
|
to_thread_alive.
|
|
|
|
|
|
2013-03-25 14:44:43 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (record_btrace_resume): New.
|
|
|
|
|
(record_btrace_wait): New.
|
|
|
|
|
(init_record_btrace_ops): Initialize to_wait and to_resume.
|
|
|
|
|
|
2013-04-24 11:24:11 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (record_btrace_xfer_partial)
|
|
|
|
|
(record_btrace_insert_breakpoint, record_btrace_remove_breakpoint)
|
|
|
|
|
(record_btrace_allow_memory_access): New.
|
|
|
|
|
(init_record_btrace_ops): Initialize new methods.
|
|
|
|
|
* target.c (raw_memory_xfer_partial): Bail out if target reports
|
|
|
|
|
that this memory is not available.
|
|
|
|
|
|
target, breakpoint: allow insert/remove breakpoint to be forwarded
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
* target.h (target_ops) <to_insert_breakpoint>
<to_remove_breakpoint>: Add target_ops parameter.
(forward_target_insert_breakpoint): New.
(forward_target_remove_breakpoint): New.
(memory_remove_breakpoint, memory_insert_breakpoint):
Add target_ops parameter.
* target.c (target_insert_breakpoint): Split into this and ...
(forward_target_insert_breakpoint): ... this.
(target_remove_breakpoint): Split into this and ...
(forward_target_remove_breakpoint): ... this.
(debug_to_insert_breakpoint): Add target_ops parameter.
Call forward_target_insert_breakpoint.
(debug_to_remove_breakpoint): Add target_ops parameter.
Call forward_target_remove_breakpoint.
(update_current_target): Do not inherit or default to_insert_breakpoint
and to_remove_breakpoint.
* corelow.c (ignore): Add target_ops parameter.
* exec.c (ignore): Add target_ops parameter.
* mem-break.c (memory_insert_breakpoint, memory_remove_breakpoint):
Add target_ops parameter.
* monitor.c (monitor_insert_breakpoint, monitor_remove_breakpoint):
Add target_ops parameter.
* nto-procfs.c (procfs_insert_breakpoint, procfs_remove_breakpoint):
Add target_ops parameter.
* record-full.c (record_full_beneath_to_insert_breakpoint)
(record_full_beneath_to_remove_breakpoint, tmp_to_insert_breakpoint)
(tmp_to_remove_breakpoint, record_full_insert_breakpoint)
(record_full_remove_breakpoint, record_full_core_insert_breakpoint)
(record_full_core_remove_breakpoint): Add target_ops parameter.
Update users.
(record_full_beneath_to_insert_breakpoint_ops)
(record_full_beneath_to_remove_breakpoint_ops)
(tmp_to_insert_breakpoint_ops, tmp_to_remove_breakpoint_ops): New.
(record_full_open): Initialize tmp_to_insert_breakpoint_ops,
tmp_to_remove_breakpoint_ops,
record_full_beneath_to_insert_breakpoint_ops, and
record_full_beneath_to_remove_breakpoint_ops.
* remote-m32r-sdi.c (m32r_insert_breakpoint)
(m32r_remove_breakpoint): Add target_ops parameter.
* remote-mips.c (mips_insert_breakpoint, mips_remove_breakpoint):
Add target_ops parameter.
* remote.c (remote_insert_breakpoint, remote_remove_breakpoint):
Add target_ops parameter.
2013-12-17 09:49:03 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* target.h (target_ops) <to_insert_breakpoint>
|
|
|
|
|
<to_remove_breakpoint>: Add target_ops parameter.
|
|
|
|
|
(forward_target_insert_breakpoint): New.
|
|
|
|
|
(forward_target_remove_breakpoint): New.
|
|
|
|
|
(memory_remove_breakpoint, memory_insert_breakpoint):
|
|
|
|
|
Add target_ops parameter.
|
|
|
|
|
* target.c (target_insert_breakpoint): Split into this and ...
|
|
|
|
|
(forward_target_insert_breakpoint): ... this.
|
|
|
|
|
(target_remove_breakpoint): Split into this and ...
|
|
|
|
|
(forward_target_remove_breakpoint): ... this.
|
|
|
|
|
(debug_to_insert_breakpoint): Add target_ops parameter.
|
|
|
|
|
Call forward_target_insert_breakpoint.
|
|
|
|
|
(debug_to_remove_breakpoint): Add target_ops parameter.
|
|
|
|
|
Call forward_target_remove_breakpoint.
|
|
|
|
|
(update_current_target): Do not inherit or default to_insert_breakpoint
|
|
|
|
|
and to_remove_breakpoint.
|
|
|
|
|
* corelow.c (ignore): Add target_ops parameter.
|
|
|
|
|
* exec.c (ignore): Add target_ops parameter.
|
|
|
|
|
* mem-break.c (memory_insert_breakpoint, memory_remove_breakpoint):
|
|
|
|
|
Add target_ops parameter.
|
|
|
|
|
* monitor.c (monitor_insert_breakpoint, monitor_remove_breakpoint):
|
|
|
|
|
Add target_ops parameter.
|
|
|
|
|
* nto-procfs.c (procfs_insert_breakpoint, procfs_remove_breakpoint):
|
|
|
|
|
Add target_ops parameter.
|
|
|
|
|
* record-full.c (record_full_beneath_to_insert_breakpoint)
|
|
|
|
|
(record_full_beneath_to_remove_breakpoint, tmp_to_insert_breakpoint)
|
|
|
|
|
(tmp_to_remove_breakpoint, record_full_insert_breakpoint)
|
|
|
|
|
(record_full_remove_breakpoint, record_full_core_insert_breakpoint)
|
|
|
|
|
(record_full_core_remove_breakpoint): Add target_ops parameter.
|
|
|
|
|
Update users.
|
|
|
|
|
(record_full_beneath_to_insert_breakpoint_ops)
|
|
|
|
|
(record_full_beneath_to_remove_breakpoint_ops)
|
|
|
|
|
(tmp_to_insert_breakpoint_ops, tmp_to_remove_breakpoint_ops): New.
|
|
|
|
|
(record_full_open): Initialize tmp_to_insert_breakpoint_ops,
|
|
|
|
|
tmp_to_remove_breakpoint_ops,
|
|
|
|
|
record_full_beneath_to_insert_breakpoint_ops, and
|
|
|
|
|
record_full_beneath_to_remove_breakpoint_ops.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_insert_breakpoint)
|
|
|
|
|
(m32r_remove_breakpoint): Add target_ops parameter.
|
|
|
|
|
* remote-mips.c (mips_insert_breakpoint, mips_remove_breakpoint):
|
|
|
|
|
Add target_ops parameter.
|
|
|
|
|
* remote.c (remote_insert_breakpoint, remote_remove_breakpoint):
|
|
|
|
|
Add target_ops parameter.
|
|
|
|
|
|
2013-03-18 15:47:01 +00:00
|
|
|
|
2014-01-16 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c: Include frame-unwind.h.
|
|
|
|
|
(record_btrace_frame_unwind_stop_reason)
|
|
|
|
|
(record_btrace_frame_this_id, record_btrace_frame_prev_register)
|
|
|
|
|
(record_btrace_frame_sniffer, record_btrace_frame_unwind):
|
|
|
|
|
New.
|
|
|
|
|
(init_record_btrace_ops): Install it.
|
|
|
|
|
|
2013-03-18 15:43:05 +00:00
|
|
|
|
2014-01-16 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* frame.c (get_frame_unwind_stop_reason): Unconditionally call
|
|
|
|
|
get_prev_frame_1.
|
|
|
|
|
|
2013-03-18 15:43:05 +00:00
|
|
|
|
2014-01-16 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2-frame.c (dwarf2_frame_cfa): Move UNWIND_UNAVAILABLE check
|
|
|
|
|
earlier.
|
|
|
|
|
|
2013-03-18 15:43:05 +00:00
|
|
|
|
2014-01-16 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* frame-unwind.c: Include target.h.
|
|
|
|
|
(frame_unwind_try_unwinder): New function with code from ...
|
|
|
|
|
(frame_unwind_find_by_frame): ... here. New variable
|
|
|
|
|
unwinder_from_target, call also target_get_unwinder)
|
|
|
|
|
(target_get_tailcall_unwinder, and frame_unwind_try_unwinder for it.
|
|
|
|
|
* target.c (target_get_unwinder, target_get_tailcall_unwinder): New.
|
|
|
|
|
* target.h (struct target_ops): New fields to_get_unwinder and
|
|
|
|
|
to_get_tailcall_unwinder.
|
|
|
|
|
(target_get_unwinder, target_get_tailcall_unwinder): New declarations.
|
|
|
|
|
|
2013-03-28 09:38:24 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (record_btrace_fetch_registers)
|
|
|
|
|
(record_btrace_store_registers)
|
|
|
|
|
(record_btrace_to_prepare_to_store): New.
|
|
|
|
|
(init_record_btrace_ops): Add the above.
|
|
|
|
|
|
2014-01-13 13:24:50 +00:00
|
|
|
|
2014-01-16 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_prepare_to_store): Add 'self' argument.
|
|
|
|
|
* target.h (struct target_ops) <to_prepare_to_store>: Add
|
|
|
|
|
argument.
|
|
|
|
|
(target_prepare_to_store): Add argument.
|
|
|
|
|
* target.c (debug_to_prepare_to_store): Add argument.
|
|
|
|
|
(update_current_target): Update.
|
|
|
|
|
* remote.c (remote_prepare_to_store): Add 'self' argument.
|
|
|
|
|
* remote-sim.c (gdbsim_prepare_to_store): Add 'self' argument.
|
|
|
|
|
* remote-mips.c (mips_prepare_to_store): Add 'self' argument.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_prepare_to_store): Add 'self' argument.
|
|
|
|
|
* record-full.c (record_full_core_prepare_to_store): Add 'self'
|
|
|
|
|
argument.
|
|
|
|
|
* ravenscar-thread.c (ravenscar_prepare_to_store): Add argument.
|
|
|
|
|
* nto-procfs.c (procfs_prepare_to_store): Add 'self' argument.
|
|
|
|
|
* monitor.c (monitor_prepare_to_store): Add 'self' argument.
|
|
|
|
|
* inf-child.c (inf_child_prepare_to_store): Add 'self' argument.
|
|
|
|
|
* go32-nat.c (go32_prepare_to_store): Add 'self' argument.
|
|
|
|
|
|
2013-04-26 06:37:06 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* btrace.h (replay) <replay>: New.
|
|
|
|
|
(btrace_is_replaying): New.
|
|
|
|
|
* btrace.c (btrace_clear): Free replay iterator.
|
|
|
|
|
(btrace_is_replaying): New.
|
|
|
|
|
* record-btrace.c (record_btrace_is_replaying): New.
|
|
|
|
|
(record_btrace_info): Print insn number if replaying.
|
|
|
|
|
(record_btrace_insn_history): Start at replay position.
|
|
|
|
|
(record_btrace_call_history): Start at replay position.
|
|
|
|
|
(init_record_btrace_ops): Init to_record_is_replaying.
|
|
|
|
|
|
2013-04-17 07:39:43 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (record_btrace_insn_history_range): Include
|
|
|
|
|
end.
|
|
|
|
|
(record_btrace_insn_history_from): Adjust range.
|
|
|
|
|
(record_btrace_call_history_range): Include
|
|
|
|
|
end.
|
|
|
|
|
(record_btrace_call_history_from): Adjust range.
|
|
|
|
|
* NEWS: Announce changes.
|
|
|
|
|
|
2013-04-18 08:58:05 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record.h (enum record_print_flag)
|
|
|
|
|
<record_print_indent_calls>: New.
|
|
|
|
|
* record.c (get_call_history_modifiers): Recognize /c modifier.
|
|
|
|
|
(_initialize_record): Document /c modifier.
|
|
|
|
|
* record-btrace.c (btrace_call_history): Add btinfo parameter.
|
|
|
|
|
Reorder fields. Optionally indent the function name. Update
|
|
|
|
|
all users.
|
|
|
|
|
* NEWS: Announce changes.
|
|
|
|
|
|
2013-04-10 11:43:41 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-btrace.c (linux_enable_btrace): Enlarge buffer.
|
|
|
|
|
|
2013-05-13 12:57:42 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* btrace.c (ftrace_new_function): Start counting at one.
|
|
|
|
|
* record-btrace.c (record_btrace_info): Adjust number of calls
|
|
|
|
|
and insns.
|
|
|
|
|
* NEWS: Announce it.
|
|
|
|
|
|
2013-03-26 10:32:20 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (btrace_call_history_insn_range): Print
|
|
|
|
|
insn range as [begin, end].
|
|
|
|
|
|
btrace: change branch trace data structure
The branch trace is represented as 3 vectors:
- a block vector
- a instruction vector
- a function vector
Each vector (except for the first) is computed from the one above.
Change this into a graph where a node represents a sequence of instructions
belonging to the same function and where we have three types of edges to connect
the function segments:
- control flow
- same function (instance)
- call stack
This allows us to navigate in the branch trace. We will need this for "record
goto" and reverse execution.
This patch introduces the data structure and computes the control flow edges.
It also introduces iterator structs to simplify iterating over the branch trace
in control-flow order.
It also fixes PR gdb/15240 since now recursive calls are handled correctly.
Fix the test that got the number of expected fib instances and also the
function numbers wrong.
The current instruction had been part of the branch trace. This will look odd
once we start support for reverse execution. Remove it. We still keep it in
the trace itself to allow extending the branch trace more easily in the future.
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
* btrace.h (struct btrace_func_link): New.
(enum btrace_function_flag): New.
(struct btrace_inst): Rename to ...
(struct btrace_insn): ...this. Update all users.
(struct btrace_func) <ibegin, iend>: Remove.
(struct btrace_func_link): New.
(struct btrace_func): Rename to ...
(struct btrace_function): ...this. Update all users.
(struct btrace_function) <segment, flow, up, insn, insn_offset)
(number, level, flags>: New.
(struct btrace_insn_iterator): Rename to ...
(struct btrace_insn_history): ...this.
Update all users.
(struct btrace_insn_iterator, btrace_call_iterator): New.
(struct btrace_target_info) <btrace, itrace, ftrace>: Remove.
(struct btrace_target_info) <begin, end, level>
<insn_history, call_history>: New.
(btrace_insn_get, btrace_insn_number, btrace_insn_begin)
(btrace_insn_end, btrace_insn_prev, btrace_insn_next)
(btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get)
(btrace_call_number, btrace_call_begin, btrace_call_end)
(btrace_call_prev, btrace_call_next, btrace_call_cmp)
(btrace_find_function_by_number, btrace_set_insn_history)
(btrace_set_call_history): New.
* btrace.c (btrace_init_insn_iterator)
(btrace_init_func_iterator, compute_itrace): Remove.
(ftrace_print_function_name, ftrace_print_filename)
(ftrace_skip_file): Change
parameter to const.
(ftrace_init_func): Remove.
(ftrace_debug): Use new btrace_function fields.
(ftrace_function_switched): Also consider gaining and
losing symbol information).
(ftrace_print_insn_addr, ftrace_new_call, ftrace_new_return)
(ftrace_new_switch, ftrace_find_caller, ftrace_new_function)
(ftrace_update_caller, ftrace_fixup_caller, ftrace_new_tailcall):
New.
(ftrace_new_function): Move. Remove debug print.
(ftrace_update_lines, ftrace_update_insns): New.
(ftrace_update_function): Check for call, ret, and jump.
(compute_ftrace): Renamed to ...
(btrace_compute_ftrace): ...this. Rewritten to compute call
stack.
(btrace_fetch, btrace_clear): Updated.
(btrace_insn_get, btrace_insn_number, btrace_insn_begin)
(btrace_insn_end, btrace_insn_prev, btrace_insn_next)
(btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get)
(btrace_call_number, btrace_call_begin, btrace_call_end)
(btrace_call_prev, btrace_call_next, btrace_call_cmp)
(btrace_find_function_by_number, btrace_set_insn_history)
(btrace_set_call_history): New.
* record-btrace.c (require_btrace): Use new btrace thread
info fields.
(record_btrace_info, btrace_insn_history)
(record_btrace_insn_history, record_btrace_insn_history_range):
Use new btrace thread info fields and new iterator.
(btrace_func_history_src_line): Rename to ...
(btrace_call_history_src_line): ...this. Use new btrace
thread info fields.
(btrace_func_history): Rename to ...
(btrace_call_history): ...this. Use new btrace thread info
fields and new iterator.
(record_btrace_call_history, record_btrace_call_history_range):
Use new btrace thread info fields and new iterator.
testsuite/
* gdb.btrace/function_call_history.exp: Fix expected function
trace.
* gdb.btrace/instruction_history.exp: Initialize traced.
Remove traced_functions.
2013-03-22 13:32:47 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* btrace.h (struct btrace_func_link): New.
|
|
|
|
|
(enum btrace_function_flag): New.
|
|
|
|
|
(struct btrace_inst): Rename to ...
|
|
|
|
|
(struct btrace_insn): ...this. Update all users.
|
|
|
|
|
(struct btrace_func) <ibegin, iend>: Remove.
|
|
|
|
|
(struct btrace_func_link): New.
|
|
|
|
|
(struct btrace_func): Rename to ...
|
|
|
|
|
(struct btrace_function): ...this. Update all users.
|
|
|
|
|
(struct btrace_function) <segment, flow, up, insn, insn_offset)
|
|
|
|
|
(number, level, flags>: New.
|
|
|
|
|
(struct btrace_insn_iterator): Rename to ...
|
|
|
|
|
(struct btrace_insn_history): ...this.
|
|
|
|
|
Update all users.
|
|
|
|
|
(struct btrace_insn_iterator, btrace_call_iterator): New.
|
|
|
|
|
(struct btrace_target_info) <btrace, itrace, ftrace>: Remove.
|
|
|
|
|
(struct btrace_target_info) <begin, end, level>
|
|
|
|
|
<insn_history, call_history>: New.
|
|
|
|
|
(btrace_insn_get, btrace_insn_number, btrace_insn_begin)
|
|
|
|
|
(btrace_insn_end, btrace_insn_prev, btrace_insn_next)
|
|
|
|
|
(btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get)
|
|
|
|
|
(btrace_call_number, btrace_call_begin, btrace_call_end)
|
|
|
|
|
(btrace_call_prev, btrace_call_next, btrace_call_cmp)
|
|
|
|
|
(btrace_find_function_by_number, btrace_set_insn_history)
|
|
|
|
|
(btrace_set_call_history): New.
|
|
|
|
|
* btrace.c (btrace_init_insn_iterator)
|
|
|
|
|
(btrace_init_func_iterator, compute_itrace): Remove.
|
|
|
|
|
(ftrace_print_function_name, ftrace_print_filename)
|
|
|
|
|
(ftrace_skip_file): Change
|
|
|
|
|
parameter to const.
|
|
|
|
|
(ftrace_init_func): Remove.
|
|
|
|
|
(ftrace_debug): Use new btrace_function fields.
|
|
|
|
|
(ftrace_function_switched): Also consider gaining and
|
|
|
|
|
losing symbol information).
|
|
|
|
|
(ftrace_print_insn_addr, ftrace_new_call, ftrace_new_return)
|
|
|
|
|
(ftrace_new_switch, ftrace_find_caller, ftrace_new_function)
|
|
|
|
|
(ftrace_update_caller, ftrace_fixup_caller, ftrace_new_tailcall):
|
|
|
|
|
New.
|
|
|
|
|
(ftrace_new_function): Move. Remove debug print.
|
|
|
|
|
(ftrace_update_lines, ftrace_update_insns): New.
|
|
|
|
|
(ftrace_update_function): Check for call, ret, and jump.
|
|
|
|
|
(compute_ftrace): Renamed to ...
|
|
|
|
|
(btrace_compute_ftrace): ...this. Rewritten to compute call
|
|
|
|
|
stack.
|
|
|
|
|
(btrace_fetch, btrace_clear): Updated.
|
|
|
|
|
(btrace_insn_get, btrace_insn_number, btrace_insn_begin)
|
|
|
|
|
(btrace_insn_end, btrace_insn_prev, btrace_insn_next)
|
|
|
|
|
(btrace_insn_cmp, btrace_find_insn_by_number, btrace_call_get)
|
|
|
|
|
(btrace_call_number, btrace_call_begin, btrace_call_end)
|
|
|
|
|
(btrace_call_prev, btrace_call_next, btrace_call_cmp)
|
|
|
|
|
(btrace_find_function_by_number, btrace_set_insn_history)
|
|
|
|
|
(btrace_set_call_history): New.
|
|
|
|
|
* record-btrace.c (require_btrace): Use new btrace thread
|
|
|
|
|
info fields.
|
|
|
|
|
(record_btrace_info, btrace_insn_history)
|
|
|
|
|
(record_btrace_insn_history, record_btrace_insn_history_range):
|
|
|
|
|
Use new btrace thread info fields and new iterator.
|
|
|
|
|
(btrace_func_history_src_line): Rename to ...
|
|
|
|
|
(btrace_call_history_src_line): ...this. Use new btrace
|
|
|
|
|
thread info fields.
|
|
|
|
|
(btrace_func_history): Rename to ...
|
|
|
|
|
(btrace_call_history): ...this. Use new btrace thread info
|
|
|
|
|
fields and new iterator.
|
|
|
|
|
(record_btrace_call_history, record_btrace_call_history_range):
|
|
|
|
|
Use new btrace thread info fields and new iterator.
|
|
|
|
|
|
2013-12-18 13:13:54 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* frame.h (frame_id_build_unavailable_stack_special): New.
|
|
|
|
|
* frame.c (frame_id_build_unavailable_stack_special): New.
|
|
|
|
|
|
gdbarch: add instruction predicate methods
Add new methods to gdbarch for analyzing the instruction at a given address.
Implement those methods for i386 and amd64 architectures.
This is needed by "record btrace" to detect function calls in the
execution trace.
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
* amd64-tdep.c (amd64_classify_insn_at, amd64_insn_is_call)
(amd64_insn_is_ret, amd64_insn_is_jump, amd64_jmp_p): New.
(amd64_init_abi): Add insn_is_call, insn_is_ret, and insn_is_jump
to gdbarch.
* i386-tdep.c (i386_insn_is_call, i386_insn_is_ret)
(i386_insn_is_jump, i386_jmp_p): New.
(i386_gdbarch_init): Add insn_is_call, insn_is_ret, and
insn_is_jump to gdbarch.
* gdbarch.sh (insn_is_call, insn_is_ret, insn_is_jump): New.
* gdbarch.h: Regenerated.
* gdbarch.c: Regenerated.
* arch-utils.h (default_insn_is_call, default_insn_is_ret)
(default_insn_is_jump): New.
* arch-utils.c (default_insn_is_call, default_insn_is_ret)
(default_insn_is_jump): New.
2013-03-22 14:56:56 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* amd64-tdep.c (amd64_classify_insn_at, amd64_insn_is_call)
|
|
|
|
|
(amd64_insn_is_ret, amd64_insn_is_jump, amd64_jmp_p): New.
|
|
|
|
|
(amd64_init_abi): Add insn_is_call, insn_is_ret, and insn_is_jump
|
|
|
|
|
to gdbarch.
|
|
|
|
|
* i386-tdep.c (i386_insn_is_call, i386_insn_is_ret)
|
|
|
|
|
(i386_insn_is_jump, i386_jmp_p): New.
|
|
|
|
|
(i386_gdbarch_init): Add insn_is_call, insn_is_ret, and
|
|
|
|
|
insn_is_jump to gdbarch.
|
|
|
|
|
* gdbarch.sh (insn_is_call, insn_is_ret, insn_is_jump): New.
|
|
|
|
|
* gdbarch.h: Regenerated.
|
|
|
|
|
* gdbarch.c: Regenerated.
|
|
|
|
|
* arch-utils.h (default_insn_is_call, default_insn_is_ret)
|
|
|
|
|
(default_insn_is_jump): New.
|
|
|
|
|
* arch-utils.c (default_insn_is_call, default_insn_is_ret)
|
|
|
|
|
(default_insn_is_jump): New.
|
|
|
|
|
|
2013-09-30 13:00:16 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* common/btrace-common.h (btrace_read_type) <btrace_read_all>:
|
|
|
|
|
Change to ...
|
|
|
|
|
(btrace_read_type) <BTRACE_READ_ALL>: ... this. Update users.
|
|
|
|
|
(btrace_read_type) <btrace_read_new>: Change to ...
|
|
|
|
|
(btrace_read_type) <BTRACE_READ_NEW>: ... this. Update users.
|
|
|
|
|
|
2013-06-03 12:32:15 +00:00
|
|
|
|
2014-01-16 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-btrace.c (linux_read_btrace): Free trace from
|
|
|
|
|
previous iteration.
|
|
|
|
|
|
2014-01-15 21:14:06 +00:00
|
|
|
|
2014-01-15 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (open_and_init_dwp_file): Use pulongest to print
|
|
|
|
|
uint32_t.
|
|
|
|
|
|
2013-12-31 03:34:16 +00:00
|
|
|
|
2014-01-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dbxread.c (process_one_symbol): Use set_objfile_main_name.
|
|
|
|
|
* dwarf2read.c (read_partial_die): Use set_objfile_main_name.
|
|
|
|
|
* objfiles.c (get_objfile_bfd_data): Initialize language_of_main.
|
|
|
|
|
(set_objfile_main_name): New function.
|
|
|
|
|
* objfiles.h (struct objfile_per_bfd_storage) <name_of_main,
|
|
|
|
|
language_of_main>: New fields.
|
|
|
|
|
(set_objfile_main_name): Declare.
|
|
|
|
|
* symtab.c (find_main_name): Loop over objfiles to find the main
|
|
|
|
|
name and language.
|
|
|
|
|
(set_main_name): Now static.
|
|
|
|
|
(get_main_info): Add comment.
|
|
|
|
|
* symtab.h (set_main_name): Don't declare.
|
|
|
|
|
|
2013-12-31 03:18:24 +00:00
|
|
|
|
2014-01-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (main_progspace_key): New global.
|
|
|
|
|
(struct main_info): New.
|
|
|
|
|
(name_of_main, language_of_main): Remove.
|
|
|
|
|
(get_main_info, main_info_cleanup): New function.
|
|
|
|
|
(set_main_name, main_name, main_language): Use get_main_info.
|
|
|
|
|
(_initialize_symtab): Initialize main_progspace_key.
|
|
|
|
|
|
2013-12-31 03:05:34 +00:00
|
|
|
|
2014-01-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dbxread.c (process_one_symbol): Update.
|
|
|
|
|
* dwarf2read.c (read_partial_die): Update.
|
|
|
|
|
* symfile.c (set_initial_language): Call main_language.
|
|
|
|
|
* symtab.c (language_of_main): Now static.
|
|
|
|
|
(set_main_name): Add 'lang' parameter.
|
|
|
|
|
(find_main_name): Update.
|
|
|
|
|
(main_language): New function.
|
|
|
|
|
(symtab_observer_executable_changed): Update.
|
|
|
|
|
* symtab.h (set_main_name): Update.
|
|
|
|
|
(language_of_main): Remove.
|
|
|
|
|
(main_language): Declare.
|
|
|
|
|
|
2013-12-31 13:57:18 +00:00
|
|
|
|
2014-01-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c (init_entry_point_info): Use new "initialized" field.
|
|
|
|
|
Update.
|
|
|
|
|
* objfiles.h (struct entry_point) <initialized>: New field.
|
|
|
|
|
(struct objfile_per_bfd_storage) <ei>: New field, moved from...
|
|
|
|
|
(struct objfile) <ei>: ...here. Remove.
|
|
|
|
|
* objfiles.c (entry_point_address_query): Update.
|
|
|
|
|
|
2013-12-31 13:52:33 +00:00
|
|
|
|
2014-01-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.c (entry_point_address_query): Relocate entry point
|
|
|
|
|
address.
|
|
|
|
|
(objfile_relocate1): Do not relocate entry point address.
|
|
|
|
|
* objfiles.h (struct entry_info) <entry_point>: Update comment.
|
|
|
|
|
<the_bfd_section_index>: New field.
|
|
|
|
|
* symfile.c (init_entry_point_info): Find the entry point's
|
|
|
|
|
section.
|
|
|
|
|
|
2013-12-31 09:47:37 +00:00
|
|
|
|
2014-01-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* solib-frv.c (enable_break): Use entry_point_address_query.
|
|
|
|
|
|
2014-01-03 19:15:36 +00:00
|
|
|
|
2014-01-15 Omair Javaid <omair.javaid@linaro.org>
|
|
|
|
|
|
|
|
|
|
* NEWS: Add note on improved process record-replay on
|
|
|
|
|
arm*-linux* targets.
|
|
|
|
|
|
2014-01-09 10:33:55 +00:00
|
|
|
|
2014-01-15 Omair Javaid <omair.javaid@linaro.org>
|
|
|
|
|
|
|
|
|
|
* arm-tdep.c (enum arm_record_result): New enum.
|
|
|
|
|
(arm_record_unsupported_insn): New function.
|
|
|
|
|
(arm_record_coproc_data_proc): Removed.
|
|
|
|
|
(thumb2_record_ld_st_multiple): New function.
|
|
|
|
|
(thumb2_record_ld_st_dual_ex_tbb): New function.
|
|
|
|
|
(thumb2_record_data_proc_sreg_mimm): New function.
|
|
|
|
|
(thumb2_record_ps_dest_generic): New function.
|
|
|
|
|
(thumb2_record_branch_misc_cntrl): New function.
|
|
|
|
|
(thumb2_record_str_single_data): New function.
|
|
|
|
|
(thumb2_record_ld_mem_hints): New function.
|
|
|
|
|
(thumb2_record_ld_word): New function.
|
|
|
|
|
(thumb2_record_lmul_lmla_div): New function.
|
|
|
|
|
(thumb2_record_decode_insn_handler): New function.
|
|
|
|
|
(decode_insn): Add thumb32 instruction handlers.
|
|
|
|
|
|
2014-01-09 10:49:27 +00:00
|
|
|
|
2014-01-15 Omair Javaid <omair.javaid@linaro.org>
|
|
|
|
|
|
|
|
|
|
* arm-linux-tdep.c: Include "record-full.h" and "linux-record.h".
|
|
|
|
|
(struct arm_linux_record_tdep): Declare.
|
|
|
|
|
(arm_canonicalize_syscall): New function.
|
|
|
|
|
(arm_all_but_pc_registers_record): New function.
|
|
|
|
|
(arm_linux_syscall_record): New function.
|
|
|
|
|
(arm_linux_init_abi): Add syscall recording constructs.
|
|
|
|
|
* arm-tdep.c (thumb_record_ldm_stm_swi): Update thumb syscall
|
|
|
|
|
decoding. (arm_record_coproc_data_proc): Update arm syscall
|
|
|
|
|
decoding.
|
|
|
|
|
* arm-tdep.h (struct gdbarch_tdep) <arm_swi_record>: Remove.
|
|
|
|
|
<arm_syscall_record>: New field.
|
|
|
|
|
* configure.tgt (arm*-*-linux*): Add linux-record.o to
|
|
|
|
|
gdb_target_obs.
|
|
|
|
|
|
2014-01-03 19:15:32 +00:00
|
|
|
|
2014-01-15 Omair Javaid <omair.javaid@linaro.org>
|
|
|
|
|
|
|
|
|
|
* arm-tdep.c (thumb_record_misc): Update to use sp as base
|
|
|
|
|
register for push instruction recording.
|
|
|
|
|
|
2014-01-03 19:15:31 +00:00
|
|
|
|
2014-01-15 Omair Javaid <omair.javaid@linaro.org>
|
|
|
|
|
|
|
|
|
|
* arm-tdep.c (thumb_record_misc): Update to correct logical
|
|
|
|
|
error while recording ldm, ldmia and pop instructions.
|
|
|
|
|
|
2014-01-09 10:35:45 +00:00
|
|
|
|
2014-01-15 Omair Javaid <omair.javaid@linaro.org>
|
|
|
|
|
|
|
|
|
|
* arm-tdep.c (struct arm_mem_r) <addr>: Change type to uint32_t.
|
|
|
|
|
|
Fix go32-nat.c build fallout from to_detach constification.
The recent constification of to_detach missed updating the forward
declaration of go32_detach, breaking the build:
../../src/gdb/go32-nat.c:387:1: error: conflicting types for 'go32_detach'
../../src/gdb/go32-nat.c:240:13: note: previous declaration of 'go32_detach' was here
go32_detach is actually defined before it's ever used, making the
forward declaration is unnecessary. So we can just remove it instead
of updating it. While at it, remove all others in the same situation.
Tested by building a djgpp gdb.
gdb/
2014-01-15 Pedro Alves <palves@redhat.com>
* go32-nat.c (go32_open, go32_close, go32_attach, go32_detach)
(go32_resume, go32_fetch_registers, store_register)
(go32_store_registers, go32_prepare_to_store)
(go32_xfer_memory, go32_files_info, go32_kill_inferior)
(go32_create_inferior, go32_can_run, go32_terminal_init)
(go32_terminal_inferior, go32_terminal_ours): Delete forward
declarations.
2014-01-15 16:18:04 +00:00
|
|
|
|
2014-01-15 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* go32-nat.c (go32_open, go32_close, go32_attach, go32_detach)
|
|
|
|
|
(go32_resume, go32_fetch_registers, store_register)
|
|
|
|
|
(go32_store_registers, go32_prepare_to_store)
|
|
|
|
|
(go32_xfer_memory, go32_files_info, go32_kill_inferior)
|
|
|
|
|
(go32_create_inferior, go32_can_run, go32_terminal_init)
|
|
|
|
|
(go32_terminal_inferior, go32_terminal_ours): Delete forward
|
|
|
|
|
declarations.
|
|
|
|
|
|
2013-12-19 21:33:07 +00:00
|
|
|
|
2014-01-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (async_callback_ftype): New typedef.
|
|
|
|
|
(struct target_ops) <to_async>: Use it.
|
|
|
|
|
|
2014-01-15 12:40:22 +00:00
|
|
|
|
2014-01-15 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* python/py-value.c (get_field_type): Remove unnecessary curly
|
|
|
|
|
braces for single-statement if block.
|
|
|
|
|
|
2014-01-15 12:28:08 +00:00
|
|
|
|
2014-01-15 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (convert_field): Add missing empty line
|
|
|
|
|
after declarations.
|
|
|
|
|
|
2014-01-15 02:36:33 +00:00
|
|
|
|
2014-01-14 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* symfile.h (expand_symtabs_matching): Renamed from
|
|
|
|
|
expand_partial_symbol_names. Update prototype.
|
|
|
|
|
(map_symbol_filenames): Renamed from map_partial_symbol_filenames.
|
|
|
|
|
* symfile.c (expand_symtabs_matching): Renamed from
|
|
|
|
|
expand_partial_symbol_names. New args file_matcher, kind.
|
|
|
|
|
Rename arg fun to symbol_matcher.
|
|
|
|
|
(map_symbol_filenames): Renamed from map_partial_symbol_filenames.
|
|
|
|
|
* ada-lang.c (ada_complete_symbol_matcher): Renamed from
|
|
|
|
|
ada_expand_partial_symbol_name.
|
|
|
|
|
(ada_make_symbol_completion_list): Update to call
|
|
|
|
|
expand_symtabs_matching.
|
|
|
|
|
(ada_add_global_exceptions): Call expand_symtabs_matching.
|
|
|
|
|
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update to
|
|
|
|
|
call map_symbol_filenames.
|
|
|
|
|
* symtab.c (sources_info): Update to call map_symbol_filenames.
|
|
|
|
|
(search_symbols): Call expand_symtabs_matching.
|
|
|
|
|
(symbol_completion_matcher): Renamed from expand_partial_symbol_name.
|
|
|
|
|
(default_make_symbol_completion_list_break_on): Update to call
|
|
|
|
|
expand_symtabs_matching.
|
|
|
|
|
(make_source_files_completion_list): Update to call
|
|
|
|
|
map_symbol_filenames.
|
|
|
|
|
|
2014-01-15 02:30:31 +00:00
|
|
|
|
2014-01-14 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* symfile.h (expand_symtabs_file_matcher_ftype): New typedef.
|
|
|
|
|
(expand_symtabs_symbol_matcher_ftype): New typedef.
|
|
|
|
|
(quick_symbol_functions.expand_symtabs_matching): Update to use.
|
|
|
|
|
expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
|
|
|
|
|
* symfile.c (expand_partial_symbol_names): Update to use
|
|
|
|
|
expand_symtabs_symbol_matcher_ftype.
|
|
|
|
|
* dwarf2read.c (dw2_expand_symtabs_matching): Update to use
|
|
|
|
|
expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
|
|
|
|
|
Arg name_matcher renamed to symbol_matcher.
|
|
|
|
|
* psymtab.c (recursively_search_psymtabs): Update to use
|
|
|
|
|
expand_symtabs_symbol_matcher_ftype. Arg name_matcher renamed to
|
|
|
|
|
sym_matcher.
|
|
|
|
|
(expand_symtabs_matching_via_partial): Update to use
|
|
|
|
|
expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
|
|
|
|
|
Arg name_matcher renamed to symbol_matcher.
|
|
|
|
|
|
2014-01-15 02:19:51 +00:00
|
|
|
|
2014-01-14 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.c (expand_partial_symbol_names): Delete, moved to symfile.c.
|
|
|
|
|
(map_partial_symbol_filenames): Ditto.
|
|
|
|
|
* psymtab.h (expand_partial_symbol_names): Delete, moved to symfile.h.
|
|
|
|
|
(map_partial_symbol_filenames): Ditto.
|
|
|
|
|
* symfile.c (expand_partial_symbol_names): Moved here from psymtab.c.
|
|
|
|
|
(map_partial_symbol_filenames): Ditto.
|
|
|
|
|
* symfile.h (expand_partial_symbol_names): Moved here from psymtab.h.
|
|
|
|
|
(map_partial_symbol_filenames): Ditto.
|
|
|
|
|
* symtab.c: Delete #include "psymtab.h".
|
|
|
|
|
|
Fix "is a record target open" checks.
RECORD_IS_USED and record_full_open look at current_target.to_stratum
to determine whether a record target is in use. This is wrong because
arch_stratum is greater than record_stratum, so if an arch_stratum
target is pushed, RECORD_IS_USED and record_full_open will miss it.
To fix this, we can use the existing find_record_target instead, which
looks up for a record stratum target across the target stack. Since
that means exporting find_record_target in record.h, RECORD_IS_USED
ends up redundant, so the patch eliminates it.
That exercise then reveals other issues:
- adjust_pc_after_break is gating record_full_... calls based on
RECORD_IS_USED. But, record_full_ calls shouldn't be made when
recording with the record-btrace target. So this adds a new
record_full_is_used predicate to be used in that spot.
- record_full_open says "Process record target already running", even
if the recording target is record-btrace ("process record" is the
original complete name of the record-full target). record_btrace_open
only says "The process is already being recorded." and does not
suggest "record stop", like record-full does. The patch factors out
and merges that error to a new record_preopen function that all record
targets call in their open routine.
Tested on x86_64 Fedora 17.
gdb/
2014-01-14 Pedro Alves <palves@redhat.com>
Tom Tromey <tromey@redhat.com>
* infrun.c (use_displaced_stepping): Use find_record_target
instead of RECORD_IS_USED.
(adjust_pc_after_break): Use record_full_is_used instead of
RECORD_IS_USED.
* record-btrace.c (record_btrace_open): Call record_preopen
instead of checking RECORD_IS_USED.
* record-full.c (record_full_shortname)
(record_full_core_shortname): New globals.
(record_full_is_used): New function.
(find_full_open): Call record_preopen instead of checking
RECORD_IS_USED.
(init_record_full_ops): Set the target's shortname to
record_full_shortname.
(init_record_full_core_ops): Set the target's shortname to
record_full_core_shortname.
* record-full.h (record_full_is_used): Declare.
* record.c (find_record_target): Make extern.
(record_preopen): New function.
* record.h (RECORD_IS_USED): Delete macro.
(find_record_target, record_preopen): Declare functions.
2014-01-14 16:12:19 +00:00
|
|
|
|
2014-01-14 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (use_displaced_stepping): Use find_record_target
|
|
|
|
|
instead of RECORD_IS_USED.
|
|
|
|
|
(adjust_pc_after_break): Use record_full_is_used instead of
|
|
|
|
|
RECORD_IS_USED.
|
|
|
|
|
* record-btrace.c (record_btrace_open): Call record_preopen
|
|
|
|
|
instead of checking RECORD_IS_USED.
|
|
|
|
|
* record-full.c (record_full_shortname)
|
|
|
|
|
(record_full_core_shortname): New globals.
|
|
|
|
|
(record_full_is_used): New function.
|
|
|
|
|
(find_full_open): Call record_preopen instead of checking
|
|
|
|
|
RECORD_IS_USED.
|
|
|
|
|
(init_record_full_ops): Set the target's shortname to
|
|
|
|
|
record_full_shortname.
|
|
|
|
|
(init_record_full_core_ops): Set the target's shortname to
|
|
|
|
|
record_full_core_shortname.
|
|
|
|
|
* record-full.h (record_full_is_used): Declare.
|
|
|
|
|
* record.c (find_record_target): Make extern.
|
|
|
|
|
(record_preopen): New function.
|
|
|
|
|
* record.h (RECORD_IS_USED): Delete macro.
|
|
|
|
|
(find_record_target, record_preopen): Declare functions.
|
|
|
|
|
|
2014-01-02 07:36:55 +00:00
|
|
|
|
2014-01-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gdbarch.sh (core_xfer_shared_libraries): Change its argument
|
|
|
|
|
'len''s type to ULONGEST.
|
|
|
|
|
(core_xfer_shared_libraries_aix): Likewise.
|
|
|
|
|
* gdbarch.c, gdbarch.h: Regenerated.
|
|
|
|
|
* i386-cygwin-tdep.c (windows_core_xfer_shared_libraries):
|
|
|
|
|
Change type of 'len' to ULONGEST.
|
|
|
|
|
* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
|
|
|
|
|
(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
|
|
|
|
|
|
2014-01-03 11:19:51 +00:00
|
|
|
|
2014-01-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-osdata.c (linux_xfer_osdata_processes): Change
|
|
|
|
|
type of 'len' to ULONGEST.
|
|
|
|
|
(linux_xfer_osdata_processgroups): Likewise.
|
|
|
|
|
(linux_xfer_osdata_threads): Likewise.
|
|
|
|
|
(linux_xfer_osdata_fds): Likewise.
|
|
|
|
|
(linux_xfer_osdata_isockets): Likewise.
|
|
|
|
|
(linux_xfer_osdata_shm): Likewise.
|
|
|
|
|
(linux_xfer_osdata_sem): Likewise.
|
|
|
|
|
(linux_xfer_osdata_msg): Likewise.
|
|
|
|
|
(linux_common_xfer_osdata): Likewise.
|
|
|
|
|
(struct osdata_type) <getter>: Likewise.
|
|
|
|
|
* common/linux-osdata.h (linux_common_xfer_osdata): Update
|
|
|
|
|
the declaration.
|
|
|
|
|
|
2014-01-03 13:11:46 +00:00
|
|
|
|
2014-01-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* target.h (target_xfer_partial_ftype): Update.
|
|
|
|
|
(struct target_ops) <to_xfer_partial>: Change 'len' type to
|
|
|
|
|
ULONGEST.
|
|
|
|
|
* aix-thread.c (aix_thread_xfer_partial): Change type of
|
|
|
|
|
argument 'len' to ULONGEST.
|
|
|
|
|
* auxv.c (procfs_xfer_auxv): Likewise.
|
|
|
|
|
(ld_so_xfer_auxv): Likewise.
|
|
|
|
|
(memory_xfer_auxv): Likewise.
|
|
|
|
|
* bfd-target.c (target_bfd_xfer_partial): Likewise.
|
|
|
|
|
* bsd-kvm.c (bsd_kvm_xfer_partial): Likewise.
|
|
|
|
|
* bsd-uthread.c (bsd_uthread_xfer_partial): Likewise.
|
|
|
|
|
* corelow.c (core_xfer_partial): Likewise.
|
|
|
|
|
* ctf.c (ctf_xfer_partial): Likewise.
|
|
|
|
|
* darwin-nat.c (darwin_read_write_inferior): Likewise. Use
|
|
|
|
|
'%u'.
|
|
|
|
|
(darwin_read_dyld_info): Likewise.
|
|
|
|
|
(darwin_xfer_partial): Likewise.
|
|
|
|
|
* exec.c (section_table_xfer_memory_partial): Likewise.
|
|
|
|
|
(exec_xfer_partial): Likewise.
|
|
|
|
|
* exec.h (section_table_xfer_memory_partial): Update
|
|
|
|
|
declaration.
|
|
|
|
|
* gnu-nat.c (gnu_xfer_memory): Likewise. Call pulongest
|
|
|
|
|
instead of plongest.
|
|
|
|
|
(gnu_xfer_partial): Likewise.
|
|
|
|
|
* ia64-hpux-nat.c (ia64_hpux_xfer_memory): Likewise.
|
|
|
|
|
(ia64_hpux_xfer_solib_got): Likewise.
|
|
|
|
|
(ia64_hpux_xfer_partial): Likewise.
|
|
|
|
|
* ia64-linux-nat.c (ia64_linux_xfer_partial):
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_xfer_partial):
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_xfer_partial):
|
|
|
|
|
* linux-nat.c (linux_xfer_siginfo): Likewise.
|
|
|
|
|
(linux_nat_xfer_partial): Likewise.
|
|
|
|
|
(spu_enumerate_spu_ids, linux_proc_xfer_spu): Likewise.
|
|
|
|
|
(linux_nat_xfer_osdata, linux_xfer_partial): Likewise.
|
|
|
|
|
* monitor.c (monitor_xfer_memory): Likewise.
|
|
|
|
|
(monitor_xfer_partial): Likewise.
|
|
|
|
|
* procfs.c (procfs_xfer_partial): Likewise.
|
|
|
|
|
* record-full.c (record_full_xfer_partial): Likewise.
|
|
|
|
|
(record_full_core_xfer_partial): Likewise.
|
|
|
|
|
* remote-sim.c (gdbsim_xfer_memory): Likewise. Call pulongest
|
|
|
|
|
instead of plongest.
|
|
|
|
|
(gdbsim_xfer_partial): Likewise.
|
|
|
|
|
* remote.c (remote_xfer_partial): Likewise.
|
|
|
|
|
* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
|
|
|
|
|
* rs6000-aix-tdep.h (rs6000_aix_ld_info_to_xml): Update
|
|
|
|
|
declaration.
|
|
|
|
|
* rs6000-nat.c (rs6000_xfer_partial): Likewise.
|
|
|
|
|
(rs6000_xfer_shared_libraries): Likewise.
|
|
|
|
|
* sol-thread.c (sol_thread_xfer_partial): Likewise.
|
|
|
|
|
* sparc-nat.c (sparc_xfer_wcookie): Likewise.
|
|
|
|
|
(sparc_xfer_partial): Likewise.
|
|
|
|
|
* spu-linux-nat.c (spu_proc_xfer_spu): Likewise.
|
|
|
|
|
(spu_xfer_partial): Likewise.
|
|
|
|
|
* spu-multiarch.c (spu_xfer_partial): Likewise.
|
|
|
|
|
* target.c (target_read_live_memory): Likewise.
|
|
|
|
|
(memory_xfer_live_readonly_partial): Likewise.
|
|
|
|
|
(memory_xfer_partial, memory_xfer_partial_1): Likewise.
|
|
|
|
|
(target_xfer_partial, default_xfer_partial): Likewise.
|
|
|
|
|
(current_xfer_partial): Likewise.
|
|
|
|
|
* tracepoint.c (tfile_xfer_partial): Likewise.
|
|
|
|
|
* windows-nat.c (windows_xfer_memory): Likewise. Call
|
|
|
|
|
pulongest instead of plongest.
|
|
|
|
|
(windows_xfer_partial): Likewise.
|
|
|
|
|
(windows_xfer_shared_libraries): Likewise.
|
|
|
|
|
|
2014-01-03 02:33:44 +00:00
|
|
|
|
2014-01-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* rs6000-nat.c (rs6000_xfer_shared_libraries): Use
|
|
|
|
|
target_xfer_partial_ftype.
|
|
|
|
|
|
2013-12-27 20:20:59 +00:00
|
|
|
|
2014-01-13 Siva Chandra Reddy <sivachandra@google.com>
|
|
|
|
|
|
|
|
|
|
PR python/15464
|
|
|
|
|
PR python/16113
|
|
|
|
|
* valops.c (value_struct_elt_bitpos): New function
|
|
|
|
|
* py-type.c (convert_field): Set 'name' attribute of a gdb.Field
|
|
|
|
|
object to 'None' if the field name is an empty string ("").
|
|
|
|
|
* python/py-value.c (valpy_getitem): Use 'bitpos' and 'type'
|
|
|
|
|
attribute to look for a field when 'name' is 'None'.
|
|
|
|
|
(get_field_type): New function
|
|
|
|
|
|
2014-01-14 01:15:42 +00:00
|
|
|
|
2014-01-13 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/16426
|
|
|
|
|
* dwarf2read.c (dwarf2_get_dwz_file): Call gdb_bfd_record_inclusion.
|
|
|
|
|
(try_open_dwop_file): Ditto.
|
|
|
|
|
* gdb_bfd.c: #include "vec.h".
|
|
|
|
|
(bfdp): New typedef.
|
|
|
|
|
(struct gdb_bfd_data): New member included_bfds.
|
|
|
|
|
(gdb_bfd_unref): Unref all included bfds.
|
|
|
|
|
(gdb_bfd_record_inclusion): New function.
|
|
|
|
|
* gdb_bfd.h (gdb_bfd_record_inclusion): Declare.
|
|
|
|
|
|
2013-12-30 02:35:02 +00:00
|
|
|
|
2014-01-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdbcore.h (deprecated_core_resize_section_table): Remove.
|
|
|
|
|
|
2013-12-28 22:11:36 +00:00
|
|
|
|
2014-01-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* defs.h (use_windows): Remove.
|
|
|
|
|
* gdb.c (main): Update.
|
|
|
|
|
* main.c (captured_main, gdb_main): Update.
|
|
|
|
|
* main.h (struct captured_main_args) <use_windows>: Remove.
|
|
|
|
|
* top.c (use_windows): Remove.
|
|
|
|
|
|
2013-12-28 21:43:25 +00:00
|
|
|
|
2014-01-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* defs.h (deprecated_flush_hook): Remove.
|
|
|
|
|
|
2014-01-13 20:19:18 +00:00
|
|
|
|
2014-01-13 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR threads/16216
|
|
|
|
|
* linux-thread-db.c (try_thread_db_load): Add parameter
|
|
|
|
|
check_auto_load_safe. Move here the file_is_auto_load_safe call.
|
|
|
|
|
(try_thread_db_load_from_pdir_1): Move it there from here.
|
|
|
|
|
(try_thread_db_load_from_sdir): Update caller.
|
|
|
|
|
(try_thread_db_load_from_dir): Move it there from here.
|
|
|
|
|
|
2014-01-10 03:55:50 +00:00
|
|
|
|
2014-01-13 Patrick Palka <patrick@parcs.ath.cx>
|
|
|
|
|
|
|
|
|
|
* regformats/regdat.sh: Always rewrite the register file.
|
|
|
|
|
|
2014-01-13 19:36:38 +00:00
|
|
|
|
2014-01-13 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (CHECK_HEADERS): New variable.
|
|
|
|
|
(check-headers:): New rule.
|
|
|
|
|
|
2013-12-28 21:56:18 +00:00
|
|
|
|
2014-01-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-setshow.c (do_set_command): Update.
|
|
|
|
|
* defs.h (deprecated_set_hook): Remove.
|
|
|
|
|
* top.c (deprecated_set_hook): Remove.
|
|
|
|
|
|
2014-01-13 14:56:29 +00:00
|
|
|
|
2014-01-13 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (tfile_fetch_registers): Don't infer the PC from
|
|
|
|
|
the tracepoint if the PC is a pseudo-register.
|
|
|
|
|
|
replace XCALLOC with XCNEWVEC or XCNEW
This removes XCALLOC and replaces it either with XCNEWVEC, or, if the
number of elements being requested was 1, with XCNEW.
2014-01-13 Tom Tromey <tromey@redhat.com>
* defs.h (XCALLOC): Remove.
* bcache.c (bcache_xmalloc): Use XCNEW, not XCALLOC.
(print_bcache_statistics): Use XCNEWVEC, not XCALLOC.
* dwarf2loc.c (allocate_piece_closure): Likewise.
* elfread.c (elf_symfile_segments): Likewise.
(elf_symfile_segments): Likewise.
* gdbtypes.c (copy_type_recursive): Likewise.
* i386-tdep.c (i386_gdbarch_init): Use XCNEW, not XCALLOC.
* jit.c (jit_frame_sniffer): Use XCNEWVEC, not XCALLOC.
* minsyms.c (prim_record_minimal_symbol_full): Use XCNEW, not
XCALLOC.
* mt-tdep.c (mt_gdbarch_init): Likewise.
* opencl-lang.c (allocate_lval_closure): Use XCNEWVEC, not
XCALLOC.
* psymtab.c (psymbol_compare): Use XCNEW, not XCALLOC.
* regcache.c (regcache_xmalloc_1): Use XCNEWVEC, not XCALLOC.
* registry.c (registry_alloc_data): Likewise.
* rs6000-tdep.c (rs6000_gdbarch_init): Use XCNEW, not XCALLOC.
* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
* serial.c (serial_fdopen_ops): Likewise.
* solib-aix.c (solib_aix_get_section_offsets): Use XCNEWVEC, not
XCALLOC.
* spu-tdep.c (spu_gdbarch_init): Use XCNEW, not XCALLOC.
* symfile.c (default_symfile_segments): Use XCNEW and XCNEWVEC,
not XCALLOC.
2013-12-28 22:32:27 +00:00
|
|
|
|
2014-01-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* defs.h (XCALLOC): Remove.
|
|
|
|
|
* bcache.c (bcache_xmalloc): Use XCNEW, not XCALLOC.
|
|
|
|
|
(print_bcache_statistics): Use XCNEWVEC, not XCALLOC.
|
|
|
|
|
* dwarf2loc.c (allocate_piece_closure): Likewise.
|
|
|
|
|
* elfread.c (elf_symfile_segments): Likewise.
|
|
|
|
|
(elf_symfile_segments): Likewise.
|
|
|
|
|
* gdbtypes.c (copy_type_recursive): Likewise.
|
|
|
|
|
* i386-tdep.c (i386_gdbarch_init): Use XCNEW, not XCALLOC.
|
|
|
|
|
* jit.c (jit_frame_sniffer): Use XCNEWVEC, not XCALLOC.
|
|
|
|
|
* minsyms.c (prim_record_minimal_symbol_full): Use XCNEW, not
|
|
|
|
|
XCALLOC.
|
|
|
|
|
* mt-tdep.c (mt_gdbarch_init): Likewise.
|
|
|
|
|
* opencl-lang.c (allocate_lval_closure): Use XCNEWVEC, not
|
|
|
|
|
XCALLOC.
|
|
|
|
|
* psymtab.c (psymbol_compare): Use XCNEW, not XCALLOC.
|
|
|
|
|
* regcache.c (regcache_xmalloc_1): Use XCNEWVEC, not XCALLOC.
|
|
|
|
|
* registry.c (registry_alloc_data): Likewise.
|
|
|
|
|
* rs6000-tdep.c (rs6000_gdbarch_init): Use XCNEW, not XCALLOC.
|
|
|
|
|
* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
|
|
|
|
|
* serial.c (serial_fdopen_ops): Likewise.
|
|
|
|
|
* solib-aix.c (solib_aix_get_section_offsets): Use XCNEWVEC, not
|
|
|
|
|
XCALLOC.
|
|
|
|
|
* spu-tdep.c (spu_gdbarch_init): Use XCNEW, not XCALLOC.
|
|
|
|
|
* symfile.c (default_symfile_segments): Use XCNEW and XCNEWVEC,
|
|
|
|
|
not XCALLOC.
|
|
|
|
|
|
2013-12-28 22:31:23 +00:00
|
|
|
|
2014-01-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* defs.h (XMALLOC): Remove.
|
|
|
|
|
* avr-tdep.c (avr_gdbarch_init): Use XNEW, not XMALLOC.
|
|
|
|
|
* bfin-tdep.c (bfin_gdbarch_init): Likewise.
|
|
|
|
|
* cli-out.c (struct ui_out *): Likewise.
|
|
|
|
|
* cli/cli-dump.c (add_dump_command): Likewise.
|
|
|
|
|
(add_dump_command): Likewise.
|
|
|
|
|
* complaints.c (get_complaints): Likewise.
|
|
|
|
|
(find_complaint): Likewise.
|
|
|
|
|
* dwarf2-frame.c (execute_cfa_program): Likewise.
|
|
|
|
|
* dwarf2read.c (abbrev_table_read_table): Likewise.
|
|
|
|
|
* gdbarch.sh: Likewise.
|
|
|
|
|
* gdbarch.c: Rebuild.
|
|
|
|
|
* inf-ttrace.c (inf_ttrace_add_page): Likewise.
|
|
|
|
|
* interps.c (interp_new): Likewise.
|
|
|
|
|
* lm32-tdep.c (lm32_gdbarch_init): Likewise.
|
|
|
|
|
* m32r-tdep.c (m32r_gdbarch_init): Likewise.
|
|
|
|
|
* mi/mi-console.c (mi_console_file_new): Likewise.
|
|
|
|
|
* mi/mi-interp.c (mi_interpreter_init): Likewise.
|
|
|
|
|
* mi/mi-out.c (mi_out_new): Likewise.
|
|
|
|
|
* mi/mi-parse.c (mi_parse): Likewise.
|
|
|
|
|
* microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
|
|
|
|
|
* moxie-tdep.c (moxie_gdbarch_init): Likewise.
|
|
|
|
|
* observer.c (xalloc_observer_list_node): Likewise.
|
|
|
|
|
* regcache.c (regcache_xmalloc_1): Likewise.
|
|
|
|
|
* reggroups.c (reggroup_new): Likewise.
|
|
|
|
|
(_initialize_reggroup): Likewise.
|
|
|
|
|
* registry.c (register_data_with_cleanup): Likewise.
|
|
|
|
|
* remote.c (remote_notif_stop_alloc_reply): Likewise.
|
|
|
|
|
* ser-base.c (serial_ttystate): Likewise.
|
|
|
|
|
* ser-mingw.c (make_pipe_state): Likewise.
|
|
|
|
|
* ser-pipe.c (pipe_open): Likewise.
|
|
|
|
|
* serial.c (serial_open): Likewise.
|
|
|
|
|
* sh64-tdep.c (sh64_gdbarch_init): Likewise.
|
|
|
|
|
* tui/tui-data.c (tui_alloc_generic_win_info): Likewise.
|
|
|
|
|
(tui_alloc_win_info): Likewise.
|
|
|
|
|
(tui_add_content_elements): Likewise.
|
|
|
|
|
* tui/tui-file.c (tui_file_new): Likewise.
|
|
|
|
|
* tui/tui-out.c (tui_out_new): Likewise.
|
|
|
|
|
* ui-file.c (mem_file_new): Likewise.
|
|
|
|
|
* ui-out.c (push_level): Likewise.
|
|
|
|
|
(make_cleanup_ui_out_end): Likewise.
|
|
|
|
|
(append_header_to_list): Likewise.
|
|
|
|
|
(ui_out_new): Likewise.
|
|
|
|
|
* user-regs.c (user_reg_add_builtin): Likewise.
|
|
|
|
|
|
2013-12-28 22:31:01 +00:00
|
|
|
|
2014-01-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* defs.h (XZALLOC): Remove.
|
|
|
|
|
* ada-lang.c (get_ada_inferior_data): Use XCNEW, not XZALLOC.
|
|
|
|
|
* ada-tasks.c (get_ada_tasks_pspace_data): Likewise.
|
|
|
|
|
(get_ada_tasks_inferior_data): Likewise.
|
|
|
|
|
* auto-load.c (get_auto_load_pspace_data): Likewise.
|
|
|
|
|
* auxv.c (get_auxv_inferior_data): Likewise.
|
|
|
|
|
* bfd-target.c (target_bfd_reopen): Likewise.
|
|
|
|
|
* breakpoint.c (get_catch_syscall_inferior_data): Likewise.
|
|
|
|
|
(deprecated_insert_raw_breakpoint): Likewise.
|
|
|
|
|
* bsd-uthread.c (bsd_uthread_pid_to_str): Likewise.
|
|
|
|
|
* corelow.c (core_open): Likewise.
|
|
|
|
|
* darwin-nat.c (darwin_check_new_threads): Likewise.
|
|
|
|
|
(darwin_attach_pid): Likewise.
|
|
|
|
|
* dummy-frame.c (dummy_frame_push): Likewise.
|
|
|
|
|
* dwarf2-frame.c (dwarf2_frame_cache): Likewise.
|
|
|
|
|
* dwarf2loc.c (allocate_piece_closure): Likewise.
|
|
|
|
|
* elfread.c (elf_symfile_segments): Likewise.
|
|
|
|
|
* eval.c (ptrmath_type_p): Likewise.
|
|
|
|
|
* exceptions.c (EXCEPTIONS_SIGJMP_BUF): Likewise.
|
|
|
|
|
* gdbtypes.c (alloc_type_arch): Likewise.
|
|
|
|
|
(alloc_type_instance): Likewise.
|
|
|
|
|
* hppa-tdep.c (hppa_gdbarch_init): Likewise.
|
|
|
|
|
* inf-child.c (inf_child_can_use_agent): Likewise.
|
|
|
|
|
* inflow.c (get_inflow_inferior_data): Likewise.
|
|
|
|
|
* infrun.c (save_infcall_suspend_state): Likewise.
|
|
|
|
|
* jit.c (jit_reader_load): Likewise.
|
|
|
|
|
(get_jit_objfile_data): Likewise.
|
|
|
|
|
(get_jit_program_space_data): Likewise.
|
|
|
|
|
(jit_object_open_impl): Likewise.
|
|
|
|
|
(jit_symtab_open_impl): Likewise.
|
|
|
|
|
(jit_block_open_impl): Likewise.
|
|
|
|
|
(jit_frame_sniffer): Likewise.
|
|
|
|
|
* linux-fork.c (add_fork): Likewise.
|
|
|
|
|
* maint.c (make_command_stats_cleanup): Likewise.
|
|
|
|
|
* objfiles.c (get_objfile_pspace_data): Likewise.
|
|
|
|
|
* opencl-lang.c (struct lval_closure): Likewise.
|
|
|
|
|
* osdata.c (osdata_start_osdata): Likewise.
|
|
|
|
|
* progspace.c (new_address_space): Likewise.
|
|
|
|
|
(add_program_space): Likewise.
|
|
|
|
|
* remote-sim.c (get_sim_inferior_data): Likewise.
|
|
|
|
|
* sh-tdep.c (sh_gdbarch_init): Likewise.
|
|
|
|
|
* skip.c (Ignore): Likewise.
|
|
|
|
|
(skip_delete_command): Likewise.
|
|
|
|
|
* solib-aix.c (get_solib_aix_inferior_data): Likewise.
|
|
|
|
|
(library_list_start_library): Likewise.
|
|
|
|
|
(solib_aix_current_sos): Likewise.
|
|
|
|
|
* solib-darwin.c (get_darwin_info): Likewise.
|
|
|
|
|
(darwin_current_sos): Likewise.
|
|
|
|
|
* solib-dsbt.c (get_dsbt_info): Likewise.
|
|
|
|
|
* solib-ia64-hpux.c (new_so_list): Likewise.
|
|
|
|
|
(ia64_hpux_get_solib_linkage_addr): Likewise.
|
|
|
|
|
* solib-spu.c (append_ocl_sos): Likewise.
|
|
|
|
|
(spu_current_sos): Likewise.
|
|
|
|
|
* solib-svr4.c (get_svr4_info): Likewise.
|
|
|
|
|
(svr4_keep_data_in_core): Likewise.
|
|
|
|
|
(library_list_start_library): Likewise.
|
|
|
|
|
(svr4_default_sos): Likewise.
|
|
|
|
|
(svr4_read_so_list): Likewise.
|
|
|
|
|
* solib-target.c (library_list_start_library): Likewise.
|
|
|
|
|
(solib_target_current_sos): Likewise.
|
|
|
|
|
* sparc-tdep.c (sparc32_gdbarch_init): Likewise.
|
|
|
|
|
* symfile-debug.c (install_symfile_debug_logging): Likewise.
|
|
|
|
|
* symfile.c (default_symfile_segments): Likewise.
|
|
|
|
|
* target-descriptions.c (tdesc_data_init): Likewise.
|
|
|
|
|
(tdesc_create_reg): Likewise.
|
|
|
|
|
(struct tdesc_type *): Likewise.
|
|
|
|
|
(tdesc_create_vector): Likewise.
|
|
|
|
|
(tdesc_set_struct_size): Likewise.
|
|
|
|
|
(struct tdesc_type *): Likewise.
|
|
|
|
|
(tdesc_free_feature): Likewise.
|
|
|
|
|
(tdesc_create_feature): Likewise.
|
|
|
|
|
* windows-nat.c (windows_add_thread): Likewise.
|
|
|
|
|
(windows_make_so): Likewise.
|
|
|
|
|
* xml-support.c (gdb_xml_body_text): Likewise.
|
|
|
|
|
(gdb_xml_create_parser_and_cleanup): Likewise.
|
|
|
|
|
(xml_process_xincludes): Likewise.
|
|
|
|
|
* xml-syscall.c (allocate_syscalls_info): Likewise.
|
|
|
|
|
(syscall_create_syscall_desc): Likewise.
|
|
|
|
|
|
2014-01-12 03:32:26 +00:00
|
|
|
|
2014-01-12 Sergio Durigan Junior <sergiodj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* i386-tdep.c (i386_stap_parse_special_token_triplet): New
|
|
|
|
|
function, with code from i386_stap_parse_special_token.
|
|
|
|
|
(i386_stap_parse_special_token_three_arg_disp): Likewise.
|
|
|
|
|
(i386_stap_parse_special_token): Move code to the two functions
|
|
|
|
|
above; simplify it.
|
|
|
|
|
|
Handle the case of a remote target supporting target side commands, but not on software breakpoints.
Although we can tell upfront whether a remote target supports target
side commands, we can only tell whether the target supports that in
combination with a given breakpoint kind (software, hardware,
watchpoints, etc.) when we go and try to insert such a breakpoint kind
the first time. It's not desirable to make remote_insert_breakpoint
simply return -1 in this case, because if the breakpoint was set in a
shared library, insert_bp_location will assume that the breakpoint
insertion failed because the library wasn't mapped in.
insert_bp_location already handles errors/exceptions thrown from the
target_insert_xxx methods, exactly so the backend can tell the user
the detailed reason the insertion of hw breakpoints failed. But, in
the case of software breakpoints, it discards the detailed error
message.
So the patch makes insert_bp_location use the error's message for SW
breakpoints too, and, introduces a NOT_SUPPORTED_ERROR error code so
that insert_bp_location doesn't confuse the error for failure due to a
shared library disappearing.
The result is:
(gdb) c
Warning:
Cannot insert breakpoint 2: Target doesn't support breakpoints that have target side commands.
2014-01-09 Pedro Alves <palves@redhat.com>
Hui Zhu <hui@codesourcery.com>
PR gdb/16101
* breakpoint.c (insert_bp_location): Rename hw_bp_err_string to
bp_err_string. Don't mark the location shlib_disabled if the
error thrown wasn't a generic or memory error. Catch errors
thrown while inserting breakpoints in overlayed code. Output
error message of software breakpoints.
* remote.c (remote_insert_breakpoint): If this breakpoint has
target-side commands but this stub doesn't support Z0 packets,
throw NOT_SUPPORTED_ERROR error.
* exceptions.h (enum errors) <NOT_SUPPORTED_ERROR>: New error.
* target.h (target_insert_breakpoint): Extend comment.
(target_insert_hw_breakpoint): Add comment.
2014-01-09 18:33:45 +00:00
|
|
|
|
2014-01-09 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/16101
|
|
|
|
|
* breakpoint.c (insert_bp_location): Rename hw_bp_err_string to
|
|
|
|
|
bp_err_string. Don't mark the location shlib_disabled if the
|
|
|
|
|
error thrown wasn't a generic or memory error. Catch errors
|
|
|
|
|
thrown while inserting breakpoints in overlayed code. Output
|
|
|
|
|
error message of software breakpoints.
|
|
|
|
|
* remote.c (remote_insert_breakpoint): If this breakpoint has
|
|
|
|
|
target-side commands but this stub doesn't support Z0 packets,
|
|
|
|
|
throw NOT_SUPPORTED_ERROR error.
|
|
|
|
|
* exceptions.h (enum errors) <NOT_SUPPORTED_ERROR>: New error.
|
|
|
|
|
* target.h (target_insert_breakpoint): Extend comment.
|
|
|
|
|
(target_insert_hw_breakpoint): Add comment.
|
|
|
|
|
|
[remote/gdbserver] Don't lose signals when reconnecting.
Currently, when GDB connects in all-stop mode, GDBserver always
responds to the status packet with a GDB_SIGNAL_TRAP, even if the
program is actually stopped for some other signal.
(gdb) tar rem ...
...
(gdb) c
Program received signal SIGUSR1, User defined signal 1.
(gdb) disconnect
(gdb) tar rem ...
(gdb) c
(Or a GDB crash instead of an explicit disconnect.)
This results in the program losing that signal on that last continue,
because gdb will tell the target to resume with no signal (to suppress
the GDB_SIGNAL_TRAP, due to 'handle SISGTRAP nopass'), and that will
actually suppress the real signal the program had stopped for
(SIGUSR1). To fix that, I think we should make GDBserver report the
real signal the thread had stopped for in response to the status
packet:
@item ?
@cindex @samp{?} packet
Indicate the reason the target halted. The reply is the same as for
step and continue.
But, that raises the question -- which thread are we reporting the
status for? Due to how the RSP in all-stop works, we can only report
one status. The status packet's response is a stop reply packet, so
it includes the thread identifier, so it's not a problem packet-wise.
However, GDBserver is currently always reporting the status for first
thread in the thread list, even though that may well not be the thread
that got the signal that caused the program to stop. So the next
logical step would be to report the status for the
last_ptid/last_status thread (the last event reported to gdb), if it's
still around; and if not, fallback to some other thread.
There's an issue on the GDB side with that, though...
GDB currently always adds the thread reported in response to the
status query as the first thread in its list. That means that if we
start with e.g.,
(gdb) info threads
3 Thread 1003 ...
* 2 Thread 1002 ...
1 Thread 1001 ...
And reconnect:
(gdb) disconnect
(gdb) tar rem ...
We end up with:
(gdb) info threads
3 Thread 1003 ...
2 Thread 1001 ...
* 1 Thread 1002 ...
Not a real big issue, but it's reasonably fixable, by having GDB
fetch/sync the thread list before fetching the status/'?', and then
using the status to select the right thread as current on the GDB
side. Holes in the thread numbers are squashed before/after
reconnection (e.g., 2,3,5 becomes 1,2,3), but the order is preserved,
which I think is both good, and good enough.
However (yes, there's more...), the previous GDB that was connected
might have had gdbserver running in non-stop mode, or could have left
gdbserver doing disconnected tracing (which also forces non-stop), and
if the new gdb/connection is in all-stop mode, we can end up with more
than one thread with a signal to report back to gdb. As we can only
report one thread/status (in the all-stop RSP variant; the non-stop
variant doesn't have this issue), we get to do what we do at every
other place we have this situation -- leave events we can't report
right now as pending, so that the next resume picks them up.
Note all this ammounts to a QoI change, within the existing framework.
There's really no RSP change here.
The only user visible change (other than that the signal is program is
stopped at isn't lost / is passed to the program), is in "info
program", that now can show the signal the program stopped for. Of
course, the next resume will respect the pass/nopass setting for the
signal in question. It'd be reasonable to have the initial connection
tell the user the program was stopped with a signal, similar to when
we load a core to debug, but I'm leaving that out for a future change.
I think we'll need to either change how handle_inferior_event & co
handle stop_soon, or maybe bypass them completely (like
fork-child.c:startup_inferior) for that.
Tested on x86_64 Fedora 17.
gdb/gdbserver/
2014-01-08 Pedro Alves <palves@redhat.com>
* gdbthread.h (struct thread_info) <status_pending_p>: New field.
* server.c (visit_actioned_threads, handle_pending_status): New
function.
(handle_v_cont): Factor out parts to ...
(resume): ... this new function. If in all-stop, and a thread
being resumed has a pending status, report it without actually
resuming.
(myresume): Adjust to use the new 'resume' function.
(clear_pending_status_callback, set_pending_status_callback)
(find_status_pending_thread_callback): New functions.
(handle_status): Handle the case of multiple threads having
interesting statuses to report. Report threads' real last signal
instead of always reporting GDB_SIGNAL_TRAP. Look for a thread
with an interesting thread to report the status for, instead of
always reporting the status of the first thread.
gdb/
2014-01-08 Pedro Alves <palves@redhat.com>
* remote.c (remote_add_thread): Add threads silently if starting
up.
(remote_notice_new_inferior): If in all-stop, and starting up,
don't call notice_new_inferior.
(get_current_thread): New function, factored out from ...
(add_current_inferior_and_thread): ... this. Adjust.
(remote_start_remote) <all-stop>: Fetch the thread list. If we
found any thread, then select the remote's current thread as GDB's
current thread too.
gdb/testsuite/
2014-01-08 Pedro Alves <palves@redhat.com>
* gdb.threads/reconnect-signal.c: New file.
* gdb.threads/reconnect-signal.exp: New file.
2014-01-08 18:55:51 +00:00
|
|
|
|
2014-01-08 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_add_thread): Add threads silently if starting
|
|
|
|
|
up.
|
|
|
|
|
(remote_notice_new_inferior): If in all-stop, and starting up,
|
|
|
|
|
don't call notice_new_inferior.
|
|
|
|
|
(get_current_thread): New function, factored out from ...
|
|
|
|
|
(add_current_inferior_and_thread): ... this. Adjust.
|
|
|
|
|
(remote_start_remote) <all-stop>: Fetch the thread list. If we
|
|
|
|
|
found any thread, then select the remote's current thread as GDB's
|
|
|
|
|
current thread too.
|
|
|
|
|
|
2014-01-08 09:41:03 +00:00
|
|
|
|
2014-01-08 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Create a new section for the next release branch.
|
|
|
|
|
Rename the section of the current branch, now that it has
|
|
|
|
|
been cut.
|
|
|
|
|
|
2014-01-08 09:25:28 +00:00
|
|
|
|
2014-01-08 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
GDB 7.7 branch created (79301218fa0f074c5656db0ec8972a5ddcf91fb5):
|
|
|
|
|
* version.in: Bump version to 7.7.50.DATE-cvs.
|
|
|
|
|
|
2014-01-07 10:12:21 +00:00
|
|
|
|
2014-01-08 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* spu-linux-nat.c (spu_symbol_file_add_from_memory): Change
|
|
|
|
|
type of 'id' to gdb_byte. Cast 'id' to 'const char *'.
|
|
|
|
|
(spu_xfer_partial): Cast 'buf' to 'const char *'.
|
|
|
|
|
|
2014-01-07 09:48:07 +00:00
|
|
|
|
2014-01-08 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* spu-linux-nat.c (spu_symbol_file_add_from_memory): Pass
|
|
|
|
|
return value of bfd_get_filename to symbol_file_add_from_bfd.
|
|
|
|
|
|
2014-01-07 23:31:50 +00:00
|
|
|
|
2014-01-08 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
Fix PR16201.
|
|
|
|
|
* coff-pe-read.c (struct read_pe_section_data): Add index field.
|
|
|
|
|
(add_pe_exported_sym): Use SECTION_DATA->INDEX for call
|
|
|
|
|
to prim_record_mininal_symbol_and_info.
|
|
|
|
|
(add_pe_forwarded_sym): Use known section number of forwarded symbol
|
|
|
|
|
in call to prim_record_minimal_symbol_and_info.
|
|
|
|
|
(read_pe_exported_syms): Set index field of section_data.
|
|
|
|
|
|
2013-12-18 19:03:07 +00:00
|
|
|
|
2014-01-07 Andrew Pinski <apinski@cavium.com>
|
|
|
|
|
|
|
|
|
|
* features/aarch64-core.xml (cpsr): Change to be 64bit.
|
|
|
|
|
* features/aarch64.c: Regenerate.
|
|
|
|
|
|
2014-01-07 20:28:53 +00:00
|
|
|
|
2014-01-07 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
|
|
|
|
|
|
* target.c (return_null): Define.
|
|
|
|
|
(update_current_target): Use it instead of return_zero for
|
|
|
|
|
functions that return a pointer.
|
|
|
|
|
|
2014-01-07 19:03:06 +00:00
|
|
|
|
2014-01-07 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* source.c (add_path): Fix check for duplicated paths in the previously
|
|
|
|
|
included paths.
|
|
|
|
|
|
2014-01-07 03:25:10 +00:00
|
|
|
|
2014-01-07 Honggyu Kim <hong.gyu.kim@lge.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c: Remove duplicated include statements.
|
|
|
|
|
* alphabsd-nat.c: Ditto.
|
|
|
|
|
* amd64-darwin-tdep.c: Ditto.
|
|
|
|
|
* amd64fbsd-nat.c: Ditto.
|
|
|
|
|
* auto-load.c: Ditto.
|
|
|
|
|
* ax-gdb.c: Ditto.
|
|
|
|
|
* breakpoint.c: Ditto.
|
|
|
|
|
* dbxread.c: Ditto.
|
|
|
|
|
* fork-child.c: Ditto.
|
|
|
|
|
* gdb_usleep.c: Ditto.
|
|
|
|
|
* i386-darwin-tdep.c: Ditto.
|
|
|
|
|
* i386fbsd-nat.c: Ditto.
|
|
|
|
|
* infcmd.c: Ditto.
|
|
|
|
|
* inferior.c: Ditto.
|
|
|
|
|
* jv-lang.c: Ditto.
|
|
|
|
|
* linux-nat.c: Ditto.
|
|
|
|
|
* linux-tdep.c: Ditto.
|
|
|
|
|
* m68kbsd-nat.c: Ditto.
|
|
|
|
|
* m68klinux-nat.c: Ditto.
|
|
|
|
|
* microblaze-tdep.c: Ditto.
|
|
|
|
|
* mips-linux-tdep.c: Ditto.
|
|
|
|
|
* mn10300-tdep.c: Ditto.
|
|
|
|
|
* nto-tdep.c: Ditto.
|
|
|
|
|
* opencl-lang.c: Ditto.
|
|
|
|
|
* osdata.c: Ditto.
|
|
|
|
|
* printcmd.c: Ditto.
|
|
|
|
|
* regcache.c: Ditto.
|
|
|
|
|
* remote-m32r-sdi.c: Ditto.
|
|
|
|
|
* remote.c: Ditto.
|
|
|
|
|
* symfile.c: Ditto.
|
|
|
|
|
* symtab.c: Ditto.
|
|
|
|
|
* tilegx-linux-nat.c: Ditto.
|
|
|
|
|
* tilegx-tdep.c: Ditto.
|
|
|
|
|
* tracepoint.c: Ditto.
|
|
|
|
|
* valops.c: Ditto.
|
|
|
|
|
* vaxbsd-nat.c: Ditto.
|
|
|
|
|
* windows-nat.c: Ditto.
|
|
|
|
|
* xtensa-tdep.c: Ditto.
|
|
|
|
|
|
2014-01-07 09:28:48 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* spu-linux-nat.c (_initialize_spu_nat): Declare.
|
|
|
|
|
|
2014-01-08 09:16:32 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* aix-thread.c (pdc_read_regs): Cast parameter to uintptr_t.
|
|
|
|
|
(pdc_write_regs): Likewise.
|
|
|
|
|
(fetch_regs_kernel_thread): Likewise.
|
|
|
|
|
(store_regs_kernel_thread): Likewise.
|
|
|
|
|
|
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-varobj.c (ada_varobj_adjust_for_child_access): Convert
|
|
|
|
|
tagged type objects to their actual type.
|
|
|
|
|
|
Ada: Fix missing call to pretty-printer for fields of records.
Consider the following types:
type Time_T is record
Secs : Integer;
end record;
Before : Time_T := (Secs => 1384395743);
In this example, we assume that type Time_T is the number of seconds
since Epoch, and so added a Python pretty-printer, to print this
type in a more human-friendly way. For instance:
(gdb) print before
$1 = Thu Nov 14 02:22:23 2013 (1384395743)
However, we've noticed that things stop working when this type is
embedded inside another record, and we try to print that record.
For instance, with the following declarations:
type Composite is record
Id : Integer;
T : Time_T;
end record;
Afternoon : Composite := (Id => 1, T => (Secs => 1384395865));
(gdb) print afternoon
$2 = (id => 1, t => (secs => 1384395865))
We expected instead:
(gdb) print afternoon
$2 = (id => 1, t => Thu Nov 14 02:24:25 2013 (1384395865))
This patch fixes the problem by making sure that we try to print
each field via a call to val_print, rather than calling ada_val_print
directly. We need to go through val_print, as the val_print
handles all language-independent features such as calling the
pretty-printer, knowing that ada_val_print will get called eventually
if actual Ada-specific printing is required (which should be the
most common scenario).
And because val_print takes the language as parameter, we enhanced
the print_field_values and print_variant_part to also take a language.
As a bonus, this allows us to remove a couple of references to
current_language.
gdb/ChangeLog:
* ada-valprint.c (print_field_values): Add "language" parameter.
Update calls to print_field_values and print_variant_part.
Pass new parameter "language" in call to val_print instead
of "current_language". Replace call to ada_val_print by call
to val_print.
(print_variant_part): Add "language" parameter.
(ada_val_print_struct_union): Update call to print_field_values.
gdb/testsuite/ChangeLog:
* gdb.ada/pp-rec-component.exp, gdb.ada/pp-rec-component.py,
gdb.ada/pp-rec-component/foo.adb, gdb.ada/pp-rec-component/pck.adb,
gdb.ada/pp-rec-component/pck.ads: New files.
2013-12-19 17:26:55 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (print_field_values): Add "language" parameter.
|
|
|
|
|
Update calls to print_field_values and print_variant_part.
|
|
|
|
|
Pass new parameter "language" in call to val_print instead
|
|
|
|
|
of "current_language". Replace call to ada_val_print by call
|
|
|
|
|
to val_print.
|
|
|
|
|
(print_variant_part): Add "language" parameter.
|
|
|
|
|
(ada_val_print_struct_union): Update call to print_field_values.
|
|
|
|
|
|
2013-12-19 16:19:45 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ui_memcpy): Delete.
|
|
|
|
|
(ada_print_floating): Update documentation. Add empty line
|
|
|
|
|
between between function documentation and implementation.
|
|
|
|
|
Delete variable "buffer". Use ui_file_xstrdup in place of
|
|
|
|
|
ui_file_put. Minor adjustments following this change.
|
|
|
|
|
|
2013-12-19 16:06:46 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_val_print_string): New function,
|
|
|
|
|
extracted from ada_val_print_array.
|
|
|
|
|
(ada_val_print_array): Replace extracted code by call
|
|
|
|
|
to ada_val_print_string followed by a return. Move
|
|
|
|
|
"else" branch to the function's top block.
|
|
|
|
|
|
2013-12-19 15:43:57 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_val_print_array): Move implementation
|
|
|
|
|
down. Rename parameter "offset" and "val" into "offset_aligned"
|
|
|
|
|
and "original_value" respectively. Add parameter "offset".
|
|
|
|
|
|
2013-12-19 15:26:27 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_val_print_ref): Rewrite by mostly
|
|
|
|
|
re-organizing the code. Change the "???" message printed
|
|
|
|
|
when target type is a TYPE_CODE_UNDEF into
|
|
|
|
|
"<ref to undefined type>".
|
|
|
|
|
|
2013-12-19 15:11:49 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (print_record): Delete, implementation inlined...
|
|
|
|
|
(ada_val_print_struct_union): ... here. Remove call to
|
|
|
|
|
ada_check_typedef in inlined implementation.
|
|
|
|
|
|
2013-12-19 12:30:43 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_val_print_gnat_array): New function,
|
|
|
|
|
extracted from ada_val_print_1;
|
|
|
|
|
(ada_val_print_ptr, ada_val_print_num, ada_val_print_enum)
|
|
|
|
|
(ada_val_print_flt, ada_val_print_struct_union)
|
|
|
|
|
(ada_val_print_ref): Likewise.
|
|
|
|
|
(ada_val_print_1): Delete variables i and elttype.
|
|
|
|
|
Replace extracted-out code by call to corresponding
|
|
|
|
|
new functions.
|
|
|
|
|
|
2013-12-19 11:48:39 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_val_print_1): Remove call to gdb_flush.
|
|
|
|
|
|
2013-12-19 11:27:00 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_val_print_1): Replace calls to
|
|
|
|
|
ada_val_print_1 by calls to val_print.
|
|
|
|
|
|
2013-12-19 10:33:20 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_val_print_1): Add parameter "language".
|
|
|
|
|
Update calls to self accordingly. Replace calls to c_val_print
|
|
|
|
|
by calls to val_print.
|
|
|
|
|
|
2013-12-19 10:05:16 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (print_record): Delete declaration.
|
|
|
|
|
(adjust_type_signedness, ada_val_print_1): Likewise.
|
|
|
|
|
(ada_val_print): Move function implementation down.
|
|
|
|
|
(print_variant_part, print_field_values, print_record):
|
|
|
|
|
Move function implementation up.
|
|
|
|
|
|
2013-12-23 03:18:51 +00:00
|
|
|
|
2014-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (typy_get_name): New function.
|
|
|
|
|
(type_object_getset): Add entry for attribute "name".
|
|
|
|
|
* NEWS: Add entry mentioning this new attribute.
|
|
|
|
|
|
2014-01-05 11:32:51 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (set_exceptions_cmd): Remove an empty body 'if'
|
|
|
|
|
statement.
|
|
|
|
|
|
2014-01-05 11:36:51 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (info_port_rights): Add qualifier const to
|
|
|
|
|
argument args.
|
|
|
|
|
|
2014-01-05 11:37:53 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (trace_me): Use 'void' for empty argument list.
|
|
|
|
|
|
2014-01-05 11:36:03 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (make_inf) Update declaration.
|
|
|
|
|
(make_inf): Make it static.
|
|
|
|
|
(inf_set_traced): Likewise.
|
|
|
|
|
(inf_port_to_thread, inf_task_died_status): Likewise.
|
|
|
|
|
|
2014-01-05 07:38:44 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (inf_tid_to_proc): Remove declaration.
|
|
|
|
|
|
2014-01-05 07:05:44 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-nat.c (_initialize_gnu_nat): Declare.
|
|
|
|
|
|
2014-01-02 03:02:56 +00:00
|
|
|
|
2014-01-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gdbarch.sh (byte_order, byte_order_for_code): Change type to
|
|
|
|
|
'enum bfd_endian'.
|
|
|
|
|
(struct gdbarch_info) <byte_order>: Change type to
|
|
|
|
|
'enum bfd_endian'.
|
|
|
|
|
<byte_order_for_code>: Likewise.
|
|
|
|
|
* gdbarch.c, gdbarch.h: Regenerated.
|
|
|
|
|
|
2014-01-06 21:57:59 +00:00
|
|
|
|
2014-01-06 Sasha Smundak <asmundak@google.com>
|
|
|
|
|
|
|
|
|
|
* jit.c: (jit_reader_load_command): Fix JIT reader path creation.
|
|
|
|
|
|
2013-12-29 09:39:28 +00:00
|
|
|
|
2014-01-06 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doublest.c (convert_doublest_to_floatformat): Use const, not
|
|
|
|
|
CONST.
|
|
|
|
|
* somread.c (som_symtab_read): Likewise.
|
|
|
|
|
|
2014-01-06 16:24:41 +00:00
|
|
|
|
2014-01-07 Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gdb_bfd.c (gdb_bfd_stash_filename): Removed.
|
|
|
|
|
(gdb_bfd_open): Removed gdb_bfd_stash_filename.
|
|
|
|
|
(gdb_bfd_fopen): Ditto.
|
|
|
|
|
(gdb_bfd_openr): Ditto.
|
|
|
|
|
(gdb_bfd_openw): Ditto.
|
|
|
|
|
(gdb_bfd_openr_iovec): Ditto.
|
|
|
|
|
(gdb_bfd_fdopenr): Ditto.
|
|
|
|
|
* gdb_bfd.h (gdb_bfd_stash_filename): Removed.
|
|
|
|
|
* solib-aix.c (solib_aix_bfd_open): Alloc object_bfd->filename
|
|
|
|
|
with xstrdup.
|
|
|
|
|
* solib-darwin.c (darwin_bfd_open): Alloc res->filename
|
|
|
|
|
with xstrdup.
|
|
|
|
|
* symfile-mem.c (symbol_file_add_from_memory): Removed
|
|
|
|
|
gdb_bfd_stash_filename.
|
|
|
|
|
|
2014-01-03 22:34:45 +00:00
|
|
|
|
2014-01-03 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* nat/linux-waitpid.c (linux_debug): Remove extraneous \n from
|
|
|
|
|
output.
|
|
|
|
|
|
2014-01-01 03:57:03 +00:00
|
|
|
|
2014-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2014-01-01 03:39:44 +00:00
|
|
|
|
2014-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* top.c (print_gdb_version): Set copyright year to 2014.
|
|
|
|
|
|
2014-01-01 03:34:22 +00:00
|
|
|
|
2014-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2013.
|
|
|
|
|
|
2014-01-01 03:31:51 +00:00
|
|
|
|
For older changes see ChangeLog-2013.
|
1999-04-16 01:35:26 +00:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
2007-08-09 22:44:38 +00:00
|
|
|
|
coding: utf-8
|
1999-04-16 01:35:26 +00:00
|
|
|
|
End:
|