aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-12-07 02:00:57 +0000
committerAlan Modra <amodra@gmail.com>2001-12-07 02:00:57 +0000
commit142f8c94be1b40ef16d6c56b0c0a7416e9dac07b (patch)
tree79bee6f61d090febb5abce49c71421e0c0bfae7c /bfd
parent8d3adc59f5696f05800d0ded60c235c9185ff69d (diff)
downloadgdb-142f8c94be1b40ef16d6c56b0c0a7416e9dac07b.zip
gdb-142f8c94be1b40ef16d6c56b0c0a7416e9dac07b.tar.gz
gdb-142f8c94be1b40ef16d6c56b0c0a7416e9dac07b.tar.bz2
* elf32-hppa.c (clobber_millicode_symbols): Don't do anything if
already forced local.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-hppa.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6d4a5bb..0086e7b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2001-12-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (clobber_millicode_symbols): Don't do anything if
+ already forced local.
+
2001-12-05 Nick Clifton <nickc@cambridge.redhat.com>
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Combine
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
index 45cc479..0aaf346 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;
}