This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
ARM Patch for egcs-1.1.1: ABI lossage for NetBSD/arm32
- To: egcs-patches at cygnus dot com
- Subject: ARM Patch for egcs-1.1.1: ABI lossage for NetBSD/arm32
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Tue, 03 Nov 1998 16:42:19 +0000
- Cc: richard dot earnshaw at arm dot com
- Organization: ARM Ltd.
- Reply-To: richard dot earnshaw at arm dot com
Jeff,
Can the following patch please go into egcs-1.1.1? It makes egcs
compatible with their ABI (the behaviour of gcc-2.7.2) in respect of
structure returns from functions.
Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com)
Restore ABI compatibility for NetBSD.
* arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
arm.h
(RETURN_IN_MEMORY): Likewise.
Index: netbsd.h
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/netbsd.h,v
retrieving revision 1.4.2.1
diff -p -r1.4.2.1 netbsd.h
*** netbsd.h 1998/08/14 00:28:17 1.4.2.1
--- netbsd.h 1998/10/31 18:18:59
*************** the Free Software Foundation, 675 Mass A
*** 116,121 ****
--- 116,130 ----
#undef TYPE_OPERAND_FMT
#define TYPE_OPERAND_FMT "%%%s"
+ /* NetBSD uses the old PCC style aggregate returning conventions. */
+ #undef DEFAULT_PCC_STRUCT_RETURN
+ #define DEFAULT_PCC_STRUCT_RETURN 1
+
+ /* Although not normally relevant (since by default, all aggregates
+ are returned in memory) compiling some parts of libc requires
+ non-APCS style struct returns. */
+ #undef RETURN_IN_MEMORY
+
/* VERY BIG NOTE : Change of structure alignment for RiscBSD.
There are consequences you should be aware of...