From c8b91b893c06b4e83e46a6db558c65ea2773ff7a Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Fri, 31 Oct 2003 22:19:12 +0000 Subject: [PATCH] 2003-10-31 Andrew Cagney * 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. --- gdb/ChangeLog | 10 ++++++++++ gdb/arch-utils.c | 15 --------------- 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 + + * 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 * 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); -- 2.7.4