* 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.
This commit is contained in:
Ian Lance Taylor 2004-12-11 03:41:31 +00:00
parent e02147b10c
commit 6943caf048
2 changed files with 6 additions and 0 deletions

View File

@ -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.

View File

@ -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);