diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2013-04-20 17:55:47 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2013-04-20 17:55:47 +0000 |
commit | cdd7d9dee7e120a250c3fd0c3062908067a9fbee (patch) | |
tree | 88e022e05bd6df1cb9999affbcc771d9e58f636b /gnu/usr.bin | |
parent | 95b0cdbdb9362acea74e4a38be7cdcced33d987e (diff) |
Define PIC_OFFSET_TABLE_REGNUM as INVALID_REGNUM when not compiling PIC.
Also, when compiling PIC, do not force PIC_OFFSET_TABLE_REGNUM to be set
in global_regs[], there is no reason to do this (on the other hand, forcing it
to be set in fixed_regs[] and call_used_regs[] is still necessary and correct).
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config/m88k/m88k.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/gnu/usr.bin/gcc/gcc/config/m88k/m88k.h b/gnu/usr.bin/gcc/gcc/config/m88k/m88k.h index bcfa7d41281..343348cdf89 100644 --- a/gnu/usr.bin/gcc/gcc/config/m88k/m88k.h +++ b/gnu/usr.bin/gcc/gcc/config/m88k/m88k.h @@ -450,10 +450,8 @@ extern int target_flags; /* -m compiler switches */ } \ if (flag_pic) \ { \ - /* Current hack to deal with -fpic -O2 problems. */ \ fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \ call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \ - global_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \ } \ } @@ -524,7 +522,7 @@ extern int target_flags; /* -m compiler switches */ /* Register to hold the addressing base for position independent code access to data items. */ -#define PIC_OFFSET_TABLE_REGNUM 25 +#define PIC_OFFSET_TABLE_REGNUM (flag_pic ? 25 : INVALID_REGNUM) /* Order in which registers are preferred (most to least). Use temp registers, then param registers top down. Preserve registers are |