From: Thiemo Seufer Date: Fri, 3 Nov 2006 16:27:41 +0000 (+0000) Subject: * config/tc-mips.c (md_pcrel_from_section): Disallow PC relative X-Git-Tag: gdb_6_6-branchpoint~96 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=648178740aef7c86a527e4ff02784c8962b262ae;p=thirdparty%2Fbinutils-gdb.git * config/tc-mips.c (md_pcrel_from_section): Disallow PC relative MIPS16 instructions referencing other sections, unless they are external branches. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index fbab72c968f..cb43b8463c8 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2006-11-03 Thiemo Seufer + + * config/tc-mips.c (md_pcrel_from_section): Disallow PC relative + MIPS16 instructions referencing other sections, unless they are + external branches. + 2006-11-03 Thiemo Seufer * config/tc-mips.c (mips_cpu_info_table): The 25Kf is a MIPS64 diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 4eca5bb81e7..ea294e9c149 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -11544,6 +11544,10 @@ md_pcrel_from (fixS *fixP) /* Return the address of the delay slot. */ return addr + 4; default: + /* We have no relocation type for PC relative MIPS16 intructions. */ + if (fixP->fx_addsy && S_GET_SEGMENT (fixP->fx_addsy) != now_seg) + as_bad_where (fixP->fx_file, fixP->fx_line, + _("PC relative MIPS16 instruction references a different section")); return addr; } }