diff options
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gas/write.c b/gas/write.c index 5397aa0..55db85a 100644 --- a/gas/write.c +++ b/gas/write.c @@ -873,6 +873,14 @@ adjust_reloc_syms (abfd, sec, xxx) symbol_mark_used_in_reloc (fixp->fx_addsy); goto done; } + + /* Never adjust a reloc against local symbol in a merge section + with non-zero addend. */ + if ((symsec->flags & SEC_MERGE) && fixp->fx_offset) + { + symbol_mark_used_in_reloc (fixp->fx_addsy); + goto done; + } #endif /* Is there some other reason we can't adjust this one? (E.g., |