* config/tc-arm.c (relax_branch): Do not relax branches to
preemptable global symbols.
+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>
* config/tc-arm.c (parse_psr): Add LHS argument. Improve support
if (S_IS_DEFINED (fragp->fr_symbol)
&& ARM_IS_FUNC (fragp->fr_symbol))
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
val = relaxed_symbol_addr (fragp, stretch);