Jim Blandy
063715bf63
* aix-thread.c (pdc_read_regs, supply_gprs64, supply_fprs)
...
(fetch_regs_user_thread, fetch_regs_kernel_thread)
(store_regs_user_thread, store_regs_kernel_thread): Use
ppc_num_gprs and ppc_num_fprs instead of '32' and '31'.
* ppc-linux-nat.c (fill_gregset): Same.
* ppc-linux-tdep.c (ppc_linux_supply_gregset)
(ppc_linux_sigtramp_cache): Same.
* ppcnbsd-tdep.c (ppcnbsd_supply_reg, ppcnbsd_fill_reg)
(ppcnbsd_sigtramp_cache_init): Same.
* rs6000-nat.c (fetch_core_registers): Same.
* rs6000-tdep.c (ppc_supply_gregset, ppc_collect_gregset)
(rs6000_frame_cache): Same.
2004-05-13 19:36:05 +00:00
Jim Blandy
cdf2c5f516
* aix-thread.c (supply_gprs64, fetch_regs_user_thread)
...
(store_regs_user_thread): Use tdep->ppc_gp0_regnum, instead
of assuming that the gprs are numbered starting with zero.
* ppc-linux-nat.c (fill_gregset): Same.
* ppc-linux-tdep.c (ppc_linux_supply_gregset): Same.
* ppcnbsd-nat.c (getregs_supplies): Same.
* ppcnbsd-tdep.c (ppcnbsd_supply_reg, ppcnbsd_fill_reg): Same.
* rs6000-nat.c (fetch_core_registers): Same.
* rs6000-tdep.c (ppc_supply_gregset, ppc_collect_gregset): Same.
2004-05-13 19:27:07 +00:00
Jim Blandy
383f0f5b9a
* ppc-tdep.h (struct gdbarch_tdep): Change definition of
...
ppc_fp0_regnum and ppc_fpscr_regnum: if they are -1, then this
processor variant lacks those registers.
(ppc_floating_point_unit_p): Change description to make it clear
that this returns info about the ISA, not the ABI.
* rs6000-tdep.c (ppc_floating_point_unit_p): Decide whether to
return true or false by checking tdep->ppc_fp0_regnum and
tdep->ppc_fpscr_regnum. The original code replicated the BFD
arch/mach switching done in rs6000_gdbarch_init; it's better to
keep that logic there, and just check the results here.
(rs6000_gdbarch_init): On the E500, set tdep->ppc_fp0_regnum and
tdep->ppc_fpscr_regnum to -1 to indicate that we have no
floating-point registers.
(ppc_supply_fpregset, ppc_collect_fpregset)
(rs6000_push_dummy_call, rs6000_extract_return_value)
(rs6000_store_return_value): Assert that we have floating-point
registers.
(rs6000_dwarf2_stab_reg_to_regnum): Add FIXME.
(rs6000_frame_cache): Don't note the locations at which
floating-point registers were saved if we have no fprs.
* aix-thread.c (supply_fprs, fill_fprs): Assert that we have FP
registers.
(fetch_regs_user_thread, fetch_regs_kernel_thread)
(store_regs_user_thread, store_regs_kernel_thread): Only call
supply_fprs / fill_fprs if we actually have floating-point
registers.
(special_register_p): Check ppc_fpscr_regnum before matching
against it.
(supply_sprs64, supply_sprs32, fill_sprs64, fill_sprs32): Don't
supply / collect fpscr if we don't have it.
* ppc-bdm.c: #include "gdb_assert.h".
(bdm_ppc_fetch_registers, bdm_ppc_store_registers): Assert that we
have floating-point registers, since I can't test this code on
FP-free systems to adapt it.
* ppc-linux-nat.c (ppc_register_u_addr): Don't match against the
fpscr and floating point register numbers if they don't exist.
(fetch_register): Assert that we have floating-point registers
before we reach the code that handles them.
(store_register): Same. And use tdep instead of calling
gdbarch_tdep again.
(fill_fpregset): Don't try to collect FP registers and fpscr if we
don't have them.
(ppc_linux_sigtramp_cache): Don't record the saved locations of
fprs and fpscr if we don't have them.
(ppc_linux_supply_fpregset): Don't supply fp regs and fpscr if we
don't have them.
* ppcnbsd-nat.c: #include "gdb_assert.h".
(getfpregs_supplies): Assert that we have floating-point registers.
* ppcnbsd-tdep.c (ppcnbsd_supply_fpreg, ppcnbsd_fill_fpreg): Same.
* ppcobsd-tdep.c: #include "gdb_assert.h".
(ppcobsd_supply_gregset, ppcobsd_collect_gregset): Assert that we
have floating-point registers.
* rs6000-nat.c (regmap): Don't match against the fpscr and
floating point register numbers if they don't exist.
(fetch_inferior_registers, store_inferior_registers,
fetch_core_registers): Only fetch / store / supply the
floating-point registers and the fpscr if we have them.
* Makefile.in (ppc-bdm.o, ppc-linux-nat.o, ppcnbsd-nat.o)
(ppcobsd-tdep.o): Update dependencies.
2004-05-11 04:55:32 +00:00
Jim Blandy
7bcda025ec
Back out change. The NetBSD changes need Jason Thorpe's approval, but
...
he hasn't reviewed it yet.
2004-05-10 18:58:44 +00:00
Jim Blandy
c4143af614
* ppc-tdep.h (struct gdbarch_tdep): Change definition of
...
ppc_fp0_regnum and ppc_fpscr_regnum: if they are -1, then this
processor variant lacks those registers.
(ppc_floating_point_unit_p): Change description to make it clear
that this returns info about the ISA, not the ABI.
* rs6000-tdep.c (ppc_floating_point_unit_p): Decide whether to
return true or false by checking tdep->ppc_fp0_regnum and
tdep->ppc_fpscr_regnum. The original code replicated the BFD
arch/mach switching done in rs6000_gdbarch_init; it's better to
keep that logic there, and just check the results here.
(rs6000_gdbarch_init): On the E500, set tdep->ppc_fp0_regnum and
tdep->ppc_fpscr_regnum to -1 to indicate that we have no
floating-point registers.
(ppc_supply_fpregset, ppc_collect_fpregset)
(rs6000_push_dummy_call, rs6000_extract_return_value)
(rs6000_store_return_value): Assert that we have floating-point
registers.
(rs6000_dwarf2_stab_reg_to_regnum): Add FIXME.
(rs6000_frame_cache): Don't note the locations at which
floating-point registers were saved if we have no fprs.
* aix-thread.c (supply_fprs, fill_fprs): Assert that we have FP
registers.
(fetch_regs_user_thread, fetch_regs_kernel_thread)
(store_regs_user_thread, store_regs_kernel_thread): Only call
supply_fprs / fill_fprs if we actually have floating-point
registers.
(special_register_p): Check ppc_fpscr_regnum before matching
against it.
(supply_sprs64, supply_sprs32, fill_sprs64, fill_sprs32): Don't
supply / collect fpscr if we don't have it.
* ppc-bdm.c: #include "gdb_assert.h".
(bdm_ppc_fetch_registers, bdm_ppc_store_registers): Assert that we
have floating-point registers, since I can't test this code on
FP-free systems to adapt it.
* ppc-linux-nat.c (ppc_register_u_addr): Don't match against the
fpscr and floating point register numbers if they don't exist.
(fetch_register): Assert that we have floating-point registers
before we reach the code that handles them.
(store_register): Same. And use tdep instead of calling
gdbarch_tdep again.
(fill_fpregset): Don't try to collect FP registers and fpscr if we
don't have them.
(ppc_linux_sigtramp_cache): Don't record the saved locations of
fprs and fpscr if we don't have them.
(ppc_linux_supply_fpregset): Don't supply fp regs and fpscr if we
don't have them.
* ppcnbsd-nat.c: #include "gdb_assert.h".
(getfpregs_supplies): Assert that we have floating-point registers.
* ppcnbsd-tdep.c (ppcnbsd_supply_fpreg, ppcnbsd_fill_fpreg): Same.
* ppcobsd-tdep.c: #include "gdb_assert.h".
(ppcobsd_supply_gregset, ppcobsd_collect_gregset): Assert that we
have floating-point registers.
* rs6000-nat.c (regmap): Don't match against the fpscr and
floating point register numbers if they don't exist.
(fetch_inferior_registers, store_inferior_registers,
fetch_core_registers): Only fetch / store / supply the
floating-point registers and the fpscr if we have them.
* Makefile.in (ppc-bdm.o, ppc-linux-nat.o, ppcnbsd-nat.o)
(ppcobsd-tdep.o): Update dependencies.
2004-05-10 17:07:02 +00:00
Jim Blandy
366f009f23
* config/rs6000/tm-rs6000.h (FP0_REGNUM): Document that this
...
should no longer be used in code specific to the RS6000 and its
derivatives.
* ppc-tdep.h (struct gdbarch_tdep): Add 'ppc_fp0_regnum' member.
* rs6000-tdep.c (rs6000_gdbarch_init): Initialize
tdep->ppc_fp0_regnum.
(ppc_supply_fpregset, ppc_collect_fpregset)
(rs6000_push_dummy_call, rs6000_extract_return_value)
(rs6000_dwarf2_stab_reg_to_regnum, rs6000_store_return_value)
(rs6000_frame_cache): Use tdep->ppc_fp0_regnum instead of
FP0_REGNUM.
* aix-thread.c (supply_fprs, fetch_regs_kernel_thread)
(fill_gprs64, fill_gprs32, fill_fprs, store_regs_kernel_thread):
Same.
* ppc-bdm.c (bdm_ppc_fetch_registers, bdm_ppc_fetch_registers,
bdm_ppc_store_registers): Same.
* ppc-linux-nat.c (ppc_register_u_addr, fetch_register)
(store_register, fill_fpregset): Same.
* ppc-linux-tdep.c (ppc_linux_sigtramp_cache)
(ppc_linux_supply_fpregset): Same.
* ppcnbsd-nat.c (getfpregs_supplies): Same.
* ppcnbsd-tdep.c (ppcnbsd_supply_fpreg, ppcnbsd_fill_fpreg):
Same.
* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call,
do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call,
ppc64_sysv_abi_return_value): Same.
* rs6000-nat.c (regmap, fetch_inferior_registers)
(store_inferior_registers, fetch_core_registers): Same.
2004-05-05 01:46:55 +00:00
Andrew Cagney
fcf70625fc
2004-05-01 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (DEPRECATED_PC_IN_SIGTRAMP): Delete.
* gdbarch.h, gdbarch.c: Re-generate.
* shnbsd-tdep.c (shnbsd_init_abi): Do not set pc_in_sigtramp.
(shnbsd_pc_in_sigtramp): Delete.
* i386-interix-tdep.c (i386_interix_init_abi): Do not set
pc_in_sigtramp.
* hppa-hpux-tdep.c (hppa_hpux_init_abi): Do not set
pc_in_sigtramp.
* frame.h: Update comments.
* ppc-linux-tdep.c: Update comments.
* breakpoint.c (bpstat_what): Update comments.
Index: doc/ChangeLog
2004-05-01 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Delete
description of DEPRECATED_PC_IN_SIGTRAMP.
2004-05-01 16:52:30 +00:00
Kevin Buettner
67faf00763
* ppc-linux-tdep.c (ELF_NREG, ELF_NFPREG, ELF_NVRREG)
...
(ELF_FPREGSET_SIZE): Delete constants formerly used in core
file support.
2004-04-08 16:46:27 +00:00
Jim Blandy
81a07a45e4
* ppc-linux-tdep.c (ppc_linux_init_abi): Long doubles are eight
...
bytes long on PPC GNU/Linux.
2004-03-26 20:59:38 +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
Kevin Buettner
81332287eb
Remove old frame code. Enable new frame code for AIX.
2004-03-20 04:58:13 +00:00
Kevin Buettner
61a650991d
Commit Andrew Cagney's rs6000 / PPC framification patch.
2004-03-20 04:51:21 +00:00
Andrew Cagney
f9be684a36
2004-03-15 Andrew Cagney <cagney@redhat.com>
...
* ppc-tdep.h: Update copyright.
(ppc_linux_supply_gregset, ppc_linux_supply_fpregset): Change
function signatures to match "regsets.h".
* ppc-linux-tdep.c: Include "regset.h".
(ELF_GREGSET_SIZE): Delete.
(right_supply_register): New function.
(ppc_linux_supply_fpregset, ppc_linux_supply_gregset): Rewrite
using right_supply_register.
(ppc32_linux_supply_gregset, ppc64_linux_supply_gregset): New
functions.
(ppc64_linux_gregset, ppc32_linux_gregset): Define.
(ppc_linux_init_abi): Register ppc_linux_regset_from_core_section.
(_initialize_ppc_linux_tdep): Do not register
ppc_linux_regset_core_fns.
(ppc_linux_regset_from_core_section): Replace
fetch_core_registers.
(ppc_linux_regset_core_fns): Delete.
* ppc-linux-nat.c: (right_fill_reg): New function.
(supply_gregset): Update call to ppc_linux_supply_gregset.
(fill_gregset): Clear the register set, use right_fill_reg.
(supply_fpregset): Update call to ppc_linux_supply_fpregset.
(fill_fpregset): Use right_fill_reg, correctly compute FP offsets.
Index: ppc-linux-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-nat.c,v
retrieving revision 1.28
diff -u -r1.28 ppc-linux-nat.c
--- ppc-linux-nat.c 8 Mar 2004 01:45:02 -0000 1.28
+++ ppc-linux-nat.c 15 Mar 2004 21:28:31 -0000
@@ -507,7 +507,24 @@
void
supply_gregset (gdb_gregset_t *gregsetp)
{
- ppc_linux_supply_gregset ((char *) gregsetp);
+ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
+ interface, and not the wordsize of the program's ABI. */
+ int wordsize = sizeof (PTRACE_XFER_TYPE);
+ ppc_linux_supply_gregset (current_regcache, -1, gregsetp,
+ sizeof (gdb_gregset_t), wordsize);
+}
+
+static void
+right_fill_reg (int regnum, void *reg)
+{
+ /* NOTE: cagney/2003-11-25: This is the word size used by the ptrace
+ interface, and not the wordsize of the program's ABI. */
+ int wordsize = sizeof (PTRACE_XFER_TYPE);
+ /* Right fill the register. */
+ regcache_raw_collect (current_regcache, regnum,
+ ((bfd_byte *) reg
+ + wordsize
+ - register_size (current_gdbarch, regnum)));
}
void
@@ -516,36 +533,42 @@
int regi;
elf_greg_t *regp = (elf_greg_t *) gregsetp;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ const int elf_ngreg = 48;
+
+
+ /* Start with zeros. */
+ memset (regp, 0, elf_ngreg * sizeof (*regp));
for (regi = 0; regi < 32; regi++)
{
if ((regno == -1) || regno == regi)
- regcache_collect (regi, regp + PT_R0 + regi);
+ right_fill_reg (regi, (regp + PT_R0 + regi));
}
if ((regno == -1) || regno == PC_REGNUM)
- regcache_collect (PC_REGNUM, regp + PT_NIP);
+ right_fill_reg (PC_REGNUM, regp + PT_NIP);
if ((regno == -1) || regno == tdep->ppc_lr_regnum)
- regcache_collect (tdep->ppc_lr_regnum, regp + PT_LNK);
+ right_fill_reg (tdep->ppc_lr_regnum, regp + PT_LNK);
if ((regno == -1) || regno == tdep->ppc_cr_regnum)
regcache_collect (tdep->ppc_cr_regnum, regp + PT_CCR);
if ((regno == -1) || regno == tdep->ppc_xer_regnum)
regcache_collect (tdep->ppc_xer_regnum, regp + PT_XER);
if ((regno == -1) || regno == tdep->ppc_ctr_regnum)
- regcache_collect (tdep->ppc_ctr_regnum, regp + PT_CTR);
+ right_fill_reg (tdep->ppc_ctr_regnum, regp + PT_CTR);
#ifdef PT_MQ
if (((regno == -1) || regno == tdep->ppc_mq_regnum)
&& (tdep->ppc_mq_regnum != -1))
- regcache_collect (tdep->ppc_mq_regnum, regp + PT_MQ);
+ right_fill_reg (tdep->ppc_mq_regnum, regp + PT_MQ);
#endif
if ((regno == -1) || regno == tdep->ppc_ps_regnum)
- regcache_collect (tdep->ppc_ps_regnum, regp + PT_MSR);
+ right_fill_reg (tdep->ppc_ps_regnum, regp + PT_MSR);
}
void
supply_fpregset (gdb_fpregset_t * fpregsetp)
{
- ppc_linux_supply_fpregset ((char *) fpregsetp);
+ ppc_linux_supply_fpregset (NULL, current_regcache, -1, fpregsetp,
+ sizeof (gdb_fpregset_t));
}
/* Given a pointer to a floating point register set in /proc format
@@ -557,12 +580,13 @@
{
int regi;
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ bfd_byte *fpp = (void *) fpregsetp;
for (regi = 0; regi < 32; regi++)
{
if ((regno == -1) || (regno == FP0_REGNUM + regi))
- regcache_collect (FP0_REGNUM + regi, (char *) (*fpregsetp + regi));
+ regcache_collect (FP0_REGNUM + regi, fpp + 8 * regi);
}
if ((regno == -1) || regno == tdep->ppc_fpscr_regnum)
- regcache_collect (tdep->ppc_fpscr_regnum, (char *) (*fpregsetp + regi));
+ right_fill_reg (tdep->ppc_fpscr_regnum, (fpp + 8 * 32));
}
Index: ppc-linux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ppc-linux-tdep.c,v
retrieving revision 1.50
diff -u -r1.50 ppc-linux-tdep.c
--- ppc-linux-tdep.c 16 Feb 2004 21:49:22 -0000 1.50
+++ ppc-linux-tdep.c 15 Mar 2004 21:28:31 -0000
@@ -32,7 +32,7 @@
#include "regcache.h"
#include "value.h"
#include "osabi.h"
-
+#include "regset.h"
#include "solib-svr4.h"
#include "ppc-tdep.h"
@@ -959,81 +959,114 @@
};
enum {
- ELF_GREGSET_SIZE = (ELF_NGREG * 4),
ELF_FPREGSET_SIZE = (ELF_NFPREG * 8)
};
+static void
+right_supply_register (struct regcache *regcache, int wordsize, int regnum,
+ const bfd_byte *buf)
+{
+ regcache_raw_supply (regcache, regnum,
+ (buf + wordsize
+ - register_size (current_gdbarch, regnum)));
+}
+
+/* Extract the register values found in the WORDSIZED ABI GREGSET,
+ storing their values in REGCACHE. Note that some are left-aligned,
+ while others are right aligned. */
+
void
-ppc_linux_supply_gregset (char *buf)
+ppc_linux_supply_gregset (struct regcache *regcache,
+ int regnum, const void *gregs, size_t size,
+ int wordsize)
{
int regi;
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ struct gdbarch *regcache_arch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *regcache_tdep = gdbarch_tdep (regcache_arch);
+ const bfd_byte *buf = gregs;
for (regi = 0; regi < 32; regi++)
- supply_register (regi, buf + 4 * regi);
+ right_supply_register (regcache, wordsize, regi, buf + wordsize * regi);
+
+ right_supply_register (regcache, wordsize, gdbarch_pc_regnum (regcache_arch),
+ buf + wordsize * PPC_LINUX_PT_NIP);
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_lr_regnum,
+ buf + wordsize * PPC_LINUX_PT_LNK);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_cr_regnum,
+ buf + wordsize * PPC_LINUX_PT_CCR);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_xer_regnum,
+ buf + wordsize * PPC_LINUX_PT_XER);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_ctr_regnum,
+ buf + wordsize * PPC_LINUX_PT_CTR);
+ if (regcache_tdep->ppc_mq_regnum != -1)
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_mq_regnum,
+ buf + wordsize * PPC_LINUX_PT_MQ);
+ right_supply_register (regcache, wordsize, regcache_tdep->ppc_ps_regnum,
+ buf + wordsize * PPC_LINUX_PT_MSR);
+}
- supply_register (PC_REGNUM, buf + 4 * PPC_LINUX_PT_NIP);
- supply_register (tdep->ppc_lr_regnum, buf + 4 * PPC_LINUX_PT_LNK);
- supply_register (tdep->ppc_cr_regnum, buf + 4 * PPC_LINUX_PT_CCR);
- supply_register (tdep->ppc_xer_regnum, buf + 4 * PPC_LINUX_PT_XER);
- supply_register (tdep->ppc_ctr_regnum, buf + 4 * PPC_LINUX_PT_CTR);
- if (tdep->ppc_mq_regnum != -1)
- supply_register (tdep->ppc_mq_regnum, buf + 4 * PPC_LINUX_PT_MQ);
- supply_register (tdep->ppc_ps_regnum, buf + 4 * PPC_LINUX_PT_MSR);
+static void
+ppc32_linux_supply_gregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t size)
+{
+ ppc_linux_supply_gregset (regcache, regnum, gregs, size, 4);
}
+static struct regset ppc32_linux_gregset = {
+ NULL, ppc32_linux_supply_gregset
+};
+
+static void
+ppc64_linux_supply_gregset (const struct regset *regset,
+ struct regcache * regcache,
+ int regnum, const void *gregs, size_t size)
+{
+ ppc_linux_supply_gregset (regcache, regnum, gregs, size, 8);
+}
+
+static struct regset ppc64_linux_gregset = {
+ NULL, ppc64_linux_supply_gregset
+};
+
void
-ppc_linux_supply_fpregset (char *buf)
+ppc_linux_supply_fpregset (const struct regset *regset,
+ struct regcache * regcache,
+ int regnum, const void *fpset, size_t size)
{
int regi;
- struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ struct gdbarch *regcache_arch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *regcache_tdep = gdbarch_tdep (regcache_arch);
+ const bfd_byte *buf = fpset;
for (regi = 0; regi < 32; regi++)
- supply_register (FP0_REGNUM + regi, buf + 8 * regi);
+ regcache_raw_supply (regcache, FP0_REGNUM + regi, buf + 8 * regi);
/* The FPSCR is stored in the low order word of the last doubleword in the
fpregset. */
- supply_register (tdep->ppc_fpscr_regnum, buf + 8 * 32 + 4);
+ regcache_raw_supply (regcache, regcache_tdep->ppc_fpscr_regnum,
+ buf + 8 * 32 + 4);
}
-/*
- Use a local version of this function to get the correct types for regsets.
-*/
+static struct regset ppc_linux_fpregset = { NULL, ppc_linux_supply_fpregset };
-static void
-fetch_core_registers (char *core_reg_sect,
- unsigned core_reg_size,
- int which,
- CORE_ADDR reg_addr)
+static const struct regset *
+ppc_linux_regset_from_core_section (struct gdbarch *core_arch,
+ const char *sect_name, size_t sect_size)
{
- if (which == 0)
+ struct gdbarch_tdep *tdep = gdbarch_tdep (core_arch);
+ if (strcmp (sect_name, ".reg") == 0)
{
- if (core_reg_size == ELF_GREGSET_SIZE)
- ppc_linux_supply_gregset (core_reg_sect);
+ if (tdep->wordsize == 4)
+ return &ppc32_linux_gregset;
else
- warning ("wrong size gregset struct in core file");
- }
- else if (which == 2)
- {
- if (core_reg_size == ELF_FPREGSET_SIZE)
- ppc_linux_supply_fpregset (core_reg_sect);
- else
- warning ("wrong size fpregset struct in core file");
+ return &ppc64_linux_gregset;
}
+ if (strcmp (sect_name, ".reg2") == 0)
+ return &ppc_linux_fpregset;
+ return NULL;
}
-/* Register that we are able to handle ELF file formats using standard
- procfs "regset" structures. */
-
-static struct core_fns ppc_linux_regset_core_fns =
-{
- bfd_target_elf_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL /* next */
-};
-
static void
ppc_linux_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
@@ -1086,6 +1119,7 @@
/* PPC64 malloc's entry-point is called ".malloc". */
set_gdbarch_name_of_malloc (gdbarch, ".malloc");
}
+ set_gdbarch_regset_from_core_section (gdbarch, ppc_linux_regset_from_core_section);
}
void
@@ -1099,5 +1133,4 @@
ppc_linux_init_abi);
gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX,
ppc_linux_init_abi);
- add_core_fns (&ppc_linux_regset_core_fns);
}
Index: ppc-tdep.h
===================================================================
RCS file: /cvs/src/src/gdb/ppc-tdep.h,v
retrieving revision 1.25
diff -u -r1.25 ppc-tdep.h
--- ppc-tdep.h 10 Nov 2003 22:47:28 -0000 1.25
+++ ppc-tdep.h 15 Mar 2004 21:28:31 -0000
@@ -1,6 +1,7 @@
/* Target-dependent code for GDB, the GNU debugger.
- Copyright 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+
+ Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation,
+ Inc.
This file is part of GDB.
@@ -62,8 +63,12 @@
CORE_ADDR bpaddr);
int ppc_linux_memory_remove_breakpoint (CORE_ADDR addr, char *contents_cache);
struct link_map_offsets *ppc_linux_svr4_fetch_link_map_offsets (void);
-void ppc_linux_supply_gregset (char *buf);
-void ppc_linux_supply_fpregset (char *buf);
+void ppc_linux_supply_gregset (struct regcache *regcache,
+ int regnum, const void *gregs, size_t size,
+ int wordsize);
+void ppc_linux_supply_fpregset (const struct regset *regset,
+ struct regcache *regcache,
+ int regnum, const void *gregs, size_t size);
enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarch,
struct type *valtype,
2004-03-15 21:35:25 +00:00
Andrew Cagney
19772a2ce2
2004-02-09 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (DEPRECATED_FRAMELESS_FUNCTION_INVOCATION): Predicate
and function replacing FRAMELESS_FUNCTION_INVOCATION.
* blockframe.c (legacy_frameless_look_for_prologue): Rename
frameless_look_for_prologue.
* frame.h (legacy_frameless_look_for_prologue): Rename
frameless_look_for_prologue.
* gdbarch.h, gdbarch.c: Re-generate.
* sh64-tdep.c (sh64_gdbarch_init): Update.
* sh-tdep.c (sh_gdbarch_init): Update.
* s390-tdep.c (s390_gdbarch_init): Update.
* rs6000-tdep.c (rs6000_gdbarch_init): Update.
* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
* m68k-tdep.c (m68k_gdbarch_init): Update.
(delta68_frame_args_address): Update.
* m32r-tdep.c (m32r_gdbarch_init): Update.
* hppa-tdep.c (hppa_gdbarch_init): Update.
* h8300-tdep.c (h8300_gdbarch_init): Update.
* frv-tdep.c (frv_gdbarch_init): Update.
(frv_frameless_function_invocation): Update.
* cris-tdep.c (cris_gdbarch_init): Update.
(cris_frameless_function_invocation): Update.
* avr-tdep.c (avr_gdbarch_init): Update.
* arm-tdep.c (arm_gdbarch_init): Update.
* stack.c (frame_info): Update, call predicate.
* rs6000-tdep.c (rs6000_frame_chain): Update, call predicate..
* frame.c (legacy_get_prev_frame): Update, call predicate..
* arch-utils.c (generic_frameless_function_invocation_not): Delete.
* arch-utils.h (generic_frameless_function_invocation_not): Delete.
* alpha-tdep.c (alpha_gdbarch_init): Do not set frameless function
invocation.
* d10v-tdep.c (d10v_gdbarch_init): Ditto.
* ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
* vax-tdep.c (vax_gdbarch_init): Ditto.
2004-02-16 21:49:22 +00:00
Andrew Cagney
9ea97f2aa0
2003-11-13 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-tdep.c (ppc_linux_init_abi): Set PPC64's
"name_of_malloc" to ".malloc".
2003-11-14 14:16:29 +00:00
Andrew Cagney
475b6ddd32
2003-11-13 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-tdep.c (ppc_linux_return_value): Fix parameter order.
2003-11-13 18:08:57 +00:00
Andrew Cagney
05580c65ad
2003-11-07 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux,
set "return_value" instead of "use_struct_convention".
(ppc_linux_use_struct_convention): Delete function.
(ppc_linux_return_value): New function.
* ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function.
(ppc_sysv_abi_broken_return_value): New function.
(do_ppc_sysv_return_value): Add "gdbarch" parameter.
(ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop
static.
(ppc_sysv_abi_extract_return_value): Delete function.
(ppc_sysv_abi_broken_extract_return_value): Delete function.
(ppc_sysv_abi_store_return_value): Delete function.
(ppc_sysv_abi_broken_store_return_value): Delete function.
(ppc_sysv_abi_use_struct_convention): Delete function.
(ppc64_sysv_abi_use_struct_convention): Delete function.
(ppc64_sysv_abi_extract_return_value): Delete function.
(ppc64_sysv_abi_store_return_value): Delete function.
* ppcnbsd-tdep.c (ppcnbsd_return_value): New function.
(ppcnbsd_init_abi): Set "return_value", instead of
"use_struct_convention", "extract_return_value", and
"store_return_value".
(ppcnbsd_use_struct_convention): Delete function.
* ppc-tdep.h (ppc64_sysv_abi_return_value): Declare.
(ppc_sysv_abi_return_value): Declare.
(ppc_sysv_abi_broken_return_value): Declare.
(ppc_sysv_abi_use_struct_convention): Delete.
(ppc_sysv_abi_store_return_value): Delete.
(ppc_sysv_abi_extract_return_value): Delete.
(ppc_sysv_abi_broken_store_return_value): Delete.
(ppc_sysv_abi_broken_extract_return_value): Delete.
(ppc64_sysv_abi_use_struct_convention): Delete.
(ppc64_sysv_abi_extract_return_value): Delete.
(ppc64_sysv_abi_store_return_value): Delete.
* rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV,
set "return_value" instead of "extract_return_value",
"store_return_value", and "use_struct_convention".
2003-11-07 20:44:51 +00:00
Andrew Cagney
0a0a4ac3c6
2003-10-29 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Instead of the
default PPC machine, register 32-bit and 64-bit PPC, and rs6k.
2003-10-29 19:24:52 +00:00
Andrew Cagney
b6591e8b14
2003-10-24 Andrew Cagney <cagney@redhat.com>
...
* target.c: Include "gdbcore.h".
(get_target_memory, get_target_memory_unsigned): New functions.
* target.h (get_target_memory, get_target_memory_unsigned): Declare.
* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr):
Use get_target_memory_unsigned.
* Makefile.in (target.o): Update dependencies.
2003-10-24 20:24:06 +00:00
Andrew Cagney
e2d0e7eb04
2003-10-22 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (convert_from_func_ptr_addr): Convert to a pure
multi-arch method, add "targ" parameter.
(struct target_ops): Declare.
* gdbarch.h, gdbarch.c: Re-generate.
* Makefile.in (c-valprint.o): Update dependencies.
* arch-utils.h: Update copyright.
(convert_from_func_ptr_addr_identity): Declare.
* arch-utils.c (convert_from_func_ptr_addr_identity): New function.
* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update.
* rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Upate.
* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Update.
* infcall.c (find_function_addr, call_function_by_hand): Update.
* c-valprint.c: Include "target.h".
(print_function_pointer_address): Update.
2003-10-22 23:54:11 +00:00
Elena Zannoni
5520a790ef
2003-10-21 Elena Zannoni <ezannoni@redhat.com>
...
* minsyms.c (lookup_minimal_symbol_text): Remove unused parameter.
Remove SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code.
* symtab.h (lookup_minimal_symbol_text): Update.
* breakpoint.c (create_overlay_event_breakpoint,
create_longjmp_breakpoint): Update callers.
* ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Update caller.
* symtab.c (find_pc_sect_line): Ditto.
2003-10-21 22:56:39 +00:00
Andrew Cagney
9b540880d6
2003-10-03 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Only
convert a descriptor to a function when it's in the ".opd"
section.
2003-10-03 20:50:56 +00:00
Andrew Cagney
1b1d37945b
2003-09-25 Andrew Cagney <cagney@redhat.com>
...
* frame.h (deprecated_frame_saved_regs): Rename
get_frame_saved_regs.
* cris-tdep.c, frame.c, h8300-tdep.c, hppa-tdep.c: Update.
* mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Update.
* ns32k-tdep.c, ppc-linux-tdep.c, rs6000-tdep.c: Update.
* s390-tdep.c, sh64-tdep.c, stack.c: Update.
* v850-tdep.c, vax-tdep.c, xstormy16-tdep.c: Update.
2003-09-25 20:44:02 +00:00
Andrew Cagney
b9ff3018cd
2003-09-16 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-tdep.c (ppc_linux_init_abi): Set the 32 bit
"use_struct_convention" to "ppc_linux_use_struct_convention".
(ppc_linux_use_struct_convention): New function.
* rs6000-tdep.c (rs6000_use_struct_convention): New function.
(rs6000_gdbarch_init): For AIX, set "use_struct_convention" to
"rs6000_use_struct_convention".
* ppc-tdep.h (ppc_sysv_abi_broken_use_struct_convention): Delete
declaration.
* ppc-sysv-tdep.c (ppc_sysv_abi_broken_use_struct_convention):
Delete function.
2003-09-16 23:33:17 +00:00
Andrew Cagney
39efb398a9
2003-09-08 Andrew Cagney <cagney@redhat.com>
...
* gnu-nat.c: Remove "inline" function attribute.
* alpha-tdep.c, ppc-linux-tdep.c, macroexp.c: Ditto.
2003-09-09 03:14:02 +00:00
Andrew Cagney
0285512f29
2003-08-27 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-tdep.c (ppc64_call_dummy_address): Delete function.
(ppc_linux_init_abi): For PPC64, do not set call_dummy_address.
* infcall.c (call_function_by_hand): Convert the entry point
address into a code address.
2003-08-28 02:53:08 +00:00
Jim Blandy
e538d2d7ba
* ppc-linux-tdep.c: More "Linux" -> "GNU/Linux".
2003-06-24 23:09:22 +00:00
Jim Blandy
02631ec09e
* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): New
...
function.
(ppc_linux_init_abi): Register it as the
CONVERT_FROM_FUNC_PTR_ADDR method under the PPC64 Linux ABI.
2003-06-24 23:06:04 +00:00
Jim Blandy
e716d87a00
* ppc-linux-tdep.c (ppc64_call_dummy_address): New function.
...
(ppc_linux_init_abi): Set it as the gdbarch's call_dummy_address
method.
2003-06-24 23:03:31 +00:00
Jim Blandy
d64558a59f
* ppc-linux-tdep.c (ppc64_desc_entry_point): New function.
...
(ppc64_standard_linkage_target): Use it.
2003-06-24 23:02:10 +00:00
Jim Blandy
1a38736e6c
* ppc-linux-tdep.c: "Linux" -> "GNU/Linux"
2003-06-17 16:06:18 +00:00
Jim Blandy
f470a70ae3
Recognize and skip 64-bit PowerPC Linux linkage functions.
...
* ppc-linux-tdep.c (insn_d, insn_ds, insn_xfx, read_insn, struct
insn_pattern, insns_match_pattern, d_field, ds_field): New
functions, macros, and types for working with PPC instructions.
(ppc64_standard_linkage, PPC64_STANDARD_LINKAGE_LEN,
ppc64_in_solib_call_trampoline, ppc64_standard_linkage_target,
ppc64_skip_trampoline_code): New functions, variables, and macros
for recognizing and skipping linkage functions.
(ppc_linux_init_abi): Use ppc64_in_solib_call_trampoline and
ppc64_skip_trampoline_code for the 64-bit PowerPC Linux ABI.
2003-06-13 00:06:11 +00:00
Jim Blandy
6974274f54
Actually finish the job started by my change of 2003-05-29.
...
* config/powerpc/tm-linux.h (SKIP_TRAMPOLINE_CODE): Remove the
other #definition of this.
(ppc_linux_skip_trampoline_code): Remove declaration.
* ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Make this
static.
(ppc_linux_init_abi): Register it as the skip_trampoline_code
method for GDBARCH.
2003-06-12 23:58:07 +00:00
Andrew Cagney
7c0b4a2066
2003-06-01 Andrew Cagney <cagney@redhat.com>
...
* defs.h (extract_address): Delete declaration.
* findvar.c (extract_address): Delete function.
* xstormy16-tdep.c (xstormy16_extract_return_value): Replace
extract_address with the inline equivalent,
extract_unsigned_integer.
(xstormy16_extract_struct_value_address): Ditto.
(xstormy16_pointer_to_address): Ditto.
* vax-tdep.c (vax_extract_struct_value_address): Ditto.
* v850-tdep.c (v850_push_arguments): Ditto.
(v850_extract_return_value): Ditto.
(v850_extract_struct_value_address): Ditto.
* sparcnbsd-tdep.c (sparcnbsd_get_longjmp_target_32): Ditto.
(sparcnbsd_get_longjmp_target_64): Ditto.
* sparc-tdep.c (sparc_frame_saved_pc): Ditto.
(get_longjmp_target): Ditto.
* sh-tdep.c (sh_extract_struct_value_address): Ditto.
(sh64_extract_struct_value_address): Ditto.
(sh_push_arguments): Ditto.
(sh64_push_arguments): Ditto.
* remote-vxsparc.c (vx_read_register): Ditto.
* ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Ditto.
* ns32k-tdep.c (ns32k_extract_struct_value_address): Ditto.
* mn10300-tdep.c (mn10300_extract_struct_value_address): Ditto.
* mipsv4-nat.c (get_longjmp_target): Ditto.
* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Ditto.
* mips-nat.c (get_longjmp_target): Ditto.
* mips-linux-tdep.c (mips_linux_get_longjmp_target): Ditto.
* mcore-tdep.c (mcore_extract_struct_value_address): Ditto.
* m68k-tdep.c (m68k_get_longjmp_target): Ditto.
* m68hc11-tdep.c (m68hc11_extract_struct_value_address): Ditto.
* irix5-nat.c (get_longjmp_target): Ditto.
* irix4-nat.c (get_longjmp_target): Ditto.
* ia64-tdep.c (generic_elf_find_global_pointer): Ditto.
(ia64_push_arguments): Ditto.
* hpux-thread.c (hpux_thread_store_registers): Ditto.
* h8300-tdep.c (h8300_push_arguments): Ditto.
(h8300_store_return_value): Ditto.
(h8300_extract_struct_value_address): Ditto.
* frv-tdep.c (frv_extract_struct_value_address): Ditto.
(frv_push_arguments): Ditto.
* avr-tdep.c (avr_pointer_to_address): Ditto.
(avr_push_arguments): Ditto.
* arm-tdep.c (arm_push_dummy_call): Ditto.
(arm_get_longjmp_target): Ditto.
* arm-linux-tdep.c (arm_linux_push_arguments): Ditto.
* alpha-tdep.c (alpha_extract_struct_value_address): Ditto.
(alpha_get_longjmp_target): Ditto.
2003-06-02 02:09:40 +00:00
Jim Blandy
bfe51b1e32
Use gdbarch methods for solib stuff on PowerPC Linux.
...
* config/powerpc/tm-linux.h (IN_SOLIB_CALL_TRAMPOLINE,
SKIP_TRAMPOLINE_CODE): #undef these, so the gdbarch methods will
show through.
* ppc-linux-tdep.c (ppc_linux_init_abi): Register
IN_SOLIB_CALL_TRAMPOLINE and SKIP_TRAMPOLINE_CODE methods here,
giving the same effect as the #definitions above.
2003-05-30 03:44:05 +00:00
Andrew Cagney
adb616d7c2
2003-04-13 Andrew Cagney <cagney@redhat.com>
...
* ppc-linux-tdep.c: Use get_frame_base, get_frame_pc,
get_next_frame and get_frame_saved_regs.
2003-04-14 02:29:40 +00:00
Andrew Cagney
618ce49fa2
Index: ChangeLog
...
2003-03-23 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (DEPRECATED_FRAME_CHAIN): Replace FRAME_CHAIN.
(DEPRECATED_FRAME_CHAIN_VALID): Replace FRAME_CHAIN_VALID.
* gdbarch.h, gdbarch.c: Regenerate.
* valops.c (hand_function_call): Update.
* objfiles.h (DEPRECATED_FRAME_CHAIN_VALID): Update.
* frame.c (legacy_saved_regs_this_id): Update.
(legacy_get_prev_frame, get_prev_frame, legacy_frame_p): Update.
* dummy-frame.h: Update.
* config/sparc/tm-sparc.h (DEPRECATED_FRAME_CHAIN): Update.
* config/pa/tm-hppa.h (DEPRECATED_FRAME_CHAIN_VALID): Update.
* config/m68k/tm-vx68.h (DEPRECATED_FRAME_CHAIN): Update.
* config/m68k/tm-os68k.h (DEPRECATED_FRAME_CHAIN): Update.
* config/m68k/tm-sun3.h: Update.
* blockframe.c (inside_main_func, frame_chain_valid): Update.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
* x86-64-tdep.c (x86_64_init_abi): Update.
* vax-tdep.c (vax_gdbarch_init): Update.
* v850-tdep.c (v850_gdbarch_init): Update.
* sparc-tdep.c (sparc_frame_chain, sparc_gdbarch_init): Update.
* sh-tdep.c (sh_gdbarch_init): Update.
* s390-tdep.c (s390_gdbarch_init): Update.
* rs6000-tdep.c (rs6000_frame_saved_pc): Update.
(rs6000_gdbarch_init, rs6000_frame_saved_pc): Update.
(frame_get_saved_regs): Update.
* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
* ns32k-tdep.c (ns32k_gdbarch_init): Update.
* mn10300-tdep.c (mn10300_gdbarch_init): Update.
* mips-tdep.c (mips_gdbarch_init): Update.
* mcore-tdep.c (mcore_gdbarch_init): Update.
* m68k-tdep.c (m68k_gdbarch_init): Update.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
* ia64-tdep.c (ia64_gdbarch_init): Update.
* i386-tdep.c (i386_frame_num_args, i386_gdbarch_init): Update.
* i386-interix-tdep.c (i386_interix_init_abi): Update.
(i386_interix_back_one_frame): Update.
* hppa-tdep.c (hppa_gdbarch_init): Update.
(hppa_init_extra_frame_info): Update.
* h8300-tdep.c (h8300_gdbarch_init): Update.
* frv-tdep.c (frv_gdbarch_init): Update.
* cris-tdep.c (cris_gdbarch_init): Update.
* avr-tdep.c (avr_gdbarch_init): Update.
* arm-tdep.c (arm_gdbarch_init): Update.
* alpha-tdep.c (alpha_gdbarch_init): Update.
Index: doc/ChangeLog
2003-03-23 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Algorithms, Target Architecture Definition):
Deprecate FRAME_CHAIN and FRAME_CHAIN_VALID.
2003-03-24 03:54:51 +00:00
Andrew Cagney
8bedc05091
2003-03-12 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
* gdbarch.h, gdbarch.c: Re-generate.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
* x86-64-tdep.h: Update.
* x86-64-tdep.c (x86_64_init_abi): Update.
* v850-tdep.c (v850_gdbarch_init): Update.
* sparc-tdep.c (sparc_gdbarch_init): Update.
* sh-tdep.c (sh_gdbarch_init): Update.
* s390-tdep.c (s390_gdbarch_init): Update.
* rs6000-tdep.c (rs6000_gdbarch_init): Update.
* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
* ns32k-tdep.c (ns32k_gdbarch_init): Update.
* mn10300-tdep.c (mn10300_gdbarch_init): Update.
* mips-tdep.c (mips_gdbarch_init): Update.
* mcore-tdep.c (mcore_gdbarch_init): Update.
* m68k-tdep.c (m68k_gdbarch_init): Update.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
* ia64-tdep.c (ia64_gdbarch_init): Update.
* i386-tdep.c (i386_gdbarch_init): Update.
* i386-interix-tdep.c (i386_interix_init_abi): Update.
* hppa-tdep.c (hppa_gdbarch_init): Update.
* h8300-tdep.c (h8300_gdbarch_init): Update.
* frv-tdep.c (frv_gdbarch_init): Update.
* cris-tdep.c (cris_gdbarch_init): Update.
* avr-tdep.c (avr_gdbarch_init): Update.
* arm-tdep.c (arm_gdbarch_init): Update.
* alpha-tdep.c (alpha_gdbarch_init): Update.
* sh-tdep.c (sh_init_extra_frame_info): Update.
(sh64_init_extra_frame_info): Update.
* ns32knbsd-nat.c (frame_num_args): Update.
* m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
* xstormy16-tdep.c (xstormy16_pop_frame): Update.
(xstormy16_frame_chain_valid): Update.
* vax-tdep.c (vax_saved_pc_after_call): Update.
* v850-tdep.c (v850_frame_chain): Update.
(v850_pop_frame): Update.
(v850_init_extra_frame_info): Update.
* sparc-tdep.c (setup_arbitrary_frame): Update.
* ns32k-tdep.c (umax_frame_num_args): Update.
* s390-tdep.c (s390_pop_frame_regular): Update.
* mn10300-tdep.c (mn10300_frame_chain): Update.
(mn10300_pop_frame_regular): Update.
(mn10300_init_extra_frame_info): Update.
* mips-tdep.c (mips_init_frame_pc_first): Update.
(mips_frame_chain): Update.
(mips_pop_frame): Update.
* mcore-tdep.c (mcore_frame_chain): Update.
(mcore_pop_frame): Update.
(mcore_init_extra_frame_info): Update.
* arch-utils.c (init_frame_pc_default): Update.
* m68k-tdep.c (isi_frame_num_args): Update.
(delta68_frame_num_args): Update.
(news_frame_num_args): Update.
* ia64-tdep.c (ia64_pop_frame_regular): Update.
* alpha-tdep.c (alpha_init_frame_pc_first): Update.
(alpha_frame_chain): Update.
(alpha_pop_frame): Update.
* hppa-tdep.c (hppa_saved_pc_after_call): Update.
(hppa_init_extra_frame_info): Update.
(hppa_frame_chain): Update.
(hppa_frame_chain_valid): Update.
* cris-tdep.c (cris_init_extra_frame_info): Update.
* avr-tdep.c (avr_init_extra_frame_info): Update.
* arm-tdep.c (arm_frame_chain_valid): Update.
(arm_init_extra_frame_info): Update.
(arm_pop_frame): Update.
* frame.c (frame_pc_unwind): Update.
* config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
(DEPRECATED_INIT_FRAME_PC_FIRST): Update.
* config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
* config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
* config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
* config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
2003-03-12 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Rename
FRAME_SAVED_PC to DEPRECATED_FRAME_SAVED_PC.
2003-03-12 16:50:47 +00:00
Andrew Cagney
f30ee0bc4f
2003-03-01 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (DEPRECATED_FRAME_INIT_SAVED_REGS): Rename
FRAME_INIT_SAVED_REGS.
* gdbarch.h, gdbarch.c: Regenerate.
* stack.c (frame_info): Update.
* sh-tdep.c (sh_find_callers_reg, sh64_get_saved_pr): Update.
(sh_init_extra_frame_info, sh64_init_extra_frame_info): Update.
(sh64_get_saved_register, sh_pop_frame, sh64_pop_frame): Update.
* ns32k-tdep.c (ns32k_pop_frame): Update.
* mips-tdep.c (mips_pop_frame): Update.
* m68hc11-tdep.c (m68hc11_pop_frame): Update.
* ia64-tdep.c (ia64_frame_chain): Update.
(ia64_frame_saved_pc, ia64_get_saved_register): Update.
(ia64_frameless_function_invocation): Update.
(ia64_init_extra_frame_info): Update.
(ia64_pop_frame_regular): Update.
* frame.h (struct frame_info): Update comment.
(DEPRECATED_FRAME_INIT_SAVED_REGS): Rename macro.
* frame.c (frame_saved_regs_register_unwind): Update.
(frame_saved_regs_register_unwind): Update.
(deprecated_generic_get_saved_register): Update.
* cris-tdep.c: Update comment.
* config/sparc/tm-sparc.h (DEPRECATED_FRAME_INIT_SAVED_REGS):
Rename macro.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
* x86-64-tdep.c (x86_64_init_abi): Update.
* vax-tdep.c (vax_gdbarch_init): Update.
* v850-tdep.c (v850_gdbarch_init): Update.
* sparc-tdep.c (sparc_gdbarch_init): Update.
* sh-tdep.c (sh_gdbarch_init): Update.
* s390-tdep.c (s390_gdbarch_init): Update.
* rs6000-tdep.c (rs6000_gdbarch_init): Update.
* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
* ns32k-tdep.c (ns32k_gdbarch_init): Update.
* mn10300-tdep.c (mn10300_gdbarch_init): Update.
* mips-tdep.c (mips_gdbarch_init): Update.
* mcore-tdep.c (mcore_gdbarch_init): Update.
* m68k-tdep.c (m68k_gdbarch_init): Update.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
* ia64-tdep.c (ia64_gdbarch_init): Update.
* i386-tdep.c (i386_gdbarch_init): Update.
* frv-tdep.c (frv_gdbarch_init): Update.
* avr-tdep.c (avr_gdbarch_init): Update.
* arm-tdep.c (arm_gdbarch_init): Update.
* alpha-tdep.c (alpha_gdbarch_init): Update.
2003-03-01 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Rename
FRAME_INIT_SAVED_REGS to DEPRECATED_FRAME_INIT_SAVED_REGS.
2003-03-02 04:02:25 +00:00
Andrew Cagney
e9582e713d
2003-03-01 Andrew Cagney <cagney@redhat.com>
...
* gdbarch.sh (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename
INIT_EXTRA_FRAME_INFO.
* gdbarch.h, gdbarch.c: Regenerate.
* arm-tdep.c: Update comments.
* sh-tdep.c, mcore-tdep.c, m68hc11-tdep.c: Ditto.
* i386-interix-tdep.c, hppa-tdep.c, h8300-tdep.c: Ditto.
* frame.h, avr-tdep.c: Ditto.
* frame.c (get_prev_frame): DEPRECATED_INIT_EXTRA_FRAME_INFO.
(create_new_frame, legacy_get_prev_frame): Ditto.
* config/sparc/tm-sparc.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename.
* config/pa/tm-hppa.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Initialize
deprecated_init_extra_frame_info instead of init_extra_frame_info.
* x86-64-tdep.c (x86_64_init_abi): Ditto.
* v850-tdep.c (v850_gdbarch_init): Ditto.
* sparc-tdep.c (sparc_gdbarch_init): Ditto.
* sh-tdep.c (sh_gdbarch_init): Ditto.
* s390-tdep.c (s390_gdbarch_init): Ditto.
* ppc-linux-tdep.c (ppc_linux_init_abi): Ditto.
* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
* mips-tdep.c (mips_gdbarch_init): Ditto.
* mcore-tdep.c (mcore_gdbarch_init): Ditto.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
* ia64-tdep.c (ia64_gdbarch_init): Ditto.
* i386-interix-tdep.c (i386_interix_init_abi): Ditto.
* hppa-tdep.c (hppa_gdbarch_init): Ditto.
* h8300-tdep.c (h8300_gdbarch_init): Ditto.
* frv-tdep.c (frv_gdbarch_init): Ditto.
* cris-tdep.c (cris_gdbarch_init): Ditto.
* avr-tdep.c (avr_gdbarch_init): Ditto.
* arm-tdep.c (arm_gdbarch_init): Ditto.
* alpha-tdep.c (alpha_gdbarch_init): Ditto.
* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
Index: doc/ChangeLog
2003-02-26 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo: Rename INIT_EXTRA_FRAME_INFO to
DEPRECATED_INIT_EXTRA_FRAME_INFO.
2003-03-02 00:11:43 +00:00
Daniel Jacobowitz
a2d356b075
Pointed out by Anton Blanchard <anton@samba.org>.
...
* ppc-linux-tdep.c (insn_is_sigreturn): New function.
(ppc_linux_at_sigtramp_return_path): Use it.
2003-02-04 18:21:29 +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
Andrew Cagney
5a203e4405
2002-11-18 Andrew Cagney <ac131313@redhat.com>
...
* frame.h (enum frame_type): Define.
(get_frame_type): Declare.
(struct frame_info): Add field `type'. Delete field
signal_handler_caller.
(deprecated_set_frame_signal_handler_caller): Declare.
* frame.c (get_frame_type): New function.
(deprecated_set_frame_type): New function.
(create_new_frame): Set the frame's type.
(get_prev_frame): Similar.
* sparc-tdep.c: Use get_frame_type instead of signal_handler_caller.
* s390-tdep.c: Ditto.
* m68klinux-nat.c: Ditto.
* ns32k-tdep.c: Ditto.
* x86-64-linux-tdep.c: Ditto.
* vax-tdep.c: Ditto.
* rs6000-tdep.c: Ditto.
* ppc-linux-tdep.c: Ditto.
* i386-interix-tdep.c: Ditto.
* mips-tdep.c: Ditto.
* m68k-tdep.c: Ditto.
* hppa-tdep.c: Ditto.
* ia64-tdep.c: Ditto.
* cris-tdep.c: Ditto.
* arm-tdep.c: Ditto.
* alpha-tdep.c: Ditto.
* i386-tdep.c: Ditto.
* stack.c: Ditto.
* ada-lang.c: Ditto.
* blockframe.c: Update.
* i386-interix-tdep.c (i386_interix_back_one_frame): Use
deprecated_set_frame_type instead of signal_handler_caller.
* ppc-linux-tdep.c (ppc_linux_init_extra_frame_info): Ditto.
* rs6000-tdep.c (rs6000_init_extra_frame_info): Ditto.
* breakpoint.h: Delete FIXME suggesting get_frame_type.
Index: tui/ChangeLog
2002-11-18 Andrew Cagney <ac131313@redhat.com>
* tuiStack.c (tuiShowFrameInfo): Use get_frame_type instead of
signal_handler_caller.
2002-11-18 22:19:33 +00:00
Daniel Jacobowitz
2fda49774f
* ppc-linux-tdep.c (ELF_NGREG, ELF_NFPREG, ELF_NVRREG)
...
(ELF_FPREGSET_SIZE, ELF_GREGSET_SIZE): New enums.
(fetch_core_registers, ppc_linux_supply_gregset)
(ppc_linux_supply_fpregset): New functions.
(ppc_linux_regset_core_fns): New.
(_initialize_ppc_linux_tdep): Call add_core_fns.
* ppc-tdep.h: Add prototypes for ppc_linux_supply_fpregset
and ppc_linux_supply_gregset.
* ppc-linux-nat.c (supply_gregset): Call ppc_linux_supply_gregset.
(supply_fpregset): Call ppc_linux_supply_fpregset.
* config/powerpc/linux.mh (NATDEPFILES): Remove core-regset.o and
corelow.o.
* config/powerpc/linux.mt (TDEPFILES): Add corelow.o.
2002-07-30 19:03:49 +00:00
Jason Thorpe
7b112f9c0c
* Makefile.in (ppc_tdep_h): Define.
...
(ppc-linux-nat.o)
(ppc-linux-tdep.o)
(rs6000-tdep.o): Use $(ppc_tdep_h).
(ppc-sysv-tdep.o)
(ppcnbsd-nat.o)
(ppcnbsd-tdep.o): New dependency lists.
* ppc-tdep.h: Use generic OS ABI framework.
* ppc-linux-tdep.c (_initialize_ppc_linux_tdep,
ppc_linux_init_abi): New functions.
(ppc_sysv_abi_broken_use_struct_convention)
(ppc_sysv_abi_use_struct_convention)
(ppc_sysv_abi_push_arguments): Move to...
* ppc-sysv-tdep.c: ...here.
* ppcnbsd-nat.c: Don't include gdbcore.h and regcache.h.
* rs6000-tdep.c (process_note_abi_tag_sections)
(get_elfosabi): Remove.
(rs6000_gdbarch_init): Use generic OS ABI framework.
(rs6000_dump_tdep): New function.
(_initialize_rs6000_tdep): Use gdbarch_register.
* config/powerpc/linux.mt (TDEPFILES): Add ppc-sysv-tdep.o.
* config/powerpc/nbsd.mh (NATDEPFILES): Remove solib-legacy.o.
* config/powerpc/aix.mt (TDEPFILES): Use ppc-sysv-tdep.o instead
of ppc-linux-tdep.o.
* config/powerpc/nbsd.mt (TDEPFILES): Likewise.
* config/powerpc/ppc-eabi.mt (TDEPFILES): Likewise.
* config/powerpc/ppc-sim.mt (TDEPFILES): Likewise.
* config/powerpc/ppcle-eabi.mt (TDEPFILES): Likewise.
* config/powerpc/ppcle-sim.mt (TDEPFILES): Likewise.
* config/powerpc/vxworks.mt (TDEPFILES): Likewise.
2002-05-30 01:21:53 +00:00
Elena Zannoni
ace1378a15
2002-04-29 Elena Zannoni <ezannoni@redhat.com>
...
* rs6000-tdep.c (rs6000_extract_return_value,
rs6000_store_return_value): Handle returning vectors.
(rs6000_gdbarch_init): Use
ppc_sysv_abi_broken_use_struct_convention for native sysv cases.
* ppc-linux-tdep.c (ppc_sysv_abi_broken_use_struct_convention):
New function.
(ppc_sysv_abi_use_struct_convention): Deal with functions returning
vectors.
(ppc_sysv_abi_push_arguments): Handle vector parameters.
* ppc-tdep.h (ppc_sysv_abi_broken_use_struct_convention): Export.
2002-04-29 15:10:06 +00:00
Andrew Cagney
d7bd68ca3c
* arch-utils.h: Update copyright.
...
* gdbarch.sh (PC_IN_SIGTRAMP): Add.
* gdbarch.h, gdbarch.c: Re-generate.
* inferior.h (IN_SIGTRAMP): Delete definition.
* arch-utils.c (legacy_pc_in_sigtramp): New function.
* arch-utils.h (legacy_pc_in_sigtramp): Declare.
* mips-tdep.c (mips_init_extra_frame_info): Use PC_IN_SIGTRAMP.
(mips_dump_tdep): Do not print value of IN_SIGTRAMP.
* hppa-tdep.c (pc_in_interrupt_handler): Use PC_IN_SIGTRAMP.
(find_proc_framesize): Ditto.
* alpha-tdep.c (alpha_osf_skip_sigtramp_frame): Ditto.
(alpha_init_extra_frame_info): Ditto.
* infrun.c (handle_inferior_event): Ditto.
(handle_inferior_event): Ditto.
(check_sigtramp2): Ditto.
* blockframe.c (create_new_frame): Ditto.
(get_prev_frame): Ditto.
* ppc-linux-tdep.c: Update comments.
* i386-linux-tdep.c: Update comments.
* breakpoint.c (bpstat_what): Update comment.
* gdbint.texinfo (Target Architecture Definition): Replace
IN_SIGTRAMP with PC_IN_SIGTRAMP.
2002-04-24 16:28:16 +00:00
Andrew Cagney
f4f9705a2d
* gdbarch.sh (BREAKPOINT_FROM_PC): Return a const buffer.
...
* gdbarch.h, gdbarch.c: Regenerate.
* defs.h (breakpoint_from_pc_fn): Delete type definition.
* target.h (memory_breakpoint_from_pc): Update declaration.
* config/mcore/tm-mcore.h (mcore_breakpoint_from_p): Ditto.
* arch-utils.c (legacy_breakpoint_from_pc): Update return type.
* mcore-tdep.c (mcore_breakpoint_from_pc): Ditto.
* mem-break.c (memory_breakpoint_from_pc): Ditto.
* rs6000-tdep.c (rs6000_breakpoint_from_pc): Ditto.
* s390-tdep.c (s390_breakpoint_from_pc): Ditto
* xstormy16-tdep.c (xstormy16_breakpoint_from_pc): Ditto.
* mn10300-tdep.c (mn10300_breakpoint_from_pc): Ditto.
* mips-tdep.c (mips_breakpoint_from_pc): Ditto.
* m68hc11-tdep.c (m68hc11_breakpoint_from_pc): Ditto.
* ia64-tdep.c (ia64_breakpoint_from_pc): Ditto.
* d10v-tdep.c (d10v_breakpoint_from_pc): Ditto.
* arch-utils.c (legacy_breakpoint_from_pc): Ditto..
* mem-break.c (default_memory_insert_breakpoint): Make `bp' a
const pointer.
* monitor.c (monitor_insert_breakpoint): Ditto.
* rs6000-tdep.c (rs6000_software_single_step): Ditto for `breakp'.
* config/mcore/tm-mcore.h: Update copyright.
* mem-break.c: Ditto.
* xstormy16-tdep.c: Ditto.
2002-04-18 18:09:09 +00:00
Elena Zannoni
8e0662df17
2002-03-22 Elena Zannoni <ezannoni@redhat.com>
...
* ppc-linux-tdep.c (ppc_sysv_abi_use_struct_convention): New
function.
* ppc-tdep.h (ppc_sysv_abi_use_struct_convention): Export.
* rs6000-tdep.c (rs6000_gdbarch_init): Use different
structure returning convention for SYSV ABI case, but not
for GNU/Linux, FreeBSD, or NetBSD.
2002-03-22 21:58:16 +00:00