aboutsummaryrefslogtreecommitdiff
path: root/gas/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/write.c')
-rw-r--r--gas/write.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gas/write.c b/gas/write.c
index a148b24..b50b0d4 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -992,7 +992,9 @@ fixup_segment (fixS *fixP, segT this_segment)
if (fixP->fx_addsy)
{
- if (add_symbol_segment == this_segment
+ if (S_IS_WEAK (fixP->fx_addsy))
+ ; // even if it is defined, it might be overridden later
+ else if (add_symbol_segment == this_segment
&& !TC_FORCE_RELOCATION_LOCAL (fixP))
{
/* This fixup was made when the symbol's segment was