+2010-12-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_link_add_archive_symbols): Remove subsbfd.
+
2010-12-12 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (special_sections_g): Add ".gnu.lto_".
{
struct elf_link_hash_entry *h;
bfd *element;
- bfd *subsbfd = NULL;
struct bfd_link_hash_entry *undefs_tail;
symindex mark;
undefs_tail = info->hash->undefs_tail;
if (! (*info->callbacks->add_archive_element)
- (info, element, symdef->name, &subsbfd))
+ (info, element, symdef->name, &element))
goto error_return;
- /* Potentially, the add_archive_element hook may have set a
- substitute BFD for us. */
- if (! bfd_link_add_symbols (subsbfd ? subsbfd : element, info))
+ if (! bfd_link_add_symbols (element, info))
goto error_return;
/* If there are any new undefined symbols, we need to make
+2010-12-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ldlang.c (load_symbols): Optimize for add_archive_element.
+
2010-12-09 Mike Frysinger <vapier@gentoo.org>
* .gitignore: New file.
loaded = FALSE;
}
- subsbfd = NULL;
+ subsbfd = member;
if (! ((*link_info.callbacks->add_archive_element)
(&link_info, member, "--whole-archive", &subsbfd)))
abort ();
/* Potentially, the add_archive_element hook may have set a
substitute BFD for us. */
- if (! bfd_link_add_symbols (subsbfd ? subsbfd : member,
- &link_info))
+ if (! bfd_link_add_symbols (member, &link_info))
{
einfo (_("%F%B: could not read symbols: %E\n"), member);
loaded = FALSE;