diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/write.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index fa25e60..6dab2b4 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2002-11-20 Alan Modra <amodra@bigpond.net.au> + + * write.c (adjust_reloc_syms): Don't reduce SEC_MERGE fixups with + fx_subsy non-NULL. + 2002-11-19 Richard Henderson <rth@redhat.com> * config/obj-elf.c (obj_elf_visibility): Overwrite only the diff --git a/gas/write.c b/gas/write.c index 73eb793..b1c27d7 100644 --- a/gas/write.c +++ b/gas/write.c @@ -868,7 +868,8 @@ adjust_reloc_syms (abfd, sec, xxx) /* Never adjust a reloc against local symbol in a merge section with non-zero addend. */ - if ((symsec->flags & SEC_MERGE) != 0 && fixp->fx_offset != 0) + if ((symsec->flags & SEC_MERGE) != 0 + && (fixp->fx_offset != 0 || fixp->fx_subsy != NULL)) continue; /* Never adjust a reloc against TLS local symbol. */ |