aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-mips.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2d5a186..ec03c7a 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
2004-12-10 Ian Lance Taylor <ian@wasabisystems.com>
+ * config/tc-mips.c (macro) [M_LA_AB]: Give an error for a offset
+ which is too large in the case of NO_PIC without 64-bit
+ addresses.
+
* config/tc-mips.c (mips_in_shared): New static variable.
(macro_build_lui): Permit "_gp" if !mips_in_shared.
(md_longopts): Add -mshared and -mno-shared.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 157c541..f65727a 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -4996,6 +4996,8 @@ macro (struct mips_cl_insn *ip)
tempreg, mips_gp_register, BFD_RELOC_GPREL16);
relax_switch ();
}
+ if (!IS_SEXT_32BIT_NUM (offset_expr.X_add_number))
+ as_bad (_("offset too large"));
macro_build_lui (&offset_expr, tempreg);
macro_build (&offset_expr, ADDRESS_ADDI_INSN, "t,r,j",
tempreg, tempreg, BFD_RELOC_LO16);