PR gas/12532
* config/tc-arm.c (relax_branch): Do not relax branches to preemptable global symbols.
This commit is contained in:
parent
24c8611522
commit
0d9b4b55c2
2 changed files with 12 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2011-04-12 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR gas/12532
|
||||||
|
* config/tc-arm.c (relax_branch): Do not relax branches to
|
||||||
|
preemptable global symbols.
|
||||||
|
|
||||||
2011-04-11 Julian Brown <julian@codesourcery.com>
|
2011-04-11 Julian Brown <julian@codesourcery.com>
|
||||||
|
|
||||||
* config/tc-arm.c (parse_psr): Add LHS argument. Improve support
|
* config/tc-arm.c (parse_psr): Add LHS argument. Improve support
|
||||||
|
|
|
@ -19075,6 +19075,12 @@ relax_branch (fragS *fragp, asection *sec, int bits, long stretch)
|
||||||
if (S_IS_DEFINED (fragp->fr_symbol)
|
if (S_IS_DEFINED (fragp->fr_symbol)
|
||||||
&& ARM_IS_FUNC (fragp->fr_symbol))
|
&& ARM_IS_FUNC (fragp->fr_symbol))
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
|
/* PR 12532. Global symbols with default visibility might
|
||||||
|
be preempted, so do not relax relocations to them. */
|
||||||
|
if ((ELF_ST_VISIBILITY (S_GET_OTHER (fragp->fr_symbol)) == STV_DEFAULT)
|
||||||
|
&& (! S_IS_LOCAL (fragp->fr_symbol)))
|
||||||
|
return 4;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
val = relaxed_symbol_addr (fragp, stretch);
|
val = relaxed_symbol_addr (fragp, stretch);
|
||||||
|
|
Loading…
Add table
Reference in a new issue