aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2000-05-10 23:12:35 +0000
committerH.J. Lu <hjl.tools@gmail.com>2000-05-10 23:12:35 +0000
commitcd4c806ac95a85d8ee0271d7db797504cc656ec0 (patch)
tree0b57f6394bd61d17d6a92f86fc93dfb052fa122f
parent5af923b0f0e349765b08f4a92adc1030ce67ff2e (diff)
downloadfsf-binutils-gdb-cd4c806ac95a85d8ee0271d7db797504cc656ec0.zip
fsf-binutils-gdb-cd4c806ac95a85d8ee0271d7db797504cc656ec0.tar.gz
fsf-binutils-gdb-cd4c806ac95a85d8ee0271d7db797504cc656ec0.tar.bz2
2000-05-10 H.J. Lu <hjl@gnu.org>
* ldlang.c (open_input_bfds): Don't load the same file within a group again if the whole archive has been loaded already.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldlang.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 9ada466..474658c 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2000-05-10 H.J. Lu <hjl@gnu.org>
+
+ * ldlang.c (open_input_bfds): Don't load the same file within
+ a group again if the whole archive has been loaded already.
+
2000-05-03 Alan Modra <alan@linuxcare.com.au>
From Ulf Carlsson <ulfc@engr.sgi.com> and Andreas Jaeger <aj@suse.de>
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 8f0c607..d43140f 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1864,8 +1864,10 @@ open_input_bfds (s, force)
/* If we are being called from within a group, and this
is an archive which has already been searched, then
- force it to be researched. */
+ force it to be researched unless the whole archive
+ has been loaded already. */
if (force
+ && !s->input_statement.whole_archive
&& s->input_statement.loaded
&& bfd_check_format (s->input_statement.the_bfd,
bfd_archive))