* ldlang.c (walk_wild_section): Exclude object file if enclosing

archive is excluded.
This commit is contained in:
Alexandre Oliva 2002-01-08 14:56:09 +00:00
parent c25b74acfa
commit 34efb44947
2 changed files with 21 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2002-01-08 Alexandre Oliva <aoliva@redhat.com>
* ldlang.c (walk_wild_section): Exclude object file if enclosing
archive is excluded.
2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
* Makefile.am (ALL_EMULATIONS): Add eshelf_nbsd.o and eshlelf_nbsd.o.

View File

@ -1,6 +1,6 @@
/* Linker command language support.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001
2001, 2002
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@ -270,6 +270,21 @@ walk_wild_section (ptr, file, callback, data)
else
skip = strcmp (list_tmp->name, file->filename) == 0;
/* If this file is part of an archive, and the archive is
excluded, exclude this file. */
if (! skip && file->the_bfd != NULL
&& file->the_bfd->my_archive != NULL
&& file->the_bfd->my_archive->filename != NULL)
{
if (wildcardp (list_tmp->name))
skip = fnmatch (list_tmp->name,
file->the_bfd->my_archive->filename,
0) == 0;
else
skip = strcmp (list_tmp->name,
file->the_bfd->my_archive->filename) == 0;
}
if (skip)
break;
}