+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.
#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)"
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
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,");
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;
#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
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
{
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;