aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 849f6b0..8765e3e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-19 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (override_options): Disable explicit
+ relocs for old ABIs unless using gas.
+
2003-05-18 Eric Christopher <echristo@redhat.com>
* config/mips/mips.h: Remove definition of g_switch_value.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index c822f37..8474e47 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -5681,6 +5681,13 @@ override_options ()
target_flags &= ~MASK_EXPLICIT_RELOCS;
}
+ /* Explicit relocations for "old" ABIs are a GNU extension. Unless
+ the user has said otherwise, assume that they are not available
+ with assemblers other than gas. */
+ if (!TARGET_NEWABI && !TARGET_GAS
+ && (target_flags_explicit & MASK_EXPLICIT_RELOCS) == 0)
+ target_flags &= ~MASK_EXPLICIT_RELOCS;
+
/* -mrnames says to use the MIPS software convention for register
names instead of the hardware names (ie, $a0 instead of $4).
We do this by switching the names in mips_reg_names, which the