From: Ian Lance Taylor Date: Sat, 11 Dec 2004 03:41:31 +0000 (+0000) Subject: * config/tc-mips.c (macro) [M_LA_AB]: Give an error for a offset X-Git-Tag: gdb-pre-i18n-errorwarning-20050211~613 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6943caf04880e22227fde296e811bc283d9893b4;p=external%2Fbinutils.git * 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. --- 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 + * 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);