aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/write.c3
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. */