diff options
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index fbab72c..cb43b84 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,11 @@ 2006-11-03 Thiemo Seufer <ths@mips.com> + * 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 <ths@mips.com> + * config/tc-mips.c (mips_cpu_info_table): The 25Kf is a MIPS64 release 1 CPU. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 4eca5bb..ea294e9 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; } } |