aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1999-06-22 21:13:24 +0000
committerIan Lance Taylor <ian@airs.com>1999-06-22 21:13:24 +0000
commit7b9eea348fbba7b2fb103bf63e9e34973c1cddff (patch)
tree0dfb820909e32bfc382de756a8ae3832e5ee2520 /ld
parent464e1740d2e1a1907ee35b2c47e205ed8f2e5583 (diff)
downloadfsf-binutils-gdb-7b9eea348fbba7b2fb103bf63e9e34973c1cddff.zip
fsf-binutils-gdb-7b9eea348fbba7b2fb103bf63e9e34973c1cddff.tar.gz
fsf-binutils-gdb-7b9eea348fbba7b2fb103bf63e9e34973c1cddff.tar.bz2
* ldlang.c (section_already_linked): Only discard link once
sections if we are building constructors.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldlang.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 70572de..0c2bf7b 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+1999-06-23 Ian Lance Taylor <ian@zembu.com>
+
+ * ldlang.c (section_already_linked): Only discard link once
+ sections if we are building constructors.
+
1999-06-22 Nick Clifton <nickc@cygnus.com>
* ld.texinfo (Location Counter): Describe behaviour of
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 862e4e2..d4c431c 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -890,6 +890,11 @@ section_already_linked (abfd, sec, data)
return;
}
+ /* If we aren't building constructors, don't discard link once
+ sections. Otherwise we can get confused when generating relocs. */
+ if (! config.build_constructors)
+ return;
+
flags = bfd_get_section_flags (abfd, sec);
if ((flags & SEC_LINK_ONCE) == 0)