Commit graph

17 commits

Author SHA1 Message Date
Mark Kettenis
d78749b4b8 * amd64obsd-tdep.c: Include "regcache.h" and "bsd-uthread.h".
(amd64obsd_uthread_reg_offset): New variable.
(AMD64OBSD_UTHREAD_RSP_OFFSET): New define.
(amd64obsd_supply_uthread, amd64obsd_collect_uthread): New
functions.
(amd64obsd_init_abi): Set supply_uthread and collect_uthread.
* Makefile.in (amd64obsd-tdep.o): Update dependencies.
2005-12-04 20:19:25 +00:00
Mark Kettenis
d8de1ef788 * amd64-tdep.c (amd64_return_value): Use `gdb_byte *' in casts.
(amd64_push_arguments): Use gdb_byte instead of bfd_byte.  Use
gdb_byte for buf.
(amd64_push_dummy_call): Use gdb_byte for buf.
(amd64_analyze_prologue): Use gdb_byte for proto, buf and op.
(amd64_frame_cache, amd64_sigtramp_frame_cache)
(amd64_unwind_dummy_id): Use gdb_byte for buf.
(amd64_supply_fxsave, amd64_collect_fxsave): Use `gdb_byte *' for
regs.
* amd64obsd-tdep.c (amd64obsd_supply_regset): Use `gdb_byte *' in
casts.
(amd64obsd_sigtramp_p): Use gdb_byte for sigreturn and `gdb_byte
*' for buf,
2005-05-08 18:00:07 +00:00
Mark Kettenis
1c5bf4196b * amd64obsd-tdep.c (amd64obsd_sigtramp_p): Use
safe_frame_unwind_memory instead of target_read_memory.
2004-08-22 20:34:55 +00:00
Mark Kettenis
4cd28409c5 * amd64obsd-tdep.c (amd64obsd_sigtramp_p): Adjust for new
assembler in OpenBSD 3.5-current.
(amd64obsd_sigcontext_addr): Likewise.
2004-05-29 15:09:18 +00:00
Mark Kettenis
9ea75c57ce * regset.c: Tweak comment.
(regset_alloc): Remove descr argument.  Use GDBARCH_OBSTACK_ZALLOC
macro.
* regset.h: Update copyright year.
(struct regset): Remove `descr' member, add `gdbarch' member.
(regset_alloc): Adjust prototype and comment.
* i386-tdep.c (i386_supply_gregset): Get TDEP from REGSET->arch.
(i386_supply_fpregset): Likewise.
(i386_regset_from_core_section): Update call to regset_alloc.
* i386obsd-tdep.c (i386obsd_aout_supply_regset): Get TDEP from
REGSET->arch.
(i386obsd_aout_regset_from_core_section): Update call to
regset_alloc.
* i386nbsd-tdep.c (i386nbsd_aout_supply_regset): Get TDEP from
REGSET->arch.
(i386nbsd_aout_regset_from_core_section): Update call to
regset_alloc.
* amd64-tdep.c (amd64_supply_fpregset): Get TDEP from
REGSET->arch.
(amd64_regset_from_core_section): Update call to regset_alloc.
* amd64obsd-tdep.c (amd64obsd_supply_regset): Get TDEP from
REGSET->arch.
(amd64obsd_regset_from_core_section): Update call to regset_alloc.
* sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Directly pass
&sparc32nbsd_gregset in sparc32_supply_gregset call.
(sparc32nbsd_init_abi): Update call to regset_alloc.
* sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Directly pass
&sparc64obsd_core_gregset in sparc64_supply_gregset call.
(sparc64obsd_init_abi): Update call to regset_alloc.
* sparc64nbsd-tdep.c (sparc64nbsd_supply_gregset): Directly pass
&sparc64nbsd_gregset in sparc64_supply_gregset call.
(sparc64nbsd_init_abi): Update call to regset_alloc.
* sparc64fbsd-tdep.c (sparc64fbsd_supply_gregset): Directly pass
&sparc64fbsd_gregset in sparc64_supply_gregset call.
(sparc64fbsd_init_abi): Update call to regset_alloc.
2004-05-22 15:16:22 +00:00
Jim Blandy
617a4cbacf Allocate regset structures in the gdbarch's obstack, not using
xmalloc.
* regset.c (regset_alloc): Renamed from regset_xmalloc.
Add 'arch' argument.  Allocate the regset on arch's obstack, not
using xmalloc.
* regset.h (regset_alloc): Update declaration.
* am64-tdep.c (amd64_regset_from_core_section): Update call; pass
gdbarch argument.
* amd64obsd-tdep.c (amd64obsd_regset_from_core_section): Same.
* i386-tdep.c (i386_regset_from_core_section): Same.
* i386nbsd-tdep.c (i386nbsd_aout_regset_from_core_section): Same.
* i386obsd-tdep.c (i386obsd_aout_regset_from_core_section): Same.
* sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Same.
* sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Same.
* sparc64obsd-tdep.c (sparc64obsd_init_abi): Same.
* sparcnbsd-tdep.c (sparc32nbsd_init_abi): Same.
2004-05-21 22:15:10 +00:00
Jim Blandy
be07a590ed Use a constructor function to create regset structures.
* regset.h (supply_regset_ftype, collect_regset_ftype): New typedefs.
(struct regset): Use supply_regset_ftype.  Add new
'collect_regset' member.
(regset_xmalloc): New declaration.
* regset.c: New file.
* am64-tdep.c (amd64_regset_from_core_section): Use
regset_xmalloc to construct regset structures.
* amd64obsd-tdep.c (amd64obsd_regset_from_core_section): Same.
* i386-tdep.c (i386_regset_from_core_section): Same.
* i386nbsd-tdep.c (i386nbsd_aout_regset_from_core_section): Same.
* i386obsd-tdep.c (i386obsd_aout_regset_from_core_section): Same.
* sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Same.
* sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Same.
* sparc64obsd-tdep.c (sparc64obsd_init_abi): Same.
* sparcnbsd-tdep.c (sparc32nbsd_init_abi): Same.
* Makefile.in (COMMON_OBS): Add regset.o.
(regset.o): New rule.
2004-05-20 00:53:06 +00:00
Mark Kettenis
0fe85704c4 * amd64obsd-tdep.c (amd64obsd_sigtramp_p): Replace hexadecimal
offset with decimal offset.
(amd64obsd_sigcontext_addr): Return correct address for entire
signal trampoline.
2004-05-15 21:06:50 +00:00
Mark Kettenis
377d9ebdae * amd64-linux-tdep.c, amd64nbsd-tdep.c, amd64obsd-tdep.c,
i386-linux-tdep.c, i386-tdep.c, i386nbsd-tdep.c, i386obsd-tdep.c:
Fix typo.
2004-04-09 23:26:19 +00:00
Mark Kettenis
911bc6ee3f * amd64-tdep.c (amd64_sigtramp_frame_sniffer): Rewrite to use new
sigtramp_p member of `struct gdbarch_tdep'.  Also check whether
the program counter is in the range specified by `struct
gdbarch_tdep'.
* amd64-linux-tdep.c: Include "symtab.h".
(amd64_linux_pc_in_sigtramp): Remove function.
(amd64_linux_sigtramp_p): New function.
(amd64_linux_init_abi): Initialize TDEP->sigtramp_p.  Don't set
deprecated_pc_in_sigtramp.
* amd64nbsd-tdep.c: Include "symtab.h".
(amd64nbsd_sigtramp_p): New function.
(amd64nbsd_init_abi): Initialize TDEP->sigtramp_p.  Don't set
deprecated_pc_in_sigtramp.
* amd64obsd-tdep.c: Include "symtab.h" and "objfiles.h".  Add a
few comments.
(amd64obsd_pc_in_sigtramp): Remove function.
(amd64obsd_sigtramp_p): New function.
(amd64obsd_init_abi): Initialize TDEP->sigtramp_p.  Don't set
deprecated_pc_in_sigtramp.
* i386-tdep.h (struct gdbarch_tdep): Add sigtramp_p member.
(i386bsd_pc_ins_sigtramp): Remove prototype.
(i386bsd_sigtramp_start, i386bsd_sigtramp_end): Remove prototypes.
* i386-tdep.c (i386_sigtramp_frame_sniffer): Rewrite to use new
sigtramp_p member of `struct gdbarch_tdep'.  Also check whether
the program counter is in the range specified by `struct
gdbarch_tdep'.
(i386_pc_in_sigtramp, i386_svr4_pc_in_sigtramp): Remove functions.
(i386_sigtramp_p, i386_svr4_sigtramp_p): New functions.
(i386_go32_pc_in_sigtramp): Remove function.
(i386_svr4_init_abi): Don't set deprecated_pc_in_sigtramp.
Initialize TDEP->sigtramp_p.
(i386_go32_init_abi): Initialize TDEP->sigtramp_p to NULL.
(i386_gdbarch_init): Initialize TDEP->sigtramp_p.  Don't set
deprecated_pc_in_sigtramp.
* i386-linux-tdep.c: Adjust comments.
(i386_linux_pc_in_sigtramp): Remove function.
(i386_linux_sigtramp_p): New function.
(i386_linux_init_abi): Initialize TDEP->sigtramp_p.  Don't set
deprecated_pc_in_sigtramp.
* i386-nto-tdep.c: Update copyright year.
(i386nto_pc_in_sigtramp): Remove function.
(i386nto_sigtramp_p): New function.
(i386nto_sigcontext_addr): Use I386_ESP_REGNUM instead of
SP_REGNUM.
(i386nto_init_abi): Initialize TDEP->sigtramp_p.  Don't set
deprecated_pc_in_sigtramp.
* i386-sol2-tdep.c: Update copyright year.
(i386_sol2_pc_in_sigtramp): Remove function.
(i386_sol2_sigtramp_p): New function.
(i386_sol2_init_abi): Initialize TDEP->sigtramp_p.  Don't set
deprecated_pc_in_sigtramp.
* i386bsd-tdep.c (i386bsd_pc_in_sigtramp): Remove function.
(i386bsd_sigtramp_start, i386bsd_sigtramp_end): Remove functions.
(i386bsd_init_abi): Don't set deprecated_pc_in_sigtramp,
deprecated_sigtramp_start and deprecated_sigtramp_end.
* i386nbsd-tdep.c: Include "frame.h" and "symtab.h".
(i386nbsd_pc_in_sigtramp): Remove function.
(i386nbsd_sigtramp_p): New function.
(i386nbsd_init_abi): Don't set deprecated_pc_in_sigtramp,
deprecated_sigtramp_start, deprecated_sigtramp_end.  Initialize
TDEP->sigtramp_start, TDEP->sigtramp_end and TDEP->sigtramp_p.
* i386obsd-tdep.c: Include "frame.h", "symtab.h" and "objfiles.h".
(i386obsd_pc_in_sigtramp): Remove function.
(i386obsd_sigtramp_p): New function.
(i386obsd_sigtramp_start, i386obsd_sigtramp_end): Remove
functions.
(i386bsd_init_abi): Don't set deprecated_pc_in_sigtramp,
deprecated_sigtramp_start, deprecated_sigtramp_end.  Initialize
TDEP->sigtramp_p.
* Makefile.in (amd64-linux-tdep.o, amd64nbsd-tdep.o,
amd64obsd-tdep.o, i386nbsd-tdep.o, i386obsd-tdep.o): Update
dependencies.
2004-04-09 16:28:50 +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
Mark Kettenis
85be1ca620 *** empty log message *** 2004-02-25 20:59:12 +00:00
Mark Kettenis
90f90721e3 * x86-64-tdep.h: Tewak comment.
(enum amd64_regnum): New.
(X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM)
(X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM)
(X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM)
(X86_64_XMM1_REGNUM): Removed.
(AMD64_NUM_GREGS): Renamed from X86_64_NUM_GREGS.
(amd64_init_abi, amd64_supply_fxsave, amd64_fill_fxsave): Adjust
prototypes for renamed functions.
* x86-64-tdep.c: Fix typo.
(amd64_dwarf_regmap): Use constants from `enum amd64_regnum' for
register numbers.
(amd64_return_value, amd64_push_arguments, amd64_push_dummy_call):
Use constants from `enum amd64_regnum' for register numbers.
(AMD64_NUM_SAVED_REGS): Adjust for renamed macros.
(amd64_analyze_prologue, amd64_frame_cache,
amd64_sigtramp_frame_cache): Use constants from `enum
amd64_regnum' for register numbers.
(amd64_supply_fpregset): Adjust for renamed functions.
(amd64_init_abi): Rename from x86_64_init_abi.  Use constants from
`enum amd64_regnum' for register numbers.
(I387_ST0_REGNUM): Use constant from `enum amd64_regnum'.
(amd64_supply_fxsave): Rename from x86_64_supply_fxsave.
(amd64_fill_fxsave): Rename fro x86_64_fill_fxsave.
* x86-64-linux-tdep.c (amd64_linux_supply_gregset)
(amd64_linux_fill_gregset): Adjust for renamed macros.
(fetch_core_registers): Adjust for renamed functions.
(amd64_linux_init_abi): Adjust for renamed functions.
* x86-64-linux-nat.c (supply_gregset, fill_gregset): Adjust for
renamed functions.
* amd64-nat.c: Adjust for renamed macros.
* amd64bsd-nat.c (fetch_inferior_registers)
(store_inferior_registers): Use constants from `enum amd64_regnum'
for register numbers.  Adjust for renamed variables.
* amd64fbsd-nat.c (supply_gregset, fill_gregset): Adjust for
renamed variables.
(_initialize_amd64fbsd_nat): Use constants from `enum
amd64_regnum' for register numbers.
* amd64fbsd-tdep.c (amd64fbsd_sigcontext_addr): Use constants from
`enum amd64_regnum' for register numbers.
(amd64fbsd_init_abi): Adjust for renamed functions.
* amd64nbsd-tdep.c (amd64nbsd_sigcontext_addr): Use constants from
`enum amd64_regnum' for register numbers.
(amd64nbsd_init_abi): Adjust for renamed functions.
(_initialize_amd64nbsd_ndep): Adjust for renamed macros.
* amd64obsd-tdep.c (amd64obsd_sigcontext_addr): Use constants from
`enum amd64_regnum' for register numbers.
(amd64obsd_init_abi): Adjust for renamed functions.
(_initialize_amd64obsd_ndep): Adjust for renamed macros.
2004-02-23 21:37:52 +00:00
Mark Kettenis
7e654c3761 * amd64fbsd-tdep.c: Include "solib-svr4.h".
(amd64fbsd_init_abi): Set link map offsets.
* amd64nbsd-tdep.c: Include "slib-svr4.h".
(amd64nbsd_init_abi): Set link map offsets.
* amd64obsd-tdep.c: Include "solib-svr4.h".
(amd64obsd_init_abi): Set link map offsets.
* i386fbsd-tdep.c: Include "solib-svr4.h".
(i386fbsd_init_abi): Set link map offsets.
* i386nbsd-tdep.c: Include "solib-svr4.h".
(i386nbsdelf_init_abi): Set link map offsets.
* Makefile.in (amd64fbsd-tdep.o, amd64nbsd-tdep.o)
(amd64obsd-tdep.o, i386fbsd-tdep.o): Update dependencies.
* config/i386/fbsd.mh (NATDEPFILES): Remove solib.o, solib-svr4.o,
solib-legacy.o and core-aout.o. Reformat.
* config/i386/fbsd64.mh (NATDEPFILES): Remove solib.o,
solib-svr4.o, solib-legacy.o.  Reformat.
* config/i386/nbsdaout.mh (NATDEPFILES): Add solib.o.  Reformat.
* config/i386/nbsdelf.mh: Reformat.
* config/i386/nbsd64.mh (NATDEPFILES): Remove solib.o,
solib-svr4.o, solib-legacy.o and corelow.o.
* config/i386/obsd.mh, config/i386/obsdaout.mh: Reformat.
* config/i386/obsd64.mh (NATDEPFILES): Remove solib.o,
solib-svr4.o, solib-legacy.o and corelow.o.  Reformat.
* config/i386/fbsd.mt (TDEPFILES): Add solib.o, solib-svr4.o.
* config/i386/fbsd64.mt (TDEPFILES): Add solib.o, solib-svr4.o.
(TM_FILE): Set to tm-fbsd.h.
* config/i386/nbsd.mt (TDEPFILES): Reformat.
* config/i386/nbsd64.mt (TDEPFILES): Add corelow.o, solib.o and
solib-svr4.o.
* config/i386/obsd.mt (TDEPFILES): Add corelow.o, solib.o and
solib-svr4.o.
(TM_FILE): Set to nm-nbsd.h.
* config/i386/nm-fbsd.h: Update copyright year.  Tweak comments.
Simplify shared library support.  Don't include "elf/common.h".
(SVR4_SHARED_LIBS): Don't define.
* config/i386/nm-fbsd64.h: Update copyright year.  Don't include
"solib.h".
* config/i386/nm-nbsd.h, config/i386/nm-nbsdaout.h,
config/i386/nm-obsd.h: Update copyright year.  Tweak comments.
* config/i386/tm-fbsd.h: Update copyright tear.  Tweak comments.
Don't include "i386/tm-i386.h".  Include "solib.h".
* config/i386/tm-nbsd.h: Update copyright year.  Tweak comments.
Don't include "i386/tm-i386.h".
* config/i386/xm-i386.h: Update copyright year.  Tweak comments.
* config/i386/xm-nbsd.h: Update copyright year.  Tweak comments.
Include "i386/xm-i386.h".
(HOST_LONG_DOUBLE_FORMAT): Remove.
2004-02-22 16:20:22 +00:00
Mark Kettenis
84d044650f * amd64obsd-tdep.c (amd64obsd_pc_in_sigtramp): Adjust for signal
trampoline change in OpenBSD kernel.
2004-02-22 00:11:29 +00:00
Mark Kettenis
30b344b1d9 * amd64obsd-tdep.c: Include "regset.h" and "i387-tdep.h". Fix
comments.
(amd64obsd_supply_regset, amd64obsd_regset_from_core_section): New
functions.
(amd64obsd_init_abi): Reorder initializations.  Use
amd64obsd_r_reg_offset to initialize the general-purpose register
set details.  Set regset_from_core_section.
(_initialize_amd64obsd_tdep): Rename from
_initialize_amd64obsd_ndep.  Add OS ABI handler for core dumps.
* Makefile.in (amd64obsd-tdep.o): Update dependencies.
* config/i386/obsd64.mt (TDEPFILES): Add i386-tdep.o.
2004-02-20 19:03:14 +00:00
Mark Kettenis
e2879ccb3d * amd64obsd-tdep.c, amd64obsd-nat.c: New files.
* Makefile.in (amd64obsd-nat.o, amd64obsd-tdep.o): New
dependencies.
* configure.host: Add x86_64-*-openbsd*.
* configure.tgt: Add x86_64-*-openbsd*.
* config/i386/obsd64.mt, config/i386/obsd64.mh: New files.
2004-02-18 17:44:52 +00:00