aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-10-23 17:25:31 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-10-23 17:25:31 -0700
commit24e214e3d3fb1f44c2e77e3c142214867a7d51b7 (patch)
treec79bcd25c2df6c1f5da34c58ab8cf4397b1eb78a
parentffa9d0b19d032ce60053ecff9e4e54a2007a910f (diff)
downloadgcc-24e214e3d3fb1f44c2e77e3c142214867a7d51b7.zip
gcc-24e214e3d3fb1f44c2e77e3c142214867a7d51b7.tar.gz
gcc-24e214e3d3fb1f44c2e77e3c142214867a7d51b7.tar.bz2
(mips_abicalls): Declare new variable.
(PIC_FUNCTION_ADDR_REGNUM): New macro. (STARTING_FRAME_OFFSET): Handle TARGET_ABICALLS case. From-SVN: r5875
-rw-r--r--gcc/config/mips/mips.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index f3b799a..22e5946 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -108,6 +108,7 @@ extern enum processor_type mips_cpu; /* which cpu are we scheduling for */
extern int mips_isa; /* architectural level */
extern char *mips_cpu_string; /* for -mcpu=<xxx> */
extern char *mips_isa_string; /* for -mips{1,2,3} */
+extern enum attr_abicalls mips_abicalls;/* for svr4 abi pic calls */
extern int dslots_load_total; /* total # load related delay slots */
extern int dslots_load_filled; /* # filled load delay slots */
extern int dslots_jump_total; /* total # jump related delay slots */
@@ -1247,6 +1248,8 @@ extern char mips_hard_regno_mode_ok[][FIRST_PSEUDO_REGISTER];
files to allocate such a register (if necessary). */
#define PIC_OFFSET_TABLE_REGNUM (GP_REG_FIRST + 28)
+#define PIC_FUNCTION_ADDR_REGNUM (GP_REG_FIRST + 25)
+
/* Define the classes of registers for register constraints in the
machine description. Also define ranges of constants.
@@ -1512,7 +1515,9 @@ extern enum reg_class mips_char_to_class[];
If FRAME_GROWS_DOWNWARD, this is the offset to the END of the
first local allocated. Otherwise, it is the offset to the BEGINNING
of the first local allocated. */
-#define STARTING_FRAME_OFFSET current_function_outgoing_args_size
+#define STARTING_FRAME_OFFSET \
+ (current_function_outgoing_args_size \
+ + (TARGET_ABICALLS ? MIPS_STACK_ALIGN (UNITS_PER_WORD) : 0))
/* Offset from the stack pointer register to an item dynamically
allocated on the stack, e.g., by `alloca'.