Changed ABI to match a GCC change. Structs passed by value are always
passed using a pointer.
This commit is contained in:
parent
93b84526e8
commit
517b49896a
|
@ -1,3 +1,9 @@
|
||||||
|
|
||||||
|
Fri Jan 15 17:11:48 EST 1999 Zdenek Radouch (radouch@cygnus.com)
|
||||||
|
|
||||||
|
* config/fr30/tm-fr30.h: Changed ABI to match GCC change
|
||||||
|
(always use pointer for structs passed by value).
|
||||||
|
|
||||||
1999-01-15 Fernando Nasser <fnasser@totem.to.cygnus.com>
|
1999-01-15 Fernando Nasser <fnasser@totem.to.cygnus.com>
|
||||||
|
|
||||||
* target.h: added entry for target queries (to_query)
|
* target.h: added entry for target queries (to_query)
|
||||||
|
|
|
@ -213,9 +213,20 @@ fr30_push_arguments PARAMS ((int nargs, struct value **args, CORE_ADDR sp,
|
||||||
|
|
||||||
#define PC_IN_CALL_DUMMY(PC, SP, FP) generic_pc_in_call_dummy (PC, SP)
|
#define PC_IN_CALL_DUMMY(PC, SP, FP) generic_pc_in_call_dummy (PC, SP)
|
||||||
|
|
||||||
/* always pass struct by value as a pointer */
|
/* Fujitsu's ABI requires all structs to be passed using a pointer.
|
||||||
/* XXX Z.R. GCC does not do that today */
|
That is obviously not very efficient, so I am leaving the definitions
|
||||||
|
to make gdb work with GCC style struct passing, in case we decide
|
||||||
|
to go for better performance, rather than for compatibility with
|
||||||
|
Fujitsu (just change STRUCT_ALWAYS_BY_ADDR to 0) */
|
||||||
|
|
||||||
|
#define STRUCT_ALWAYS_BY_ADDR 1
|
||||||
|
|
||||||
|
#if(STRUCT_ALWAYS_BY_ADDR)
|
||||||
|
#define REG_STRUCT_HAS_ADDR(gcc_p,type) 1
|
||||||
|
#else
|
||||||
|
/* more standard GCC (optimized) */
|
||||||
#define REG_STRUCT_HAS_ADDR(gcc_p,type) \
|
#define REG_STRUCT_HAS_ADDR(gcc_p,type) \
|
||||||
((TYPE_LENGTH(type) > 4) && (TYPE_LENGTH(type) & 0x3))
|
((TYPE_LENGTH(type) > 4) && (TYPE_LENGTH(type) & 0x3))
|
||||||
|
#endif
|
||||||
/* alway return struct by value by input pointer */
|
/* alway return struct by value by input pointer */
|
||||||
#define USE_STRUCT_CONVENTION(GCC_P, TYPE) 1
|
#define USE_STRUCT_CONVENTION(GCC_P, TYPE) 1
|
||||||
|
|
Loading…
Reference in New Issue