diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1997-04-30 17:14:55 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1997-04-30 17:14:55 -0700 |
commit | 8acd7d300281180ea1008acdbd2a4d885051b00d (patch) | |
tree | 9c702959d92b575bbafd165c2325b63be9fee006 | |
parent | f009b725de2c494b4b9772249cfb551b37ddd500 (diff) | |
download | gcc-8acd7d300281180ea1008acdbd2a4d885051b00d.zip gcc-8acd7d300281180ea1008acdbd2a4d885051b00d.tar.gz gcc-8acd7d300281180ea1008acdbd2a4d885051b00d.tar.bz2 |
(override_options): Set mips_split_addresses only if
TARGET_SPLIT_ADDRESSES is set.
From-SVN: r14000
-rw-r--r-- | gcc/config/mips/mips.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index dd65b95..04ee960 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -3672,10 +3672,15 @@ override_options () mips_section_threshold = 0x7fffffff; } + /* This optimization requires a linker that can support a R_MIPS_LO16 + relocation which is not immediately preceeded by a R_MIPS_HI16 relocation. + GNU ld has this support, but not all other MIPS linkers do, so we enable + this optimization only if the user requests it, or if GNU ld is the + standard linker for this configuration. */ /* ??? This does not work when target addresses are DImode. This is because we are missing DImode high/lo_sum patterns. */ - - if (TARGET_GAS && optimize && ! flag_pic && Pmode == SImode) + if (TARGET_GAS && TARGET_SPLIT_ADDRESSES && optimize && ! flag_pic + && Pmode == SImode) mips_split_addresses = 1; else mips_split_addresses = 0; |