mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
* ldlang.c (wild): Handle foo.a(.text) by mapping each included
member of foo.a separately. From Jouke Numan <jnuman@bazis.nl>.
This commit is contained in:
parent
cb84f0284f
commit
3d0c8fa1d4
@ -1,3 +1,8 @@
|
||||
Mon Mar 4 14:11:17 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* ldlang.c (wild): Handle foo.a(.text) by mapping each included
|
||||
member of foo.a separately. From Jouke Numan <jnuman@bazis.nl>.
|
||||
|
||||
Fri Mar 1 10:24:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
|
||||
|
29
ld/ldlang.c
29
ld/ldlang.c
@ -881,7 +881,34 @@ wild (s, section, file, target, output)
|
||||
else
|
||||
{
|
||||
/* Perform the iteration over a single file */
|
||||
wild_section (s, section, lookup_name (file), output);
|
||||
f = lookup_name (file);
|
||||
if (f->the_bfd == NULL
|
||||
|| ! bfd_check_format (f->the_bfd, bfd_archive))
|
||||
wild_section (s, section, f, output);
|
||||
else
|
||||
{
|
||||
bfd *member;
|
||||
|
||||
/* This is an archive file. We must map each member of the
|
||||
archive separately. */
|
||||
member = bfd_openr_next_archived_file (f->the_bfd, (bfd *) NULL);
|
||||
while (member != NULL)
|
||||
{
|
||||
/* When lookup_name is called, it will call the
|
||||
add_symbols entry point for the archive. For each
|
||||
element of the archive which is included, BFD will
|
||||
call ldlang_add_file, which will set the usrdata
|
||||
field of the member to the lang_input_statement. */
|
||||
if (member->usrdata != NULL)
|
||||
{
|
||||
wild_section (s, section,
|
||||
(lang_input_statement_type *) member->usrdata,
|
||||
output);
|
||||
}
|
||||
|
||||
member = bfd_openr_next_archived_file (f->the_bfd, member);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (section != (char *) NULL
|
||||
&& strcmp (section, "COMMON") == 0
|
||||
|
Loading…
Reference in New Issue
Block a user