From: Alan Modra Date: Fri, 29 Sep 2000 13:15:03 +0000 (+0000) Subject: * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=512a2384fe00445101b67b9ac3b24600e01d504e;p=binutils-gdb.git * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1f81b532c2c..b454dc841b0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2000-09-29 NIIBE Yutaka + + * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath. + 2000-09-29 Momchil Velikov * elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if diff --git a/bfd/elflink.h b/bfd/elflink.h index a808673d6ec..80c5b1c8fde 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -1191,19 +1191,11 @@ elf_link_add_object_symbols (abfd, info) char *fnm, *anm; /* When we see DT_RPATH before DT_RUNPATH, we have - to free runpath. */ + to clear runpath. Do _NOT_ bfd_release, as that + frees all more recently bfd_alloc'd blocks as + well. */ if (rpath && elf_hash_table (info)->runpath) - { - struct bfd_link_needed_list *nn; - for (n = elf_hash_table (info)->runpath; - n != NULL; n = nn) - { - nn = n->next; - bfd_release (abfd, n); - } - bfd_release (abfd, elf_hash_table (info)->runpath); - elf_hash_table (info)->runpath = NULL; - } + elf_hash_table (info)->runpath = NULL; n = ((struct bfd_link_needed_list *) bfd_alloc (abfd, sizeof (struct bfd_link_needed_list)));