diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-10-31 22:19:12 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-10-31 22:19:12 +0000 |
commit | c8b91b893c06b4e83e46a6db558c65ea2773ff7a (patch) | |
tree | 884f4d9ad461814e659be6cc000a9bf86bed60f8 | |
parent | fdfb6fc8617608c91d6d14145073643980fd1356 (diff) | |
download | gdb-c8b91b893c06b4e83e46a6db558c65ea2773ff7a.zip gdb-c8b91b893c06b4e83e46a6db558c65ea2773ff7a.tar.gz gdb-c8b91b893c06b4e83e46a6db558c65ea2773ff7a.tar.bz2 |
2003-10-31 Andrew Cagney <cagney@redhat.com>
* s390-tdep.c (s390_cannot_extract_struct_value_address): New
function.
(s390_gdbarch_init): Set extract_struct_value_address.
* arch-utils.c (generic_cannot_extract_struct_value_address):
Delete function.
* arch-utils.h (generic_cannot_extract_struct_value_address):
Delete definition.
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/arch-utils.c | 15 | ||||
-rw-r--r-- | gdb/s390-tdep.c | 12 |
3 files changed, 20 insertions, 17 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5ee83be..b5b4a16 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2003-10-31 Andrew Cagney <cagney@redhat.com> + + * s390-tdep.c (s390_cannot_extract_struct_value_address): New + function. + (s390_gdbarch_init): Set extract_struct_value_address. + * arch-utils.c (generic_cannot_extract_struct_value_address): + Delete function. + * arch-utils.h (generic_cannot_extract_struct_value_address): + Delete definition. + 2003-10-31 Mark Kettenis <kettenis@gnu.org> * i386-linux-nat.c (fetch_core_registers): Remove. diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index 38ad486..21c5682 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -200,21 +200,6 @@ deprecated_register_convertible_not (int num) } -/* Under some ABI's that specify the `struct convention' for returning - structures by value, by the time we've returned from the function, - the return value is sitting there in the caller's buffer, but GDB - has no way to find the address of that buffer. - - On such architectures, use this function as your - extract_struct_value_address method. When asked to a struct - returned by value in this fashion, GDB will print a nice error - message, instead of garbage. */ -CORE_ADDR -generic_cannot_extract_struct_value_address (char *dummy) -{ - return 0; -} - CORE_ADDR core_addr_identity (CORE_ADDR addr) { diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 28efe43..eb4a62e 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1874,6 +1874,15 @@ s390_frame_chain (struct frame_info *thisframe) +/* NOTE: cagney/2003-10-31: "return_value" makes + "extract_struct_value_address", "extract_return_value", and + "use_struct_convention" redundant. */ +static CORE_ADDR +s390_cannot_extract_struct_value_address (struct regcache *regcache) +{ + return 0; +} + /* a given return value in `regbuf' with a type `valtype', extract and copy its value into `valbuf' */ static void @@ -2622,8 +2631,7 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_stab_reg_to_regnum (gdbarch, s390_stab_reg_to_regnum); set_gdbarch_dwarf_reg_to_regnum (gdbarch, s390_stab_reg_to_regnum); set_gdbarch_dwarf2_reg_to_regnum (gdbarch, s390_stab_reg_to_regnum); - set_gdbarch_deprecated_extract_struct_value_address - (gdbarch, generic_cannot_extract_struct_value_address); + set_gdbarch_extract_struct_value_address (gdbarch, s390_cannot_extract_struct_value_address); /* Parameters for inferior function calls. */ set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point); |