2003-10-10 Andrew Cagney <cagney@redhat.com>

* rs6000-tdep.c (e500_store_return_value): Delete function.
	(e500_extract_return_value): Delete function.
	(rs6000_gdbarch_init): When SYSV, set "extract_return_value" and
	"restore_return_value" to "ppc_sysv_abi_extract_return_value" and
	"ppc_sysv_abi_restore_return_value" where applicable.
	* ppc-tdep.h: (ppc_sysv_abi_store_return_value): Declare.
	(ppc_sysv_abi_extract_return_value): Declare.
	(ppc_sysv_abi_broken_store_return_value): Declare.
	(ppc_sysv_abi_broken_extract_return_value): Declare.
	(ppc_sysv_abi_broken_use_struct_convention:) Delete declaration.
	* ppc-sysv-tdep.c (return_value_convention): Move definition to
	start of file.
	(do_ppc_sysv_return_value): New function.
	(ppc_sysv_abi_extract_return_value): New function.
	(ppc_sysv_abi_store_return_value): New function.
	(ppc_sysv_abi_broken_extract_return_value): New function.
	(ppc_sysv_abi_broken_store_return_value): New function.
	(ppc_sysv_abi_use_struct_convention): Call
	do_ppc_sysv_return_value.
This commit is contained in:
Andrew Cagney
2003-10-10 21:32:47 +00:00
parent 8d4ce20aa3
commit e754ae69e1
5 changed files with 294 additions and 108 deletions

View File

@ -35,7 +35,18 @@ int ppc_linux_frameless_function_invocation (struct frame_info *);
void ppc_linux_frame_init_saved_regs (struct frame_info *);
CORE_ADDR ppc_linux_frame_chain (struct frame_info *);
int ppc_sysv_abi_use_struct_convention (int, struct type *);
int ppc_sysv_abi_broken_use_struct_convention (int, struct type *);
void ppc_sysv_abi_store_return_value (struct type *type,
struct regcache *regcache,
const void *valbuf);
void ppc_sysv_abi_extract_return_value (struct type *type,
struct regcache *regcache,
void *valbuf);
void ppc_sysv_abi_broken_store_return_value (struct type *type,
struct regcache *regcache,
const void *valbuf);
void ppc_sysv_abi_broken_extract_return_value (struct type *type,
struct regcache *regcache,
void *valbuf);
CORE_ADDR ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch,
CORE_ADDR func_addr,
struct regcache *regcache,