This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 ""


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]