diff options
author | Randolph Chung <tausq@debian.org> | 2004-06-07 02:02:55 +0000 |
---|---|---|
committer | Randolph Chung <tausq@debian.org> | 2004-06-07 02:02:55 +0000 |
commit | 7d9b040b53ba0e94d46774491ec01dd919af6587 (patch) | |
tree | 8cf828c191fbd500bcc7629d3a09ffcba146365d /gdb/ppc-sysv-tdep.c | |
parent | 0985fe3f1c90eee46fed4cafd787d59fbb80fe72 (diff) | |
download | binutils-7d9b040b53ba0e94d46774491ec01dd919af6587.zip binutils-7d9b040b53ba0e94d46774491ec01dd919af6587.tar.gz binutils-7d9b040b53ba0e94d46774491ec01dd919af6587.tar.bz2 |
2004-06-06 Randolph Chung <tausq@debian.org>
* gdbarch.sh (PUSH_DUMMY_CALL): Change CORE_ADDR func_addr argument
to struct value *function.
* gdbarch.c: Regenerate.
* gdbarch.h: Likewise.
* infcall.c (call_function_by_hand): Pass entire function value
to push_dummy_call.
* Makefile.in (alpha-tdep.o, frv-tdep.o, ia64-tdep.o, mips-tdep.o)
(ppc-sysv-tdep.o, rs6000-tdep.o): Update dependencies.
* alpha-tdep.c (alpha_push_dummy_call): Update call signature.
* amd64-tdep.c (amd64_push_dummy_call): Likewise.
* arm-tdep.c (arm_push_dummy_call): Likewise.
* avr-tdep.c (avr_push_dummy_call): Likewise.
* cris-tdep.c (cris_push_dummy_call): Likewise.
* d10v-tdep.c (d10v_push_dummy_call): Likewise.
* frv-tdep.c (frv_push_dummy_call): Likewise.
* h8300-tdep.c (h8300_push_dummy_call): Likewise.
* hppa-tdep.c (hppa32_push_dummy_call)
(hppa64_push_dummy_call): Likewise.
* i386-tdep.c (i386_push_dummy_call): Likewise.
* ia64-tdep.c (ia64_push_dummy_call): Likewise.
* m32r-tdep.c (m32r_push_dummy_call): Likewise.
* m68hc11-tdep.c (m68hc11_push_dummy_call): Likewise.
* m68k-tdep.c (m68k_push_dummy_call): Likewise.
* m88k-tdep.c (m88k_push_dummy_call): Likewise.
* mips-tdep.c (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call)
(mips_o32_push_dummy_call, mips_o64_push_dummy_call): Likewise.
* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call)
(ppc64_sysv_abi_push_dummy_call): Likewise.
* ppc-tdep.h (ppc_sysv_abi_push_dummy_call)
(ppc64_sysv_abi_push_dummy_call): Likewise.
* rs6000-tdep.c (rs6000_push_dummy_call): Likewise.
* s390-tdep.c (s390_push_dummy_call): Likewise.
* sh-tdep.c (sh_push_dummy_call_fpu)
(sh_push_dummy_call_nofpu): Likewise.
* sparc-tdep.c (sparc32_push_dummy_call): Likewise.
* sparc64-tdep.c (sparc64_push_dummy_call): Likewise.
* vax-tdep.c (vax_push_dummy_call): Likewise.
Diffstat (limited to 'gdb/ppc-sysv-tdep.c')
-rw-r--r-- | gdb/ppc-sysv-tdep.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c index 7da5ce2..cdf2855 100644 --- a/gdb/ppc-sysv-tdep.c +++ b/gdb/ppc-sysv-tdep.c @@ -30,6 +30,7 @@ #include "ppc-tdep.h" #include "target.h" #include "objfiles.h" +#include "infcall.h" /* Pass the arguments in either registers, or in the stack. Using the ppc sysv ABI, the first eight words of the argument list (that might @@ -43,7 +44,7 @@ starting from r4. */ CORE_ADDR -ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr, +ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) @@ -540,11 +541,12 @@ ppc_sysv_abi_broken_return_value (struct gdbarch *gdbarch, greatly simplifies the logic. */ CORE_ADDR -ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr, +ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) { + CORE_ADDR func_addr = find_function_addr (function, NULL); struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); /* By this stage in the proceedings, SP has been decremented by "red zone size" + "struct return size". Fetch the stack-pointer from |