aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-12-23 09:57:38 +0000
committerJakub Jelinek <jakub@redhat.com>2006-12-23 09:57:38 +0000
commit97fed1c92ead4c79dd3de20c4888f28f3049ef56 (patch)
tree36012cc9a714bfb63a734327cbc4be512d5dd978 /bfd/elflink.c
parent9f996475689885295c2be6aa484dc14f753cc3ec (diff)
downloadgdb-97fed1c92ead4c79dd3de20c4888f28f3049ef56.zip
gdb-97fed1c92ead4c79dd3de20c4888f28f3049ef56.tar.gz
gdb-97fed1c92ead4c79dd3de20c4888f28f3049ef56.tar.bz2
* elf-bfd.h (struct elf_backend_data): Add as_needed_cleanup hook.
* elfxx-target.h (elf_backend_as_needed_cleanup): Define. (elfNN_bed): Add as_needed_cleanup hook. * elflink.c (elf_link_add_object_symbols): Call it when reverting hash table changes for unneeded --as-needed input. * elf64-ppc64.c (elf_backend_as_needed_cleanup): Define. (ppc64_elf_as_needed_cleanup): New function.
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r--bfd/elflink.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c
index e7cc062..6af091b 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -4251,6 +4251,8 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
unsigned int i;
/* Restore the symbol table. */
+ if (bed->as_needed_cleanup)
+ (*bed->as_needed_cleanup) (abfd, info);
old_hash = (char *) old_tab + tabsize;
old_ent = (char *) old_hash + hashsize;
sym_hash = elf_sym_hashes (abfd);