aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-mips.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2004-12-11 03:41:31 +0000
committerIan Lance Taylor <ian@airs.com>2004-12-11 03:41:31 +0000
commit6943caf04880e22227fde296e811bc283d9893b4 (patch)
tree3b4379885f4a3a43ccfb977270a56f1efa1dc977 /gas/config/tc-mips.c
parente02147b10c22073d9ab304ce0a95316e86fa8d1c (diff)
downloadfsf-binutils-gdb-6943caf04880e22227fde296e811bc283d9893b4.zip
fsf-binutils-gdb-6943caf04880e22227fde296e811bc283d9893b4.tar.gz
fsf-binutils-gdb-6943caf04880e22227fde296e811bc283d9893b4.tar.bz2
* 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.
Diffstat (limited to 'gas/config/tc-mips.c')
-rw-r--r--gas/config/tc-mips.c2
1 files changed, 2 insertions, 0 deletions
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);