diff options
author | 2013-03-27 20:21:18 +0000 | |
---|---|---|
committer | 2013-03-27 20:21:18 +0000 | |
commit | d84485d6308a38b1dda38c38733c0932f9fe5aad (patch) | |
tree | 6691b2b58a095af87325c9bc686ba4471df859ae | |
parent | fix wrapped line that snuck in an extra \n in a question. (diff) | |
download | wireguard-openbsd-d84485d6308a38b1dda38c38733c0932f9fe5aad.tar.xz wireguard-openbsd-d84485d6308a38b1dda38c38733c0932f9fe5aad.zip |
Revert the --as-needed logic to match the 2.15 logic. It is now aggressively
trying to avoid symbols needed by inter-library dependencies, assuming that
libraries are built with inter-library dependency information. Such is not
the case under OpenBSD and there are currently no plans to change this.
-rw-r--r-- | gnu/usr.bin/binutils-2.17/bfd/elflink.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gnu/usr.bin/binutils-2.17/bfd/elflink.c b/gnu/usr.bin/binutils-2.17/bfd/elflink.c index 9645bdb32ed..96790f0a90d 100644 --- a/gnu/usr.bin/binutils-2.17/bfd/elflink.c +++ b/gnu/usr.bin/binutils-2.17/bfd/elflink.c @@ -3079,8 +3079,11 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) bfd_boolean add_needed; struct elf_link_hash_table *htab; bfd_size_type amt; +#if 0 void *alloc_mark = NULL; +#endif void *old_tab = NULL; +#if 0 void *old_hash; void *old_ent; struct bfd_link_hash_entry *old_undefs = NULL; @@ -3088,6 +3091,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) long old_dynsymcount = 0; size_t tabsize = 0; size_t hashsize = 0; +#endif htab = elf_hash_table (info); bed = get_elf_backend_data (abfd); @@ -3462,6 +3466,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) } } +#if 0 /* If we are loading an as-needed shared lib, save the symbol table state before we start adding symbols. If the lib turns out to be unneeded, restore the state. */ @@ -3524,6 +3529,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) } } } +#endif weaks = NULL; ever = extversym != NULL ? extversym + extsymoff : NULL; @@ -4133,6 +4139,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) isymbuf = NULL; } +#if 0 if ((elf_dyn_lib_class (abfd) & DYN_AS_NEEDED) != 0) { unsigned int i; @@ -4176,6 +4183,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) free (nondeflt_vers); return TRUE; } +#endif if (old_tab != NULL) { |