summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils-2.17/bfd/elflink.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/binutils-2.17/bfd/elflink.c')
-rw-r--r--gnu/usr.bin/binutils-2.17/bfd/elflink.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gnu/usr.bin/binutils-2.17/bfd/elflink.c b/gnu/usr.bin/binutils-2.17/bfd/elflink.c
index f1a67caeeaa..d6fe664949f 100644
--- a/gnu/usr.bin/binutils-2.17/bfd/elflink.c
+++ b/gnu/usr.bin/binutils-2.17/bfd/elflink.c
@@ -8619,8 +8619,13 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
if (!info->reduce_memory_overheads)
{
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
- if (elf_tdata (sub)->symbuf)
- free (elf_tdata (sub)->symbuf);
+ {
+ if (bfd_get_flavour (sub) == bfd_target_elf_flavour)
+ {
+ free (elf_tdata (sub)->symbuf);
+ elf_tdata (sub)->symbuf = NULL;
+ }
+ }
}
/* Output any global symbols that got converted to local in a