From: Jim Wilson Date: Thu, 1 May 1997 00:14:55 +0000 (-0700) Subject: (override_options): Set mips_split_addresses only if X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8acd7d300281180ea1008acdbd2a4d885051b00d;p=gcc.git (override_options): Set mips_split_addresses only if TARGET_SPLIT_ADDRESSES is set. From-SVN: r14000 --- diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index dd65b958f3e..04ee9602ae7 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;