Index: gdb/ppc-sysv-tdep.c |
diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c |
index 20598d0e028fee4404cb4da7c045e3553f217fdf..a221b705e4bb728fc837fd0c84bf6feabdedcb08 100644 |
--- a/gdb/ppc-sysv-tdep.c |
+++ b/gdb/ppc-sysv-tdep.c |
@@ -1041,23 +1041,25 @@ do_ppc_sysv_return_value (struct gdbarch *gdbarch, struct type *func_type, |
} |
enum return_value_convention |
-ppc_sysv_abi_return_value (struct gdbarch *gdbarch, struct type *func_type, |
+ppc_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function, |
struct type *valtype, struct regcache *regcache, |
gdb_byte *readbuf, const gdb_byte *writebuf) |
{ |
- return do_ppc_sysv_return_value (gdbarch, func_type, valtype, regcache, |
- readbuf, writebuf, 0); |
+ return do_ppc_sysv_return_value (gdbarch, |
+ function ? value_type (function) : NULL, |
+ valtype, regcache, readbuf, writebuf, 0); |
} |
enum return_value_convention |
ppc_sysv_abi_broken_return_value (struct gdbarch *gdbarch, |
- struct type *func_type, |
+ struct value *function, |
struct type *valtype, |
struct regcache *regcache, |
gdb_byte *readbuf, const gdb_byte *writebuf) |
{ |
- return do_ppc_sysv_return_value (gdbarch, func_type, valtype, regcache, |
- readbuf, writebuf, 1); |
+ return do_ppc_sysv_return_value (gdbarch, |
+ function ? value_type (function) : NULL, |
+ valtype, regcache, readbuf, writebuf, 1); |
} |
/* The helper function for 64-bit SYSV push_dummy_call. Converts the |
@@ -1077,7 +1079,6 @@ convert_code_addr_to_desc_addr (CORE_ADDR code_addr, CORE_ADDR *desc_addr) |
struct obj_section *dot_fn_section; |
struct minimal_symbol *dot_fn; |
struct minimal_symbol *fn; |
- CORE_ADDR toc; |
/* Find the minimal symbol that corresponds to CODE_ADDR (should |
have a name of the form ".FN"). */ |
dot_fn = lookup_minimal_symbol_by_pc (code_addr); |
@@ -1710,12 +1711,13 @@ ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, |
location; when READBUF is non-NULL, fill the buffer from the |
corresponding register return-value location. */ |
enum return_value_convention |
-ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct type *func_type, |
+ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function, |
struct type *valtype, struct regcache *regcache, |
gdb_byte *readbuf, const gdb_byte *writebuf) |
{ |
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); |
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); |
+ struct type *func_type = function ? value_type (function) : NULL; |
int opencl_abi = func_type? ppc_sysv_use_opencl_abi (func_type) : 0; |
/* This function exists to support a calling convention that |