Kevin Buettner
b275693032
* gdbarch.sh (fetch_tls_load_module_address): New architecture method.
...
* gdbarch.c, gdbarch.h: Regenerate.
* dwarf2loc.c (dwarf_expr_tls_address): Fetch TLS load module
address and pass this address, instead of the objfile address, to
target_get_thread_local_address().
* linux-thread-db.c (thread_db_get_thread_local_address): Change
second parameter from type ``struct objfile *'' to CORE_ADDR. Do
not call svr4_fetch_objfile_link_map() to fetch the load module
address.
* target.h (struct target_ops): Change second parameter of
``to_get_thread_local_address'' from ``struct objfile *'' to
``CORE_ADDR''.
* alpha-linux-tdep.c (solib-svr4.h): Include.
(alpha_linux_init_abi): Register TLS load module fetcher.
* amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
* hppa-linux-tdep.c (hppa_linux_init_abi): Likewise.
* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
* ia64-linux-tdep.c (solib-svr4.h): Include.
(ia64_linux_init_abi): Register TLS load module fetcher.
* m32r-linux-tdep.c (m32r_linux_init_abi): Likewise.
* m68klinux-tdep.c (m68k_linux_init_abi): Likewise.
* mips-linux-tdep.c (mips_linux_init_abi): Likewise.
* s390-tdep.c (s390_gdbarch_init): Likewise.
* sparc-linux-tdep.c (sparc32_linux_init_abi): Likewise.
* sparc64-linux-tdep.c (solib-svr4.h): Include.
(sparc64_linux_init_abi): Register TLS load module fetcher.
* Makefile.in (alpha-linux-tdep.o, ia64-linux-tdep.o)
(sparc-linux-tdep.o): Update dependencies.
2005-03-31 19:58:26 +00:00
Andrew Cagney
f2524b93f3
2004-05-01 Andrew Cagney <cagney@redhat.com>
...
* alpha-tdep.c (alpha_sigtramp_frame_sniffer): Use pc_in_sigtramp.
* alpha-tdep.h (struct gdbarch_tdep): Add pc_in_sigtramp.
* alphafbsd-tdep.c (alphafbsd_init_abi): Update.
* alpha-osf1-tdep.c (alpha_osf1_init_abi): Update.
* alpha-linux-tdep.c (alpha_linux_init_abi): Update.
2004-05-01 15:34:49 +00:00
Andrew Cagney
f561f02630
2004-03-23 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (PC_IN_SIGTRAMP): Change to a function with
predicate, deprecate.
* gdbarch.h, gdbarch.c: Re-generate.
* alpha-linux-tdep.c (alpha_linux_init_abi): Update.
* alpha-osf1-tdep.c (alpha_osf1_init_abi): Update.
* alpha-tdep.c (alpha_sigtramp_frame_sniffer): Update.
* alphafbsd-tdep.c (alphafbsd_init_abi): Update.
* alphanbsd-tdep.c (alphanbsd_init_abi): Update.
* amd64-linux-tdep.c (amd64_linux_init_abi): Update.
* amd64-tdep.c (amd64_sigtramp_frame_sniffer): Update.
* amd64nbsd-tdep.c (amd64nbsd_init_abi): Update.
* amd64obsd-tdep.c (amd64obsd_init_abi): Update.
* arm-tdep.c (arm_sigtramp_unwind_sniffer): Update.
* blockframe.c (find_pc_partial_function): Update.
* breakpoint.c (bpstat_what): Update.
* frame.c (frame_type_from_pc, legacy_get_prev_frame): Update.
* frv-linux-tdep.c (frv_linux_init_abi): Update.
* frv-tdep.c (frv_sigtramp_frame_sniffer): Update.
* hppa-hpux-tdep.c (hppa_hpux_init_abi): Update.
* i386-interix-tdep.c (i386_interix_init_abi): Update.
* i386-linux-tdep.c (i386_linux_init_abi): Update.
* i386-nto-tdep.c (i386nto_init_abi): Update.
* i386-sol2-tdep.c (i386_sol2_init_abi): Update.
* i386-tdep.c (i386_sigtramp_frame_sniffer)
(i386_svr4_init_abi, i386_go32_init_abi, i386_gdbarch_init): Update.
* i386bsd-tdep.c (i386bsd_init_abi): Update.
* i386nbsd-tdep.c (i386nbsd_init_abi): Update.
* i386obsd-tdep.c (i386obsd_init_abi): Update.
* ia64-tdep.c (ia64_sigtramp_frame_sniffer): Update.
* infrun.c (pc_in_sigtramp): Update.
* m68k-tdep.c (m68k_sigtramp_frame_sniffer): Update.
* m68klinux-tdep.c (m68k_linux_init_abi): Update.
* mips-tdep.c (mips_gdbarch_init): Update.
* mipsnbsd-tdep.c (mipsnbsd_init_abi): Update.
* ppc-linux-tdep.c: Update comment.
* ppcnbsd-tdep.c (ppcnbsd_init_abi): Update.
* shnbsd-tdep.c (shnbsd_init_abi): Update.
* sparc-linux-tdep.c (sparc32_linux_init_abi): Update.
* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Update.
* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Update.
* sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Update.
* sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Update.
* sparc64obsd-tdep.c (sparc64obsd_init_abi): Update.
* sparcnbsd-tdep.c (sparc32nbsd_init_abi): Update.
* sparcobsd-tdep.c (sparc32obsd_init_abi): Update.
Index: doc/ChangeLog
2004-03-23 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Deprecate
references to PC_IN_SIGTRAMP.
2004-03-23 14:48:00 +00:00
Richard Henderson
baa490c486
* alpha-tdep.c (alpha_dwarf2_init_abi): New.
...
* alpha-tdep.h (alpha_dwarf2_init_abi): Declare it.
* alpha-linux-tdep.c (alpha_linux_init_abi): Use it.
* alphafbsd-tdep.c (alphafbsd_init_abi): Register dwarf2 and mdebug
unwind routines.
* alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
* config/alpha/fbsd.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
* config/alpha/nbsd.mt (TDEPFILES): Likewise.
* alpha-linux-tdep.c: Remove unnecessary includes.
* Makefile.in (alpha-linux-tdep.o): Update.
2003-06-04 06:22:17 +00:00
Richard Henderson
f1a559ae83
* alpha-linux-tdep.c (alpha_linux_init_abi): Install dwarf2 unwinder.
2003-06-01 15:53:56 +00:00
Richard Henderson
d2427a719b
* alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): New.
...
(alpha_linux_sigtramp_offset): Use it. Make static.
(alpha_linux_sigcontext_addr): Handle __NR_rt_sigreturn;
update for new frame model.
* alpha-mdebug-tdep.c: New file.
* alpha-osf1-tdep.c (alpha_call_dummy_address): Move from alpha-tdep.c.
(alpha_osf1_init_abi): Install it.
* alpha-tdep.c (PROC_*): Move to alpha-mdebug-tdep.c.
(linked_proc_desc_table): Remove.
(alpha_frame_past_sigtramp_frame): Remove.
(alpha_dynamic_sigtramp_offset): Remove.
(ALPHA_PROC_SIGTRAMP_MAGIC): Remove.
(alpha_proc_desc_is_dyn_sigtramp): Remove.
(alpha_set_proc_desc_is_dyn_sigtramp): Remove.
(push_sigtramp_desc): Remove.
(alpha_cannot_fetch_register): Use ALPHA_FP_REGNUM.
(alpha_cannot_store_register): Likewise.
(alpha_sigcontext_addr): Remove.
(alpha_find_saved_regs): Remove.
(alpha_frame_init_saved_regs): Remove.
(alpha_init_frame_pc_first): Remove.
(read_next_frame_reg): Remove.
(alpha_frame_saved_pc): Remove.
(alpha_saved_pc_after_call): Remove.
(temp_proc_desc, temp_saved_regs): Remove.
(alpha_about_to_return): Remove.
(cached_proc_desc): Remove.
(alpha_frame_chain): Remove.
(alpha_print_extra_frame_info): Remove.
(alpha_init_extra_frame_info): Remove.
(alpha_frame_locals_address): Remove.
(alpha_frame_args_address): Remove.
(alpha_push_arguments): Use ALPHA_REGISTER_BYTES not sizeof CORE_ADDR.
(alpha_push_dummy_frame): Remove.
(alpha_pop_frame): Remove.
(alpha_after_prologue): Rename from after_prologue; remove mdebug bits.
(alpha_read_insn): New.
(alpha_skip_prologue): Merge alpha_skip_prologue_internal; adjust
for different insn encodings.
(alpha_in_lenient_prologue): Remove.
(struct alpha_sigtramp_unwind_cache): New.
(alpha_sigtramp_frame_unwind_cache): New.
(alpha_sigtramp_register_address): New.
(alpha_sigtramp_frame_this_id): New.
(alpha_sigtramp_frame_prev_register): New.
(alpha_sigtramp_frame_unwind): New.
(alpha_sigtramp_frame_p): New.
(struct alpha_heuristic_unwind_cache): New.
(alpha_heuristic_proc_start): Rename from heuristic_proc_start;
don't count nop insns that occur between functions.
(alpha_heuristic_frame_unwind_cache): New; incorporate much of
heuristic_proc_desc, but without the mdebug wrapping.
(alpha_heuristic_frame_this_id): New.
(alpha_heuristic_frame_prev_register): New.
(alpha_heuristic_frame_unwind): New.
(alpha_heuristic_frame_p): New.
(alpha_heuristic_frame_base_address): New.
(alpha_heuristic_frame_base): New.
(alpha_unwind_dummy_id): New.
(alpha_unwind_pc): New.
(alpha_gdbarch_init): Don't set skip_sigtramp_frame. Kill use of
frame related deprecated initializations; install replacements.
(alpha_dump_tdep): Remove.
* alpha-tdep.h (struct gdbarch_tdep): Remove skip_sigtramp_frame.
(alpha_read_insn, alpha_after_prologue,
alpha_heuristic_frame_unwind_cache, alpha_heuristic_frame_this_id,
alpha_heuristic_frame_prev_register,
alpha_heuristic_frame_base_address, alpha_mdebug_init_abi): Declare.
* config/alpha/alpha-linux.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
* config/alpha/tm-alpha.h (PRINT_EXTRA_FRAME_INFO): Remove.
* config/alpha/tm-alphalinux.h (SIGTRAMP_START, SIGTRAMP_END): Remove.
2003-05-29 23:02:53 +00:00
Andrew Cagney
1c615f7a40
2003-01-08 Andrew Cagney <cagney@redhat.com>
...
* alpha-linux-tdep.c (alpha_linux_sigcontext_addr): Use
get_frame_base.
2003-01-09 00:24:50 +00:00
Daniel Jacobowitz
4be87837a2
* arch-utils.c (gdbarch_info_init): Set osabi to
...
GDB_OSABI_UNINITIALIZED.
* gdbarch.sh: Add osabi to struct gdbarch and to struct
gdbarch_info. Include "osabi.h" in gdbarch.c. Check osabi
in gdbarch_list_lookup_by_info and in gdbarch_update_p.
* gdbarch.c: Regenerated.
* gdbarch.h: Regenerated.
* osabi.c (gdbarch_lookup_osabi): Return GDB_OSABI_UNINITIALIZED if
there's no BFD.
(gdbarch_init_osabi): Remove osabi argument; use info.osabi.
* osabi.h (enum gdb_osabi): Move to defs.h.
(gdbarch_init_osabi): Update prototype.
* defs.h (enum gdb_osabi): Moved here.
* Makefile.in: Update dependencies.
Plus updates to alpha, arm, hppa, i386, mips, ns32k, ppc, sh, sparc, and vax
ports to match.
2003-01-04 23:38:46 +00:00
Mark Kettenis
05816f706e
* osabi.c: Include "gdb_assert.h" and "gdb_string.h".
...
(struct gdb_osabi_handler): Remove member `arch'. Add member
`arch_info'.
(gdbarch_register_osabi): Add new argument `machine'. Use ot to
construct a `struct bfd_arch_info' and store it in the `struct
gdb_osabi_handler' that is created.
(gdbarch_init_osabi): Check for compatibility based on machine
type and architecture.
* osabi.h (gdbarch_register_osabi): Adjust prototype and update
comment.
* alpha-linux-tdep.c (_initialize_alpha_linux_tdep): Add 0 as
second argument in call to gdbarch_register_osabi.
* alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Likewise.
* alphafbsd-tdep.c (_initialize_alphafbsd_tdep): Likewise.
* alphanbsd-tdep.c (_initialize_alphanbsd_tdep): Likewise.
* arm-linux-tdep.c (_initialize_arm_linux_tdep): Likewise.
* arm-tdep.c (_initialize_arm_tdep): Likewise.
* armnbsd-tdep.c (_initialize_armnbsd_tdep): Likewise.
* hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Likewise.
* i386-interix-tdep.c (_initialize_i386_interix_tdep): Likewise.
* i386-linux-tdep.c (_initialize_i386_linux_tdep): Likewise.
* i386-sol2-tdep.c (_initialize_i386_sol2_tdep): Likewise.
* i386-tdep.c (_initialize_i386_tdep): Likewise.
* i386bsd-tdep.c (_initialize_i386bsd_tdep): Likewise.
* i386gnu-tdep.c (_initialize_i386gnu_tdep): Likewise.
* i386ly-tdep.c (_initialize_i386lynx_tdep): Renamed from
_initialize_i386bsd_tdep and updated likewise.
* i386nbsd-tdep.c (_initialize_i386nbsd_tdep): Likewise.
* i386obsd-tdep.c (_initialize_i386obsd_tdep): Likewise.
* mips-irix-tdep.c (_initialize_mips_irix_tdep): Likewise.
* mips-linux-tdep.c (_initialize_mips_linux_tdep): Likewise.
* mipsnbsd-tdep.c (_initialize_mipsnbsd__tdep): Likewise.
* ns32knbsd-tdep.c (_initialize_ns32kmnsd_tdep): Likewise.
* ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Likewise.
* ppcnbsd-tdep.c (_initialize_ppcnbsd_tdep): Likewise.
* shnbsd-tdep.c (_initialize_shnbsd_tdep): Likewise.
* sparcnbsd-tdep.c (_initialize_sparcnbsd_tdep): Likewise.
2002-12-21 19:58:07 +00:00
Jason Thorpe
70f80edf7c
* Makefile.in (SFILES): Add osabi.c.
...
(COMMON_OBS): Add osabi.o.
(osabi.o): New dependency list.
* osabi.c: New file.
* osabi.h: New file.
* doc/gdbint.texinfo: Document new generic OS ABI framework.
* Makefile.in (alpha_tdep_h): Define and use instead of
alpha-tdep.h.
* alpha-tdep.c (alpha_abi_names, process_note_abi_tag_sections,
get_elfosabi, alpha_abi_handler_list, alpha_gdbarch_register_os_abi):
Remove.
(alpha_gdbarch_init, alpha_dump_tdep): Use generic OS ABI framework.
* alpha-tdep.h: Include osabi.h.
(alpha_abi): Remove.
(gdbarch_tdep): Use generic OS ABI framework.
* alpha-linux-tdep.c (_initialize_alpha_linux_tdep): Use
gdbarch_register_osabi.
* alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Likewise.
* alphafbsd-tdep.c (_initialize_alphafbsd_tdep): Likewise.
* alphanbsd-tdep.c (_initialize_alphanbsd_tdep): Likewise.
* Makefile.in (sh_tdep_h): Add osabi.h.
* sh-tdep.h (sh_osabi): Remove.
(gdbarch_tdep): Use generic OS ABI framework.
* sh-tdep.c (sh_osabi_names, process_note_abi_tag_sections,
sh_osabi_handler_list, sh_gdbarch_register_os_abi): Remove.
(sh_gdbarch_init, sh_dump_tdep): Use generic OS ABI framework.
* shnbsd-tdep.c (_initialize_shnbsd_tdep): Use gdbarch_register_osabi.
* Makefile.in (arm_tdep_h): Define and use instead of arm-tdep.h.
* arm-linux-tdep.c (_initialize_arm_linux_tdep): Use
gdbarch_register_osabi.
* arm-tdep.c (arm_abi_names, process_note_abi_tag_sections,
arm_abi_handler_list, arm_gdbarch_register_os_abi): Remove.
(get_elfosabi): Rename to...
(arm_elf_osabi_sniffer): ...this. Adjust to use generic OS
ABI framework support routines.
(arm_gdbarch_init): Use generic OS ABI framework.
(arm_dump_tdep): Likewise.
(_initialize_arm_tdep): Likewise.
* arm-tdep.h: Include osabi.h.
(arm_abi): Remove.
(gdbarch_tdep): Remove arm_abi and abi_name members. Add
osabi member.
(arm_gdbarch_register_os_abi): Remove prototype.
* armnbsd-tdep.c (arm_netbsd_aout_osabi_sniffer): New function.
(_initialize_arm_netbsd_tdep): Use gdbarch_register_osabi.
* Makefile.in (mips-tdep.o): Add osabi.h to dependency list.
* mips-tdep.c: Include osabi.h.
(gdbarch_tdep, mips_gdbarch_init, mips_dump_tdep): Use generic
OS ABI framework.
2002-05-21 15:36:03 +00:00
Jason Thorpe
5868c862e2
* alpha-tdep.h (gdbarch_tdep): Add sigcontext_addr member.
...
* alpha-tdep.c (alpha_sigcontext_addr): New function.
(alpha_find_saved_regs): Use alpha_sigcontext_addr.
(alpha_gdbarch_init): Initialize tdep->sigcontext_addr.
* alpha-linux-tdep.c: Include frame.h.
(alpha_linux_sigcontext_addr): New function.
(alpha_linux_init_abi): Set tdep->sigcontext_addr to
alpha_linux_sigcontext_addr.
* alpha-osf1-tdep.c: Include gdbcore.h.
(alpha_osf1_sigcontext_addr): New function.
(alpha_osf1_init_abi): Set tdep->sigcontext_addr to
alpha_osf1_sigcontext_addr.
* config/alpha/tm-alpha.h (SIGCONTEXT_ADDR): Remove.
* config/alpha/tm-alphalinux.h (SIGCONTEXT_ADDR): Remove.
2002-04-26 07:05:35 +00:00
Jason Thorpe
accc6d1ff3
* alpha-tdep.h (gdbarch_tdep): Add jb_pc and jb_elt_size members.
...
* alpha-linux-tdep.c (alpha_linux_init_abi): Initialize
tdep->jb_pc and tdep->jb_elt_size.
* alpha-osf1-tdep.c (alpha_osf1_init_abi): Likewise.
* alphafbsd-tdep.c (alphafbsd_init_abi): Likewise.
* alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
* alpha-nat.c (get_longjmp_target): Remove.
(JB_ELEMENT_SIZE): Ditto.
(JB_PC): Ditto.
* alpha-tdep.c (alpha_get_longjmp_target): New function.
(alpha_gdbarch_init): Default tdep->jb_pc to -1. If the
OS ABI sets jb_pc to a valid value, set gdbarch_get_longjmp_target
to alpha_get_longjmp_target.
(alpha_dump_tdep): Report tdep->jb_pc and tdep->jb_elt_size.
* config/alpha/nm-linux.h (GET_LONGJMP_TARGET): Remove.
* config/alpha/nm-osf.h (GET_LONGJMP_TARGET): Remove.
2002-04-26 01:08:19 +00:00
Jason Thorpe
6c72f9f974
* alpha-linux-tdep.c (alpha_linux_pc_in_sigtramp): New function.
...
(alpha_linux_init_abi): Set gdbarch_pc_in_sigtramp to
alpha_linux_pc_in_sigtramp.
* alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): New function.
(alpha_osf1_init_abi): Set gdbarch_pc_in_sigtramp to
alpha_osf1_pc_in_sigtramp.
* alpha-tdep.c (alpha_osf_in_sigtramp): Remove.
* alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): New function.
(alphafbsd_init_abi): Set gdbarch_pc_in_sigtramp to
alphafbsd_pc_in_sigtramp.
* alphanbsd-tdep.c (alphanbsd_pc_in_sigtramp): New function.
(alphanbsd_init_abi): Set gdbarch_pc_in_sigtramp to
alphanbsd_pc_in_sigtramp.
* config/alpha/tm-alpha.h (IN_SIGTRAMP): Remove.
* config/alpha/tm-alphalinux.h (IN_SIGTRAMP): Remove.
2002-04-25 05:06:08 +00:00
Jason Thorpe
36a6271d5e
* Makefile.in (ALLDEPFILES): Add alpha-osf1-tdep.c.
...
(alpha-osf1-tdep.o): New dependency list.
* alpha-tdep.h (gdbarch_tdep): Add dynamic_sigtramp_offset
and skip_sigtramp_frame members.
* alpha-linux-tdep.c: Include gdbcore.h.
(alpha_linux_sigtramp_offset): Change return type to LONGEST.
(alpha_linux_init_abi): Initialize tdep->dynamic_sigtramp_offset.
* alpha-osf1-tdep.c: New file.
* alpha-tdep.c (alpha_osf_skip_sigtramp_frame): Moved to
alpha-osf1-dep.c.
(alpha_frame_past_sigtramp_frame): New function.
(alpha_dynamic_sigtramp_offset): Ditto.
(alpha_proc_desc_is_dyn_sigtramp): Ditto.
(alpha_set_proc_desc_is_dyn_sigtramp): Ditto.
(ALPHA_PROC_SIGTRAMP_MAGIC): Define.
(push_sigtramp_desc): Use alpha_set_proc_desc_is_dyn_sigtramp.
(after_prologue): Use alpha_proc_desc_is_dyn_sigtramp.
(find_proc_desc): Use alpha_dynamic_sigtramp_offset.
(alpha_frame_chain): Use alpha_frame_past_sigtramp_frame.
(alpha_init_extra_frame_info): Use alpha_proc_desc_is_dyn_sigtramp.
(alpha_pop_frame): Use alpha_proc_desc_is_dyn_sigtramp.
(alpha_gdbarch_init): Initialize tdep->dynamic_sigtramp_offset
and tdep->skip_sigtramp_frame. Set gdbarch_skip_trampoline_code
to find_solib_trampoline_target.
* config/alpha/alpha-osf1.mt (TDEPFILES): Add alpha-osf1-tdep.o.
* config/alpha/tm-alpha.h: Remove inclusion of regcache.h.
(SKIP_TRAMPOLINE_CODE): Remove.
(PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
(SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
(DYNAMIC_SIGTRAMP_OFFSET): Ditto.
(FRAME_PAST_SIGTRAMP_FRAME): Ditto.
* config/alpha/tm-alphalinux.h (PROC_DESC_IS_DYN_SIGTRAMP): Remove.
(PROC_SIGTRAMP_MAGIC): Ditto.
(PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
(SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
(SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
(DYNAMIC_SIGTRAMP_OFFSET): Ditto.
(FRAME_PAST_SIGTRAMP_FRAME): Ditto.
2002-04-25 02:28:57 +00:00
Jason Thorpe
3379287ac9
* alpha-linux-tdep.c: New file. Move alpha_linux_sigtramp_offset
...
to here...
* alpha-tdep.c: ...from here.
* config/alpha/alpha-linux.mt (TDEPFILES): Add alpha-linux-tdep.o.
2002-04-21 21:07:58 +00:00