* config/tc-mn10300.c (mn10300_force_relocation): Don't
optimize differences between symbols in code sections to constants. (mn10300_fix_adjustable): Don't adjust to section+offset relocations pointing at symbols in code sections.
This commit is contained in:
parent
2a0fa9433c
commit
7e8f410030
|
@ -1,3 +1,11 @@
|
||||||
|
2001-05-15 Alexandre Oliva <aoliva@redhat.com>
|
||||||
|
|
||||||
|
* config/tc-mn10300.c (mn10300_force_relocation): Don't
|
||||||
|
optimize differences between symbols in code sections to
|
||||||
|
constants.
|
||||||
|
(mn10300_fix_adjustable): Don't adjust to section+offset
|
||||||
|
relocations pointing at symbols in code sections.
|
||||||
|
|
||||||
2001-05-16 Alan Modra <amodra@one.net.au>
|
2001-05-16 Alan Modra <amodra@one.net.au>
|
||||||
|
|
||||||
* config/tc-arc.c (md_assemble): Correct dwarf2_emit_insn param
|
* config/tc-arc.c (md_assemble): Correct dwarf2_emit_insn param
|
||||||
|
|
|
@ -1993,6 +1993,15 @@ mn10300_force_relocation (fixp)
|
||||||
|| fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
|
|| fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
/* Do not adjust relocations involving symbols in code sections,
|
||||||
|
because it breaks linker relaxations. This could be fixed in the
|
||||||
|
linker, but this fix is simpler, and it pretty much only affects
|
||||||
|
object size a little bit. */
|
||||||
|
if ((S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_CODE)
|
||||||
|
&& fixp->fx_subsy
|
||||||
|
&& S_GET_SEGMENT (fixp->fx_addsy) == S_GET_SEGMENT (fixp->fx_subsy))
|
||||||
|
return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2011,6 +2020,13 @@ mn10300_fix_adjustable (fixp)
|
||||||
|| fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
|
|| fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/* Do not adjust relocations involving symbols in code sections,
|
||||||
|
because it breaks linker relaxations. This could be fixed in the
|
||||||
|
linker, but this fix is simpler, and it pretty much only affects
|
||||||
|
object size a little bit. */
|
||||||
|
if (S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_CODE)
|
||||||
|
return 0;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue