Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
authorFranz Sirl <Franz.Sirl-kernel@lauterbach.com>
Sat, 8 May 1999 01:46:13 +0000 (01:46 +0000)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 8 May 1999 01:46:13 +0000 (18:46 -0700)
Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
        * rs6000.h (RS6000_VARARGS_OFFSET): Die die die.
        (CUMULATIVE_ARGS): Remove varargs_offset; update commentary.
        * rs6000.c (setup_incoming_varargs): Fix typo last change.
        (init_cumulative_args): Remove varargs_offset references.
        * rs6000/linux.h (NO_IMPLICIT_EXTERN_C): Define.
        (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine.

From-SVN: r26835

gcc/ChangeLog
gcc/config/rs6000/linux.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h

index 1f5eda9c25f5b7a151f1f95f7bd0c239c5f084e8..7f408e8767cf14c3278917dc4fd03a77f8e092de 100644 (file)
@@ -1,3 +1,13 @@
+Sat May  8 01:43:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * rs6000.h (RS6000_VARARGS_OFFSET): Die die die.
+       (CUMULATIVE_ARGS): Remove varargs_offset; update commentary.
+       * rs6000.c (setup_incoming_varargs): Fix typo last change.
+       (init_cumulative_args): Remove varargs_offset references.
+
+       * rs6000/linux.h (NO_IMPLICIT_EXTERN_C): Define.
+       (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine.
+
 Sat May  8 01:34:19 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
        * reload1.c (gen_mode_int): New function.
index ff30618720eec63393b87f5c26c475600e0ec07f..13e3df2b44cf4beed78cb19a227a891bcb4292e1 100644 (file)
@@ -22,6 +22,12 @@ Boston, MA 02111-1307, USA.  */
 
 #include "rs6000/sysv4.h"
 
+/* Don't assume anything about the header files. */
+#define NO_IMPLICIT_EXTERN_C
+
+#undef MD_EXEC_PREFIX
+#undef MD_STARTFILE_PREFIX
+
 #undef CPP_PREDEFINES
 #define CPP_PREDEFINES \
  "-DPPC -D__ELF__ -Dpowerpc -Acpu(powerpc) -Amachine(powerpc)"
index f456984a7dda5e211e424c1ec4f63fbe189ea208..108f0d4bc0b79a89e7c1ec199dbc3eb9dfb724d2 100644 (file)
@@ -1258,11 +1258,7 @@ init_cumulative_args (cum, fntype, libname, incoming)
   cum->call_cookie = CALL_NORMAL;
 
   if (incoming)
-    {
-      cum->nargs_prototype = 1000;             /* don't return a PARALLEL */
-      if (abi == ABI_V4 || abi == ABI_SOLARIS)
-       cum->varargs_offset = RS6000_VARARGS_OFFSET;
-    }
+    cum->nargs_prototype = 1000;               /* don't return a PARALLEL */
 
   else if (cum->prototype)
     cum->nargs_prototype = (list_length (TYPE_ARG_TYPES (fntype)) - 1
@@ -1294,9 +1290,6 @@ init_cumulative_args (cum, fntype, libname, incoming)
                   tree_code_name[ (int)TREE_CODE (ret_type) ]);
        }
 
-      if ((abi == ABI_V4 || abi == ABI_SOLARIS) && incoming)
-       fprintf (stderr, " varargs = %d, ", cum->varargs_offset);
-
       if (cum->call_cookie & CALL_NT_DLLIMPORT)
        fprintf (stderr, " dllimport,");
 
@@ -1634,7 +1627,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
       rs6000_sysv_varargs_p = 1;
       if (! no_rtl)
        save_area = plus_constant (virtual_stack_vars_rtx,
-                                  - RS6000_VARARGS_OFFSET);
+                                  - RS6000_VARARGS_SIZE);
     }
   else
     rs6000_sysv_varargs_p = 0;
index 527daf0df3053779d866daf25c61d88e7d293266..05f4f9343e4faef1f0bd26caeab644ed4ce91178 100644 (file)
@@ -1282,11 +1282,6 @@ extern int rs6000_sysv_varargs_p;
 #define RS6000_VARARGS_SIZE \
   ((GP_ARG_NUM_REG * (TARGET_32BIT ? 4 : 8)) + (FP_ARG_NUM_REG * 8) + 8)
 
-/* Offset of V.4 varargs area */
-#define RS6000_VARARGS_OFFSET                                          \
-  (RS6000_ALIGN (current_function_outgoing_args_size, 8)               \
-   + RS6000_SAVE_AREA)
-
 /* Offset within stack frame to start allocating local variables at.
    If FRAME_GROWS_DOWNWARD, this is the offset to the END of the
    first local allocated.  Otherwise, it is the offset to the BEGINNING
@@ -1439,9 +1434,8 @@ extern int rs6000_sysv_varargs_p;
    floating-point register number, and the third says how many more args we
    have prototype types for.
 
-   The System V.4 varargs/stdarg support requires that this structure's size
-   be a multiple of sizeof(int), and that WORDS, FREGNO, NARGS_PROTOTYPE,
-   ORIG_NARGS, and VARARGS_OFFSET be the first five ints.  */
+   The varargs/stdarg support requires that this structure's size
+   be a multiple of sizeof(int). */
 
 typedef struct rs6000_args
 {
@@ -1449,7 +1443,6 @@ typedef struct rs6000_args
   int fregno;                  /* next available FP register */
   int nargs_prototype;         /* # args left in the current prototype */
   int orig_nargs;              /* Original value of nargs_prototype */
-  int varargs_offset;          /* offset of the varargs save area */
   int prototype;               /* Whether a prototype was defined */
   int call_cookie;             /* Do special things for this call */
 } CUMULATIVE_ARGS;