aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2002-11-20 12:56:01 +0000
committerAlan Modra <amodra@gmail.com>2002-11-20 12:56:01 +0000
commit5045ec7ae462b22b27ce2f5401c3200e0c481822 (patch)
tree7fec779a00f6225b9b879f0892fcb872f2ae64b2 /gas
parent4e87b8328c4d70b7b41de90b608c7181afd8751b (diff)
downloadfsf-binutils-gdb-5045ec7ae462b22b27ce2f5401c3200e0c481822.zip
fsf-binutils-gdb-5045ec7ae462b22b27ce2f5401c3200e0c481822.tar.gz
fsf-binutils-gdb-5045ec7ae462b22b27ce2f5401c3200e0c481822.tar.bz2
* write.c (adjust_reloc_syms): Don't reduce SEC_MERGE fixups with
fx_subsy non-NULL.
Diffstat (limited to 'gas')
-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. */