]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/ChangeLog
* regcache.c (struct regcache): Add ptid_t member.
[thirdparty/binutils-gdb.git] / gdb / ChangeLog
index 493aecccaf48468dc229319fa68ba6a1d73d9dfa..8b086d751064d91d97cf37d2fd3ccf8c77d71a1b 100644 (file)
@@ -1,3 +1,439 @@
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * regcache.c (struct regcache): Add ptid_t member.
+       (regcache_xmalloc): Initialize it.
+       (regcache_cpy_no_passthrough): Do not refer to current_regcache.
+       (regcache_dup): Likewise.
+       (regcache_dup_no_passthrough): Likewise.
+       (current_regcache): Make static.
+       (registers_ptid): Remove variable.
+       (get_thread_regcache): New function.
+       (get_current_regcache): New function.
+       (registers_changed): Implement by freeing current regcache.
+       (regcache_raw_read): Do not refer to current_regcache.  Set 
+       inferior_ptid to regcache->ptid while calling target routines.
+       (regcache_raw_write): Likewise.
+       (regcache_raw_supply): Do not refer to current_regcache.
+       (read_pc_pid): Use thread regcache.  Do not modify inferior_ptid.
+       (write_pc_pid): Likewise.
+       (build_regcache): Remove.
+       (_initialize_regcache): Do not call DEPRECATED_REGISTER_GDBARCH_SWAP
+       or deprecated_register_gdbarch_swap.  Do not initialize
+       registers_ptid.
+       * regcache.h (get_current_regcache): Add prototype.
+       (get_thread_regcache): Likewise.
+       (current_regcache): Remove declaration.
+
+       * corelow.c (core_open): Replace current_regcache by
+       get_current_regcache ().
+       * frame.c (frame_pop): Likewise.
+       (put_frame_register): Likewise.
+       (get_current_frame, create_new_frame): Likewise.
+       * mi/mi-main.c (mi_cmd_data_write_register_values): Likewise.
+       * stack.c (return_command): Likewise.
+       * infcall.c (call_function_by_hand): Likewise.
+       * infrun.c (resume): Likewise.
+       (save_inferior_status, restore_inferior_status): Likewise.
+       * linux-fork.c (fork_load_infrun_state): Likewise.
+       (fork_save_infrun_state): Likewise.
+       * win32-nat.c (win32_resume): Likewise.
+       * i386fbsd-nat.c (i386fbsd_resume): Likewise.
+       * monitor.c (monitor_wait): Likewise.
+       * remote.c (remote_wait): Likewise.
+       * remote-mips.c (mips_wait): Likewise.
+
+       * bsd-kvm.c (bsd_kvm_open): Likewise
+       (bsd_kvm_proc_cmd, bsd_kvm_pcb_cmd): Likewise.
+       * fbsd-nat.c (fbsd_make_corefile_notes): Likewise.
+       * i386-linux-nat.c (i386_linux_resume): Likewise.
+       * ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise.
+       (ia64_linux_stopped_data_address): Likewise.
+
+       * frv-tdep.c (frv_fdpic_loadmap_addresses): Likewise.
+       * m32c-tdep.c (m32c_virtual_frame_pointer): Likewise.
+       * mep-tdep.c (current_me_module, current_options): Likewise.
+       * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Likewise.
+
+       * linux-nat.c (linux_nat_do_thread_registers): Use thread
+       regcache instead of current_regcache.  Call target_fetch_registers.
+       (linux_nat_corefile_thread_callback): Update call site.
+       (linux_nat_do_registers): Likewise.
+       * procfs.c (procfs_do_thread_registers): Use thread regcache instead
+       of current_regcache.
+       (procfs_make_note_section): Likewise.
+       * proc-service.c (ps_lgetregs, ps_lsetregs): Likewise.
+       (ps_lgetfpregs, ps_lsetfpregs): Likewise.
+       * sol-thread.c (ps_lgetregs, ps_lsetregs): Likewise.
+       (ps_lgetfpregs, ps_lsetfpregs): Likewise.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * regcache.c (read_register, read_register_pid): Remove.
+       (write_register, write_register_pid): Likewise.
+       * regcache.h (read_register, read_register_pid): Remove prototype.
+       (write_register, write_register_pid): Likewise.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbarch.sh (read_pc): Add REGCACHE argument.  Remove PTID argument.
+       (write_pc): Likewise.  Remove default implementation, add predicate.
+       * gdbarch.c, gdbarch.h: Regenerate.
+       * regcache.c (read_pc_pid): Use current regcache instead of calling
+       read_register_pid.
+       (write_pc_pid): Check gdbarch_write_pc predicate, implement default
+       case inline.
+       (generic_target_write_pc): Remove.
+       * inferior.h (generic_target_write_pc): Remove.
+       * frv-tdep.c (frv_gdbarch_init): Do not install it.
+       * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
+       * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+       * sh64-tdep.c (sh64_gdbarch_init): Likewise.
+       * sh-tdep.c (sh_gdbarch_init): Likewise.
+       * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
+
+       * avr-tdep.c (avr_read_pc): Add REGCACHE argument.  Remove PTID
+       argument.  Use REGCACHE instead of calling read_register_pid.
+       * hppa-hpux-tdep.c (hppa_hpux_read_pc): Likewise.
+       * hppa-tdep.c (hppa_read_pc): Likewise.
+       * hppa-tdep.h (hppa_read_pc): Likewise.
+       * ia64-tdep.c (ia64_read_pc): Likewise.
+       * m32r-tdep.c (m32r_read_pc): Likewise.
+       * mep-tdep.c (mep_read_pc): Likewise.
+       * mn10300-tdep.c (mn10300_read_pc): Likewise.
+       * spu-tdep.c (spu_read_pc): Likewise.
+
+       * arm-tdep.c (arm_write_pc): Add REGCACHE argument.  Remove PTID
+       argument.  Use REGCACHE instead of calling write_register_pid.
+       * avr-tdep.c (avr_write_pc): Likewise.
+       * hppa-hpux-tdep.c (hppa_hpux_write_pc): Likewise.
+       * hppa-tdep.c (hppa_write_pc): Likewise.
+       * hppa-tdep.h (hppa_write_pc): Likewise.
+       * i386-linux-tdep.c (i386_linux_write_pc): Likewise.
+       * amd64-linux-tdep.c (amd64_linux_write_pc): Likewise.
+       * ia64-linux-tdep.c (ia64_linux_write_pc): Likewise.
+       * ia64-tdep.c (ia64_write_pc): Likewise.
+       * ia64-tdep.h (ia64_write_pc): Likewise.
+       * m32r-tdep.c (m32r_write_pc): Likewise.
+       * m88k-tdep.c (m88k_write_pc): Likewise.
+       * mep-tdep.c (mep_write_pc): Likewise.
+       * mips-tdep.c (mips_write_pc): Likewise.
+       * mips-linux-tdep.c (mips_linux_write_pc): Likewise.
+       * mn10300-tdep.c (mn10300_write_pc): Likewise.
+       * sparc-tdep.c (sparc_write_pc): Likewise.
+       * spu-tdep.c (spu_write_pc): Likewise.
+
+       * mips-tdep.c (read_signed_register): Remove.
+       (read_signed_register_pid): Likewise.
+       (mips_read_pc): Add REGCACHE argument.  Remove PTID argument.
+       Use REGCACHE instead of calling read_signed_register_pid.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbarch.sh (push_dummy_code): Add REGCACHE argument.
+       * gdbarch.c, gdbarch.h: Regenerate.
+       * infcall.c (generic_push_dummy_code): Add REGCACHE argument.
+       (push_dummy_code): Likewise.  Pass it to callee.
+       (call_function_by_hand): Pass current regcache to push_dummy_code.
+
+       * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Add REGCACHE
+       argument.  Use it instead of current_regcache.
+
+       * cris-tdep.c (cris_push_dummy_code): Add REGCACHE argument.
+       * sparc-tdep.c (sparc32_push_dummy_code): Likewise.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbarch.sh (get_longjmp_target): Add FRAME argument.
+       * gdbarch.c, gdbarch.h: Regenerate.
+       * infrun.c (handle_inferior_event): Pass current frame to
+       gdbarch_get_longjmp_target.
+
+       * alpha-tdep.c (alpha_get_longjmp_target): Add FRAME argument.
+       Read registers from FRAME instead of using read_register.
+       Use get_frame_arch instead of current_gdbarch.
+       * arm-tdep.c (arm_get_longjmp_target): Likewise.
+       * i386-tdep.c (i386_get_longjmp_target): Likewise.
+       * m68k-tdep.c (m68k_get_longjmp_target): Likewise.
+       * mips-linux-tdep.c (mips_linux_get_longjmp_target): Likewise.
+       (mips64_linux_get_longjmp_target): Likewise.
+       * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Likewise.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbarch.sh (skip_trampoline_code): Add FRAME argument.
+       * gdbarch.c, gdbarch.h: Regenerate.
+       * arch-utils.c (generic_skip_trampoline_code): Add FRAME argument.
+       * arch-utils.h (generic_skip_trampoline_code): Likewise.
+       * infrun.c (handle_inferior_event): Pass current frame to
+       gdbarch_skip_trampoline_code and skip_language_trampoline.
+
+       * language.c (unk_lang_trampoline): Add FRAME argument.
+       (skip_language_trampoline): Add FRAME argument.  Pass it to
+       skip_trampoline callback.
+       * language.h: Add forward declaration of struct frame_info.
+       (struct language_defn): Add FRAME argument to skip_trampoline.
+       (skip_language_trampoline): Add FRAME argument.
+       * cp-abi.c (cplus_skip_trampoline): Add FRAME argument.  Pass it
+       to skip_trampoline callback.
+       * cp-abi.h: Add forward declaration of struct frame_info.
+       (cplus_skip_trampoline): Add FRAME argument.
+       (struct cp_abi_ops): Add FRAME argument to skip_trampoline callback.
+       * gnu-v3-abi.c (gnuv3_skip_trampoline): Add FRAME argument.  Pass it
+       to gdbarch_skip_trampoline_code.
+       * objc-lang.c (objc_skip_trampoline): Add FRAME argument.  Pass it
+       to gdbarch_skip_trampoline_code.
+
+       * minsyms.c (find_solib_trampoline_target): Add FRAME argument.
+       * symtab.h (find_solib_trampoline_target): Likewise.
+       * obsd-tdep.c (obsd_skip_solib_resolver): Pass current frame to
+       find_solib_trampoline_target.
+
+       * arm-tdep.c (arm_skip_stub): Add FRAME argument.  Read registers
+       from FRAME instead of calling read_register.
+
+       * hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code): Add FRAME
+       argument.  Read registers from FRAME instead of using read_register.
+       * hppa-tdep.c (hppa_skip_trampoline_code): Likewise.
+       * hppa-tdep.h (hppa_skip_trampoline_code): Add FRAME argument.
+
+       * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Add FRAME
+       argument.
+
+       * m32c-tdep.c (m32c_skip_trampoline_code): Add FRAME argument.
+
+       * mips-tdep.c (mips_skip_trampoline_code): Add FRAME argument.  Read
+       registers from FRAME instead of using read_signed_register.
+
+       * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Add FRAME
+       argument.
+       (ppc64_standard_linkage_target): Likewise.  Read registers from FRAME
+       instead of using read_register.
+       (ppc64_skip_trampoline_code): Add FRAME argument.  Pass it to
+       ppc64_standard_linkage_target.
+       * rs6000-tdep.c (rs6000_skip_trampoline_code): Add FRAME argument.
+       Pass it to find_solib_trampoline_target.  Read registers from FRAME
+       instead of using read_register.
+
+       * xstormy16-tdep.c (xstormy16_skip_trampoline_code): Add FRAME
+       argument.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbarch.sh (software_single_step): Replace REGCACHE argument by
+       FRAME argument.
+       * gdbarch.c, gdbarch.h: Regenerate.
+       * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP.
+
+       * alpha-tdep.c (alpha_next_pc): Add FRAME argument.  Retrieve
+       registers from FRAME instead of using read_register.
+       (alpha_software_single_step): Replace REGCACHE by FRAME.  Pass FRAME
+       to alpha_next_pc.  Use get_frame_pc instead of read_pc.
+       * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE
+       argument by FRAME.
+
+       * arm-tdep.c (shifted_reg_val): Add FRAME argument.  Read registers
+       from FRAME instead of using read_register.
+       (thumb_get_next_pc): Likewise.
+       (arm_get_next_pc): Likewise.
+       (arm_software_single_step): Replace REGCACHE by FRAME.  Pass FRAME
+       to arm_get_next_pc.  Use get_frame_pc instead of read_register.
+       * arm-tdep.h (arm_software_single_step): Replace REGCACHE
+       argument by FRAME.
+
+       * cris-tdep.c (find_step_target): Add FRAME argument.  Read registers
+       from FRAME instead of using read_register.
+       (cris_software_single_step): Replace REGCACHE by FRAME.  Pass FRAME
+       to find_step_target.
+
+       * mips-tdep.c (mips32_next_pc): Add FRAME argument.  Read registers
+       from FRAME instead of using read_register / read_signed_register.
+       (extended_mips16_next_pc): Likewise.
+       (mips16_next_pc): Likewise.
+       (mips_next_pc): Likewise.
+       (mips_software_single_step): Replace REGCACHE by FRAME.  Pass FRAME
+       to mips_next_pc.  Use get_frame_pc instead of read_pc.
+       * mips-tdep.h (mips_software_single_step): Replace REGCACHE
+       argument by FRAME.
+
+       * rs6000-tdep.c (branch_dest): Add FRAME argument.  Use it instead
+       of current frame.  Read registers from FRAME.
+       (deal_with_atomic_sequence): Add FRAME argument.  Pass it to
+       branch_dest.  Use get_frame_pc instead of read_pc.
+       (rs6000_software_single_step): Likewise.
+       (bl_to_blrl_insn_p): Do not call branch_dest.
+       * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE
+       argument by FRAME.
+
+       * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument.
+       Read registers from FRAME instead of current regcache.
+       * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise.
+       * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise.
+       * sparc-tdep.c (sparc_address_from_register): Remove.
+       (sparc_analyze_control_transfer): Pass FRAME argument instead of
+       GDBARCH.  Pass FRAME to step_trap callback.
+       (sparc_step_trap): Add FRAME argument.
+       (space_software_single_step): Replace REGCACHE by FRAME.  Pass FRAME
+       to sparc_analyze_control_transfer.  Read registers from FRAME instead
+       of calling sparc_address_from_register.
+       * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to
+       step_trap callback.
+       (sparc_address_from_register): Remove prototype.
+       (sparc_software_single_step): Replace REGCACHE argument by FRAME.
+       (sparcnbsd_step_trap): Add FRAME argument.
+
+       * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument
+       by FRAME.  Read registers from FRAME instead of REGCACHE.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * arm-tdep.c (arm_print_float_info): Use register value from FRAME
+       instead of calling read_register.
+
+       * avr-tdep.c (avr_push_dummy_call): Write to REGCACHE instead of
+       calling write_register.
+
+       * hppa-tdep.c (hppa32_push_dummy_call): Write to REGCACHE instead of
+       calling write_register.
+
+       * ia64-tdep.c (find_func_descr): Add REGCACHE parameter.  Use it
+       instead of calling read_register.
+       (ia64_push_dummy_call): Update call to find_func_descr.  Use REGCACHE
+       instead of calling read_register and write_register.
+
+       * m32r-tdep.c (m32r_linux_supply_gregset): Use REGCACHE parameter
+       instead of current_regcache.
+
+       * mn10300-tdep.c (mn10300_push_dummy_call): Write to REGCACHE instead
+       of calling write_register.
+       * mn10300-linux-tdep.c (am33_supply_fpregset_method): Use REGCACHE
+       parameter instead of current_regcache.
+
+       * mips-tdep.c (mips2_fp_compat): Add FRAME parameter.  Use it 
+       instead of calling read_register.
+       (mips_read_fp_register_double, mips_print_fp_register): Update calls.
+       (mips_eabi_push_dummy_call): Use REGCACHE instead of write_register.
+       (mips_n32n64_push_dummy_call): Likewise.
+       (mips_o32_push_dummy_call): Likewise.
+       (mips_o64_push_dummy_call): Likewise.
+
+       * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Use REGCACHE
+       parameter instead of current_regcache.
+
+       * xtensa-tdep.c (xtensa_register_write_masked): Add REGCACHE parameter.
+       Use it instead of read_register and write_register.
+       (xtensa_register_read_masked): Likewise.
+       (xtensa_pseudo_register_read): Update call.
+       (xtensa_pseudo_register_write): Likewise.
+       (xtensa_frame_cache): Use register values unwound from NEXT_FRAME
+       instead of calling read_register.
+       (xtensa_push_dummy_call): Update comment.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * mips-tdep.c (mips16_scan_prologue): Replace read_next_frame_reg
+       by frame_unwind_register_signed calls.
+       (mips32_scan_prologue): Likewise.  Skip analysis of alloca stack
+       frame allocations when called with NULL NEXT_FRAME parameter.
+       (read_next_frame_reg): Remove.
+
+       * sh-tdep.c (sh_analyze_prologue): Add FPSCR parameter.  Use it
+       instead of reading the FPSCR register.
+       (sh_frame_cache): Pass unwound FPSCR register value to
+       sh_analyze_prologue.
+       (sh_skip_prologue): Pass dummy FPSCR value to sh_analyze_prologue.
+
+       * v850-tdep.c (v850_analyze_prologue): Add CTBP parameter.  Use it
+       instead of reading the CTBP register.
+       (v850_frame_cache): Pass unwound CTBP register value to
+       v850_analyze_prologue.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * sh-tdep.h (sh_show_regs): Add FRAME parameter.
+       * sh-tdep.c (sh_show_regs): Likewise.
+       (sh_show_regs_command): Pass current frame to sh_show_regs routine.
+       (sh_generic_show_regs): Add FRAME parameter.  Use register
+       values from that frame instead of calling read_register.
+       (sh3_show_regs, sh2e_show_regs, sh2a_show_regs, sh2a_nofpu_show_regs,
+       sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh4_nofpu_show_regs,
+       sh_dsp_show_regs): Likewise.
+       * sh64-tdep.c (sh64_show_media_regs, sh64_show_compact_regs,
+       sh64_show_regs): Likewise.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Read from
+       current regcache instead of calling read_register.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * mep-tdep.c (current_me_module): Read from current regcache
+       instead of calling read_register.
+       (current_options): Likewise.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * cris-tdep.c (cris_stopped_data_address): Read register values
+       from current frame instead of calling read_register.
+       * frv-tdep.c (frv_stopped_data_address): Likewise.
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * solib-sunos.c (sunos_solib_create_inferior_hook): Use write_pc
+       instead of write_register (PC_REGNUM, ...).
+
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * solib-sunos.c (sunos_solib_create_inferior_hook): Add comment
+       explaining why the PC adjustment code is necessary.
+
+2007-06-15  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * m68k-tdep.h (enum m68k_flavour): New. 
+       (struct gdbarch_tdep): New fields
+       float_return, flavour and fpregs_present.
+       * m68k-tdep.c (m68k_register_type): Use
+       fpregs_present and conditionalize floating
+       registers type on flavour.
+       (m68k_register_names): New.
+       (m68k_register_name): Use the above.
+       (m68k_convert_register_p): Consult fpregs_present.
+       (m68k_register_to_value, m68k_value_to_register):
+       Use register_type to obtain the type of floating
+       point registers.
+       (m68k_svr4_extract_return_value): Check tdep->float_return.
+       Use register_type to get the type of floating
+       point regiters.
+       (m68k_svr4_store_return_value): Likewise.
+       (m68k_dwarf_reg_to_regnum): Check tdep->fpregs_present.
+       (m68k_analyze_register_saves): Likewise.
+       (m68k_gdbarch_init): Extract infromation
+       from XML description, if present.  Guess coldfire by
+       looking at the file, if present. Conditionalize
+       setting of long double format.  Set decr_pc_after_break
+       to 2 on coldfire and fido.  Enable XML-driven
+       register description.
+       * m68kbsd-tdep.c (m68kbsd_fpreg_offset): Use
+       size of tdep->fpreg_type, as opposed to hardcoded value.
+       * Makefile.in (m68k-tdep.o): Update dependencies.
+       
+2007-06-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * NEWS: Mention "info spu" commands and qXfer:spu:read and
+       qXfer:spu:write remote packet types.
+
+2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * xml-tdesc.c (tdesc_start_target): New.
+       (target_attributes): New.
+       (tdesc_elements): Use it.
+       * features/gdb-target.dtd: Add #FIXED version attribute for
+       <target>.
+
+2007-06-13  Arthur Huillet  <arthur.huillet@free.fr>
+
+       * mi/mi-cmd-var.c (mi_cmd_var_assign): Fix typo.
+
 2007-06-13  Claudio Fontana <claudio.fontana@gmail.com>
 
        * fork-child.c (fork_inferior): Update comment.