diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-02-26 18:01:08 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-02-26 18:01:08 -0500 |
commit | 0b9ccabc3c5e637a794516c9b06bb492c56c77f7 (patch) | |
tree | 8c6bd4e320dda4647cc526fe59a4ddd70193f19f | |
parent | 4fe73cc129e2b244d4ae113844518028ff7df440 (diff) | |
download | gcc-0b9ccabc3c5e637a794516c9b06bb492c56c77f7.zip gcc-0b9ccabc3c5e637a794516c9b06bb492c56c77f7.tar.gz gcc-0b9ccabc3c5e637a794516c9b06bb492c56c77f7.tar.bz2 |
(MASK_NO_SUM_IN_TOC, TARGET_NO_SUM_IN_TOC): New macros.
(MASK_MINIMAL_TOC): Change bit value.
(TARGET_SWITCHES): Add -mno-sum-in-toc; use -mfull-toc instead of
-mnormal-toc, other minor changes.
From-SVN: r6634
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index aaf8f1c..dd5fb2b 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -89,6 +89,10 @@ extern int target_flags; TOC overflows. */ #define MASK_NO_FP_IN_TOC 0x40 +/* Disable placing symbol+offset constants in the TOC; can be turned on when + the TOC overflows. */ +#define MASK_NO_SUM_IN_TOC 0x80 + /* Output only one TOC entry per module. Normally linking fails if there are more than 16K unique variables/constants in an executable. With this option, linking fails only if there are more than 16K modules, or @@ -96,7 +100,7 @@ extern int target_flags; This is at the cost of having 2 extra loads and one extra store per function, and one less allocatable register. */ -#define MASK_MINIMAL_TOC 0x80 +#define MASK_MINIMAL_TOC 0x100 #define TARGET_POWER (target_flags & MASK_POWER) #define TARGET_POWER2 (target_flags & MASK_POWER2) @@ -105,6 +109,7 @@ extern int target_flags; #define TARGET_POWERPC64 (target_flags & MASK_POWERPC64) #define TARGET_NEW_MNEMONICS (target_flags & MASK_NEW_MNEMONICS) #define TARGET_NO_FP_IN_TOC (target_flags & MASK_NO_FP_IN_TOC) +#define TARGET_NO_SUM_IN_TOC (target_flags & MASK_NO_SUM_IN_TOC) #define TARGET_MINIMAL_TOC (target_flags & MASK_MINIMAL_TOC) /* Run-time compilation parameters selecting different hardware subsets. @@ -128,10 +133,14 @@ extern int target_flags; {"no-powerpc64", -MASK_POWERPC64}, \ {"new-mnemonics", MASK_NEW_MNEMONICS}, \ {"old-mnemonics", -MASK_NEW_MNEMONICS}, \ - {"normal-toc", - (MASK_NO_FP_IN_TOC | MASK_MINIMAL_TOC)}, \ + {"full-toc", - (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC \ + | MASK_MINIMAL_TOC)}, \ {"fp-in-toc", - MASK_NO_FP_IN_TOC}, \ {"no-fp-in-toc", MASK_NO_FP_IN_TOC}, \ + {"sum-in-toc", - MASK_NO_SUM_IN_TOC}, \ + {"no-sum-in-toc", MASK_NO_SUM_IN_TOC}, \ {"minimal-toc", MASK_MINIMAL_TOC}, \ + {"minimal-toc", - (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC)}, \ {"no-minimal-toc", - MASK_MINIMAL_TOC}, \ {"", TARGET_DEFAULT}} |