summaryrefslogtreecommitdiff
path: root/ld/ldlang.c
diff options
context:
space:
mode:
Diffstat (limited to 'ld/ldlang.c')
-rw-r--r--ld/ldlang.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 8f0c607b7a1..d43140f06b2 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))