aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)