aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1999-06-12 22:15:51 +0000
committerIan Lance Taylor <ian@airs.com>1999-06-12 22:15:51 +0000
commit7565ed77a1413dd7893b1ce127a576b6a2c99ced (patch)
tree4a3a7de83e90d31c3fc3d0d0533289d36c84a77b
parentaa8804e46ee31cc1d2e00f57467c8e5a4a84a273 (diff)
downloadgdb-7565ed77a1413dd7893b1ce127a576b6a2c99ced.zip
gdb-7565ed77a1413dd7893b1ce127a576b6a2c99ced.tar.gz
gdb-7565ed77a1413dd7893b1ce127a576b6a2c99ced.tar.bz2
* write.c (adjust_reloc_syms): Rather than never reducing reloc
which refer to symbols in linkonce sections, permit reducing the relocs if the symbol is local.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/write.c10
2 files changed, 11 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 865284a..8570281 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+1999-06-13 Ian Lance Taylor <ian@zembu.com>
+
+ * write.c (adjust_reloc_syms): Rather than never reducing reloc
+ which refer to symbols in linkonce sections, permit reducing the
+ relocs if the symbol is local.
+
1999-06-12 Ian Lance Taylor <ian@zembu.com>
* subsegs.c (subseg_text_p): New function.
diff --git a/gas/write.c b/gas/write.c
index 3a49234..d0a9ac6 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -780,11 +780,11 @@ adjust_reloc_syms (abfd, sec, xxx)
goto done;
}
- /* Don't try to reduce relocs which refer to .linkonce
- sections. It can lead to confusion when a debugging
- section refers to a .linkonce section. I hope this will
- always be correct. */
- if (symsec != sec)
+ /* Don't try to reduce relocs which refer to non-local symbols
+ in .linkonce sections. It can lead to confusion when a
+ debugging section refers to a .linkonce section. I hope
+ this will always be correct. */
+ if (symsec != sec && ! S_IS_LOCAL (sym))
{
boolean linkonce;