2003-11-07 Andrew Cagney <cagney@redhat.com>

* ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux,
	set "return_value" instead of "use_struct_convention".
	(ppc_linux_use_struct_convention): Delete function.
	(ppc_linux_return_value): New function.
	* ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function.
	(ppc_sysv_abi_broken_return_value): New function.
	(do_ppc_sysv_return_value): Add "gdbarch" parameter.
	(ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop
	static.
	(ppc_sysv_abi_extract_return_value): Delete function.
	(ppc_sysv_abi_broken_extract_return_value): Delete function.
	(ppc_sysv_abi_store_return_value): Delete function.
	(ppc_sysv_abi_broken_store_return_value): Delete function.
	(ppc_sysv_abi_use_struct_convention): Delete function.
	(ppc64_sysv_abi_use_struct_convention): Delete function.
	(ppc64_sysv_abi_extract_return_value): Delete function.
	(ppc64_sysv_abi_store_return_value): Delete function.
	* ppcnbsd-tdep.c (ppcnbsd_return_value): New function.
	(ppcnbsd_init_abi): Set "return_value", instead of
	"use_struct_convention", "extract_return_value", and
	"store_return_value".
	(ppcnbsd_use_struct_convention): Delete function.
	* ppc-tdep.h (ppc64_sysv_abi_return_value): Declare.
	(ppc_sysv_abi_return_value): Declare.
	(ppc_sysv_abi_broken_return_value): Declare.
	(ppc_sysv_abi_use_struct_convention): Delete.
	(ppc_sysv_abi_store_return_value): Delete.
	(ppc_sysv_abi_extract_return_value): Delete.
	(ppc_sysv_abi_broken_store_return_value): Delete.
	(ppc_sysv_abi_broken_extract_return_value): Delete.
	(ppc64_sysv_abi_use_struct_convention): Delete.
	(ppc64_sysv_abi_extract_return_value): Delete.
	(ppc64_sysv_abi_store_return_value): Delete.
	* rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV,
	set "return_value" instead of "extract_return_value",
	"store_return_value", and "use_struct_convention".
This commit is contained in:
Andrew Cagney
2003-11-07 20:44:51 +00:00
parent e2a2ebaad5
commit 05580c65ad
6 changed files with 108 additions and 127 deletions

View File

@@ -2750,15 +2750,9 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_sp_regnum (gdbarch, 1);
set_gdbarch_deprecated_fp_regnum (gdbarch, 1);
if (sysv_abi && wordsize == 8)
{
set_gdbarch_extract_return_value (gdbarch, ppc64_sysv_abi_extract_return_value);
set_gdbarch_store_return_value (gdbarch, ppc64_sysv_abi_store_return_value);
}
set_gdbarch_return_value (gdbarch, ppc64_sysv_abi_return_value);
else if (sysv_abi && wordsize == 4)
{
set_gdbarch_extract_return_value (gdbarch, ppc_sysv_abi_extract_return_value);
set_gdbarch_store_return_value (gdbarch, ppc_sysv_abi_store_return_value);
}
set_gdbarch_return_value (gdbarch, ppc_sysv_abi_return_value);
else
{
set_gdbarch_deprecated_extract_return_value (gdbarch, rs6000_extract_return_value);
@@ -2907,12 +2901,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Not sure on this. FIXMEmgo */
set_gdbarch_frame_args_skip (gdbarch, 8);
if (sysv_abi && wordsize == 4)
set_gdbarch_use_struct_convention (gdbarch,
ppc_sysv_abi_use_struct_convention);
else if (sysv_abi && wordsize == 8)
set_gdbarch_use_struct_convention (gdbarch, ppc64_sysv_abi_use_struct_convention);
else
if (!sysv_abi)
set_gdbarch_use_struct_convention (gdbarch,
rs6000_use_struct_convention);