From: Alan Modra Date: Fri, 7 Dec 2001 02:00:57 +0000 (+0000) Subject: * elf32-hppa.c (clobber_millicode_symbols): Don't do anything if X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=142f8c94be1b40ef16d6c56b0c0a7416e9dac07b;p=binutils-gdb.git * elf32-hppa.c (clobber_millicode_symbols): Don't do anything if already forced local. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6d4a5bb5656..0086e7bdd97 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2001-12-07 Alan Modra + + * elf32-hppa.c (clobber_millicode_symbols): Don't do anything if + already forced local. + 2001-12-05 Nick Clifton * elf32-arm.h (elf32_arm_merge_private_bfd_data): Combine diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 45cc479dcfe..0aaf346b36a 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -2209,19 +2209,19 @@ clobber_millicode_symbols (h, info) struct elf_link_hash_entry *h; struct bfd_link_info *info; { - /* We only want to remove these from the dynamic symbol table. - Therefore we do not leave ELF_LINK_FORCED_LOCAL set. */ - if (h->type == STT_PARISC_MILLI) + if (h->type == STT_PARISC_MILLI + && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) { struct elf32_hppa_link_hash_table *htab; - unsigned short oldflags = h->elf_link_hash_flags; h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; elf32_hppa_hide_symbol (info, h); htab = hppa_link_hash_table (info); _bfd_elf_strtab_delref (htab->elf.dynstr, h->dynstr_index); + + /* ?!? We only want to remove these from the dynamic symbol table. + Therefore we do not leave ELF_LINK_FORCED_LOCAL set. */ h->elf_link_hash_flags &= ~ELF_LINK_FORCED_LOCAL; - h->elf_link_hash_flags |= oldflags & ELF_LINK_FORCED_LOCAL; } return true; }