Revert previous patch.

This commit is contained in:
Nick Clifton
1999-12-10 18:51:35 +00:00
parent 2f5288870a
commit 77fb9c28ac
19 changed files with 35 additions and 76 deletions

View File

@@ -200,26 +200,7 @@ elf_link_add_archive_symbols (abfd, info)
if (h == NULL)
continue;
/* We have changed the GNU archiver so that it will only place
non-common symbols into its archive map. Thus if we come across
a symbol in the archive map, which is currently considered to be
a common symbol, we can safely assume that we should link the
element in, in order to get in the definition of the symbol.
Previous versions of the archiver would place common symbols into
the archive map. This meant that in order to only link in an
element if it contained a *definition* of a common symbol, it
would be necessary to read in the element and scan its symbol
table - a slow and wasteful process.
In fact previous versions of this code did not even do that,
instead it just unilaterally ignored any symbols in the archive
map which were currently marked as common. So in order to link
in an archive element containing the definition of a common
symbol it was necessary to have that element also contain the
defintion of a currently undefined symbol. */
if (h->root.type != bfd_link_hash_undefined
&& h->root.type != bfd_link_hash_common)
if (h->root.type != bfd_link_hash_undefined)
{
if (h->root.type != bfd_link_hash_undefweak)
defined[i] = true;