]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/ChangeLog
* coffread.c (coff_sym_fns): Add default_symfile_segments.
[thirdparty/binutils-gdb.git] / gdb / ChangeLog
index fe09eb5d25e87d1f2176c9565da5e652adb5e10f..0ed2af062ca8c38a1f6c8eef254913b2a5d8fc28 100644 (file)
@@ -1,3 +1,675 @@
+2007-06-18  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * coffread.c (coff_sym_fns): Add default_symfile_segments.
+       * dbxread.c (start_psymtab): Check HAVE_ELF.
+       (aout_sym_fns): Likewise.
+       * elfread.c (elf_symfile_segments): New.
+       (elf_sym_fns): Add elf_symfile_segments.
+       * mipsread.c (ecoff_sym_fns): Add default_symfile_segments.
+       * remote.c (get_offsets): Use symfile_map_offsets_to_segments.
+       Skip if there is no symfile_objfile.  Handle TextSeg and DataSeg.
+       * somread.c (som_sym_fns): Use default_symfile_segments.
+       * symfile.c (find_sym_fns): Take a BFD and return the sym_fns.
+       (init_objfile_sect_indices): Call symfile_find_segment_sections.
+       (default_symfile_segments): New function.
+       (syms_from_objfile): Update call to find_sym_fns.
+       (symfile_get_segment_data, free_symfile_segment_data): New.
+       (symfile_map_offsets_to_segments): New.
+       (symfile_find_segment_sections): New.
+       * symfile.h (struct symfile_segment_data): New.
+       (struct sym_fns): Add sym_segments.
+       (default_symfile_segments, symfile_get_segment_data)
+       (free_symfile_segment_data): New prototypes.
+       (symfile_map_offsets_to_segments): Likewise.
+       * xcoffread.c (xcoff_sym_fns): Add default_symfile_segments.
+       * Makefile.in (COMMON_OBS): Remove elfread.o.
+       (elf_internal_h): New.
+       (elfread.o): Update.
+       * configure.ac: Add elfread.o to COMMON_OBS if bfd/elf.o was
+       compiled.
+       * config.in, configure: Regenerated.
+       * NEWS: Mention qOffsets changes.
+
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbtypes.h (builtin_type_m2_char, builtin_type_m2_int,
+       builtin_type_m2_card, builtin_type_m2_real, builtin_type_m2_bool):
+       Replace global variable declaration with compatibility macro.
+       (struct builtin_m2_type): New data type.
+       (builtin_m2_type): Add prototype.
+       * m2-lang.c (builtin_type_m2_char, builtin_type_m2_int,
+       builtin_type_m2_card, builtin_type_m2_real, builtin_type_m2_bool):
+       Remove global variables.
+       (m2_language_arch_info): Use builtin_m2_type instead of variables.
+       (build_m2_types): New function.
+       (m2_type_data): New variable.
+       (builtin_m2_type): New function.
+       (_initialize_m2_language): Do not build data types.  Register
+       m2_type_data per-gdbarch data.
+
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbtypes.h (builtin_type_f_character, builtin_type_f_logical,
+       builtin_type_f_logical_s1, builtin_type_f_logical_s2,
+       builtin_type_f_integer, builtin_type_f_integer_s2, builtin_type_f_real,
+       builtin_type_f_real_s8, builtin_type_f_real_s16,
+       builtin_type_f_complex_s8, builtin_type_f_complex_s16,
+       builtin_type_f_complex_s32, builtin_type_f_void): Replace global
+       variable declaration with compatibility macro.
+       (struct builtin_f_type): New data type.
+       (builtin_f_type): Add prototype.
+       * f-lang.c (builtin_type_f_character, builtin_type_f_logical,
+       builtin_type_f_logical_s1, builtin_type_f_logical_s2,
+       builtin_type_f_integer, builtin_type_f_integer_s2, builtin_type_f_real,
+       builtin_type_f_real_s8, builtin_type_f_real_s16,
+       builtin_type_f_complex_s8, builtin_type_f_complex_s16,
+       builtin_type_f_complex_s32, builtin_type_f_void): Remove variables.
+       (f_language_arch_info): Use builtin_f_type instead of variables.
+       (build_fortran_types): Build builtin_f_type structure instead of
+       setting global type variables.
+       (f_type_data): New variable.
+       (builtin_f_type): New function.
+       (_initialize_f_language): Do not call build_fortran_types.  Do not
+       swap global type variables.  Register f_type_data per-gdbarch data.
+
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * f-lang.c (_initialize_f_language): Do not initialize or
+       swap builtin_type_string.
+
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * std-regs.c (builtin_type_frame_reg, build_builtin_type_frame_reg,
+       value_of_builtin_frame_reg): Remove.
+       (_initialize_frame_reg): Do not swap builtin_type_frame_reg.  Remove
+       inactive call to value_of_builtin_frame_reg.
+
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbarch.sh (bfd_vma_bit): Remove.
+       * gdbarch.c, gdbarch.h: Regenerate.
+
+       * gdbtypes.h (builtin_bfd_vma_type): Remove.
+       * gdbtypes.h (builtin_bfd_vma_type): Remove.
+       (build_gdbtypes): Do not initialize it.
+       (_initialize_gdbtypes): Do not swap it.
+
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdbtypes.c (builtin_type_v2_double, builtin_type_v4_float, 
+       builtin_type_v2_int64, builtin_type_v4_int32, builtin_type_v8_int16,
+       builtin_type_v16_int8, builtin_type_v2_float, builtin_type_v2_int32,
+       builtin_type_v4_int16, builtin_type_v8_int8, builtin_type_v4sf,
+       builtin_type_v4si, builtin_type_v16qi, builtin_type_v8qi, 
+       builtin_type_v8hi, builtin_type_v4hi, builtin_type_v2si,
+       builtin_type_vec64, builtin_type_vec128): Remove.
+       (init_simd_type): Remove.
+       (init_vector_type): Make global.
+       (build_builtin_type_vec64, build_builtin_type_vec128): Remove.
+       (build_gdbtypes): Do not build vector types.
+       (_initialize_gdbtypes): Do not swap vector types.
+       * gdbtypes.h (builtin_type_v2_double, builtin_type_v4_float, 
+       builtin_type_v2_int64, builtin_type_v4_int32, builtin_type_v8_int16,
+       builtin_type_v16_int8, builtin_type_v2_float, builtin_type_v2_int32,
+       builtin_type_v4_int16, builtin_type_v8_int8, builtin_type_v4sf,
+       builtin_type_v4si, builtin_type_v16qi, builtin_type_v8qi, 
+       builtin_type_v8hi, builtin_type_v4hi, builtin_type_v2si,
+       builtin_type_vec64, builtin_type_vec128): Remove declarations.
+       (init_vector_type): Add prototype.
+
+       * i386-tdep.h (struct gdbarch_tdep): Add i386_mmx_type and
+       i386_sse_type members.
+       (i386_mmx_type, i386_sse_type): Change from variables to functions.
+       * i386-tdep.c (i386_mmx_type, i386_sse_type): Remove variables.
+       (i386_init_types): Do not build vector types.
+       (i386_mmx_type, i386_sse_type): New functions.
+       (i386_register_type): Call them instead of using global variables.
+       (i386_gdbarch_init): Use XCALLOC to allocate tdep structure.
+       * amd64-tdep.c (amd64_register_type): Call i386_sse_type instead
+       of using global variable.
+
+       * rs6000-tdep.h (struct gdbarch_tdep): Add ppc_builtin_type_vec64
+       and ppc_builtin_type_vec128 members.
+       * rs6000-tdep.c (rs6000_builtin_type_vec64): New function.
+       (rs6000_builtin_type_vec128): Likewise.
+       (rs6000_register_type): Call them instead of using builtin_type_vec64
+       and builtin_type_vec128.
+       (rs6000_gdbarch_init): Use XCALLOC to allocate tdep structure.
+
+       * spu-tdep.c (struct gdbarch_tdep): New data type.
+       (spu_builtin_type_vec128): Remove variable.
+       (spu_builtin_type_vec128): New function.
+       (spu_register_type): Call it instead of using global variable.
+       (spu_gdbarch_init): Allocate tdep structure.
+       (spu_init_vector_type): Remove function.
+       (_initialize_spu_tdep): Do not call it.
+
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * amd64-tdep.c (struct amd64_register_info): Remove.
+       (amd64_register_info): Remove.
+       (amd64_register_names): New static variable.
+       (AMD64_NUM_REGS): Use amd64_register_names instead of
+       amd64_register_info.
+       (amd64_register_name): Likewise.
+       (amd64_register_type): Do not refer to amd64_register_info.
+
+       * s390-tdep.c (struct s390_register_info): Remove.
+       (s390_register_info): Remove.
+       (s390_register_name): Do not refer to s390_register_info.
+       (s390_register_type): Likewise.
+
+       * sparc64-tdep.c (struct sparc64_register_info): Remove.
+       (sparc64_register_info, sparc64_pseudo_register_info): Remove.
+       (sparc64_register_names, sparc64_pseudo_register_names): New.
+       (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use
+       sparc64_register_names and sparc64_pseudo_register_names instead of
+       sparc64_register_info and sparc64_pseudo_register_info.
+       (sparc64_register_name): Likewise.
+       (sparc64_register_type): Do not refer to sparc64_register_info
+       and sparc64_pseudo_register_info.
+
+2007-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * c-lang.c (cplus_builtin_types): Remove.
+       (enum cplus_primitive_types): New data type.
+       (cplus_language_arch_info): New function.
+       (cplus_language_defn): Set la_language_arch_info member.  Do not set
+       la_builtin_type_vector and string_char_type members.
+
+       * f-lang.c (f_builtin_types): Remove.
+       (enum f_primitive_types): New data type.
+       (f_language_arch_info): New function.
+       (f_language_de): Set la_language_arch_info member.  Do not set
+       la_builtin_type_vector and string_char_type members.
+
+       * m2-lang.c (m2_builtin_types): Remove.
+       (enum m2_primitive_types): New data type.
+       (m2_language_arch_info): New function.
+       (m2_language_defn): Set la_language_arch_info member.  Do not set
+       la_builtin_type_vector and string_char_type members.
+
+       * objc-lang.c (objc_builtin_types): Remove.
+       (objc_language): Set la_language_arch_info member.  Do not set
+       la_builtin_type_vector and string_char_type members.
+
+       * p-lang.c (pascal_builtin_types): Remove.
+       (enum pascal_primitive_types): New data type.
+       (pascal_language_arch_info): New function.
+       (pascal_language_defn): Set la_language_arch_info member.  Do not set
+       la_builtin_type_vector and string_char_type members.
+
+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.
+
+2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * features/Makefile: Generate regformats for mips-linux and
+       mips64-linux.
+       * features/sort-regs.xsl: Correct typo.
+       * regformats/reg-mips.dat, regformats/reg-mips64.dat: Delete.
+       * regformats/mips-linux.dat, regformats/mips64-linux.dat: New generated
+       files.
+
+2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/mips/linux.mh (TDEP_XML): New.
+       * features/mips-linux.xml, features/mips64-linux.xml: New files.
+       * mips-linux-nat.c (mips_linux_register_addr): Handle
+       MIPS_RESTART_REGNUM.
+       (mips64_linux_register_addr): Likewise.
+       (super_xfer_partial, mips_linux_xfer_partial): New.
+       (_initialize_mips_linux_nat): Add them to the target_ops.
+       * mips-linux-tdep.c (mips_supply_gregset): Handle MIPS_RESTART_REGNUM.
+       (mips_fill_gregset, mips64_supply_gregset, mips64_fill_gregset)
+       (mips_linux_o32_sigframe_init)
+       (mips_linux_n32n64_sigframe_init): Likewise.
+       (mips_linux_write_pc, mips_linux_restart_reg_p): New.
+       (mips_linux_init_abi): Use mips_linux_write_pc.  Check for the
+       "org.gnu.gdb.mips.linux" feature.
+       * mips-linux-tdep.h (MIPS_RESTART_REGNUM): New constant.
+       (mips_linux_restart_reg_p): New prototype.
+       * mips-tdep.c (mips_gdbarch_init): Pass tdesc_data to the OS/ABI
+       initialization routine.
+       * Makefile.in (mips-linux-tdep.o, mips-linux-nat.o): Update.
+
 2007-06-13  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * Makefile.in (mips-tdep.o): Update.