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.
This commit is contained in:
Andrew Cagney 2003-10-31 22:19:12 +00:00
parent fdfb6fc861
commit c8b91b893c
3 changed files with 20 additions and 17 deletions

View file

@ -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> 2003-10-31 Mark Kettenis <kettenis@gnu.org>
* i386-linux-nat.c (fetch_core_registers): Remove. * i386-linux-nat.c (fetch_core_registers): Remove.

View file

@ -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
core_addr_identity (CORE_ADDR addr) core_addr_identity (CORE_ADDR addr)
{ {

View file

@ -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 /* a given return value in `regbuf' with a type `valtype', extract and copy its
value into `valbuf' */ value into `valbuf' */
static void 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_stab_reg_to_regnum (gdbarch, s390_stab_reg_to_regnum);
set_gdbarch_dwarf_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_dwarf2_reg_to_regnum (gdbarch, s390_stab_reg_to_regnum);
set_gdbarch_deprecated_extract_struct_value_address set_gdbarch_extract_struct_value_address (gdbarch, s390_cannot_extract_struct_value_address);
(gdbarch, generic_cannot_extract_struct_value_address);
/* Parameters for inferior function calls. */ /* Parameters for inferior function calls. */
set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point); set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point);