aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-hppa.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-05-18 03:11:13 +0000
committerAlan Modra <amodra@gmail.com>2001-05-18 03:11:13 +0000
commite0522e891a5523de943b6cb060ee5e3901181932 (patch)
tree0af7183c7ccce8e38cc9506212186e57018acf60 /bfd/elf32-hppa.c
parent0f3f88088927ee30213285bb4e07a6d9cc34844f (diff)
downloadgdb-e0522e891a5523de943b6cb060ee5e3901181932.zip
gdb-e0522e891a5523de943b6cb060ee5e3901181932.tar.gz
gdb-e0522e891a5523de943b6cb060ee5e3901181932.tar.bz2
* elf32-hppa.c (clobber_millicode_symbols): Temporarily set
ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change. (hppa_build_one_stub): Add an assert to check plt.offset.
Diffstat (limited to 'bfd/elf32-hppa.c')
-rw-r--r--bfd/elf32-hppa.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
index 0224215..3020df9 100644
--- a/bfd/elf32-hppa.c
+++ b/bfd/elf32-hppa.c
@@ -938,6 +938,7 @@ hppa_build_one_stub (gen_entry, in_arg)
case hppa_stub_import:
case hppa_stub_import_shared:
+ BFD_ASSERT (stub_entry->h->elf.plt.offset < (bfd_vma) -2);
sym_value = (stub_entry->h->elf.plt.offset
+ hplink->splt->output_offset
+ hplink->splt->output_section->vma
@@ -2147,7 +2148,13 @@ clobber_millicode_symbols (h, info)
/* Note! We only want to remove these from the dynamic symbol
table. Therefore we do not set ELF_LINK_FORCED_LOCAL. */
if (h->type == STT_PARISC_MILLI)
- elf32_hppa_hide_symbol (info, h);
+ {
+ unsigned short oldflags = h->elf_link_hash_flags;
+ h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
+ elf32_hppa_hide_symbol (info, h);
+ h->elf_link_hash_flags &= ~ELF_LINK_FORCED_LOCAL;
+ h->elf_link_hash_flags |= oldflags & ELF_LINK_FORCED_LOCAL;
+ }
return true;
}