This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH 3.3 0203 i386/{i386.c,{i386elf,ptx4-i,sysv4}.h} for UnixWare buildfailure.
- From: rbrown64 at csc dot com dot au
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 4 Feb 2003 18:26:21 +1100
- Subject: PATCH 3.3 0203 i386/{i386.c,{i386elf,ptx4-i,sysv4}.h} for UnixWare buildfailure.
This patch gets 3.3 20030203 (prerelease) building on
i686-unknown-sysv5UnixWare7.1.0 - specifically the patch to i386.c and
sysv4.h. The ptx4-i.h and i386elf.h are untested.
i386.h- Do not use this macro to indicate that structures and unions
i386.h- should always be returned in memory. You should instead use
i386.h- `DEFAULT_PCC_STRUCT_RETURN' to indicate this. */
i386.h-
i386.h:#define RETURN_IN_MEMORY(TYPE) \
i386.h- ix86_return_in_memory (TYPE)
This leaves
i386-interix.h-/* MSVC returns structs of up to 8 bytes via registers. */
i386-interix.h-
i386-interix.h-#define DEFAULT_PCC_STRUCT_RETURN 0
i386-interix.h-
i386-interix.h:#undef RETURN_IN_MEMORY
i386-interix.h:#define RETURN_IN_MEMORY(TYPE) \
i386-interix.h- (TYPE_MODE (TYPE) == BLKmode || \
i386-interix.h- (AGGREGATE_TYPE_P (TYPE) && int_size_in_bytes(TYPE) > 8 ))
alone overriding the i386.h definition of RETURN_IN_MEMORY.
gcc -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes \
-Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -fno-common \
-DHAVE_CONFIG_H -I. -I. -I../../gcc-20030203/gcc -I../../gcc-20030203/gcc/. \
-I../../gcc-20030203/gcc/config -I../../gcc-20030203/gcc/../include \
../../gcc-20030203/gcc/config/i386/i386.c -o i386.o
.../config/i386/i386.c: In function `override_options':
.../config/i386/i386.c:1024: `DEFAULT_PCC_STRUCT_RETURN' undeclared (first use in this function)
.../config/i386/i386.c:1024: (Each undeclared identifier is reported only once
.../config/i386/i386.c:1024: for each function it appears in.)
.../config/i386/i386.c: In function `x86_64_zero_extended_value':
...
.../config/i386/i386.c: In function `x86_function_profiler':
.../config/i386/i386.c:14315: warning: too many arguments for format
make[2]: *** [i386.o] Error 1
Note Copyright assigned - no CVS write access.
2003-02-04 Rodney Brown <rbrown64@csc.com.au>
* config/i386/i386.c (x86_function_profiler): Fix typo in format.
* config/i386/i386elf.h: Define DEFAULT_PCC_STRUCT_RETURN,
in place of RETURN_IN_MEMORY.
* config/i386/ptx4-i.h: Likewise.
* config/i386/sysv4.h: Likewise.
--- config/i386/i386.c.orig Tue Feb 4 11:56:59 2003
+++ config/i386/i386.c Tue Feb 4 16:27:48 2003
@@ -14311,7 +14311,7 @@ x86_function_profiler (file, labelno)
else
{
#ifndef NO_PROFILE_COUNTERS
- fprintf (file, "\tmovl\t$%sP%d,%%$s\n", LPREFIX, labelno,
+ fprintf (file, "\tmovl\t$%sP%d,%%%s\n", LPREFIX, labelno,
PROFILE_COUNT_REGISTER);
#endif
fprintf (file, "\tcall\t%s\n", MCOUNT_NAME);
--- config/i386/ptx4-i.h.orig Sat Jun 29 19:10:04 2002
+++ config/i386/ptx4-i.h Tue Feb 4 16:22:08 2003
@@ -28,10 +28,8 @@ Boston, MA 02111-1307, USA. */
/* The svr4 ABI for the i386 says that records and unions are returned
in memory. */
-#undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE) \
- (TYPE_MODE (TYPE) == BLKmode \
- || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
+#undef DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 1
#define TARGET_OS_CPP_BUILTINS() \
do \
--- config/i386/sysv4.h.orig Mon Jun 17 07:13:11 2002
+++ config/i386/sysv4.h Tue Feb 4 16:19:16 2003
@@ -26,10 +26,8 @@ Boston, MA 02111-1307, USA. */
/* The svr4 ABI for the i386 says that records and unions are returned
in memory. */
-#undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE) \
- (TYPE_MODE (TYPE) == BLKmode \
- || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
+#undef DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 1
/* Output at beginning of assembler file. */
/* The .file command should always begin the output. */
--- config/i386/i386elf.h.orig Mon Jun 17 07:13:09 2002
+++ config/i386/i386elf.h Tue Feb 4 16:17:53 2003
@@ -34,11 +34,8 @@ Boston, MA 02111-1307, USA. */
/* The ELF ABI for the i386 says that records and unions are returned
in memory. */
-
-#undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE) \
- (TYPE_MODE (TYPE) == BLKmode \
- || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
+#undef DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 1
#undef CPP_SPEC
#define CPP_SPEC ""