diff options
author | Alan Modra <amodra@gmail.com> | 2001-05-18 03:11:13 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-05-18 03:11:13 +0000 |
commit | e0522e891a5523de943b6cb060ee5e3901181932 (patch) | |
tree | 0af7183c7ccce8e38cc9506212186e57018acf60 | |
parent | 0f3f88088927ee30213285bb4e07a6d9cc34844f (diff) | |
download | gdb-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.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-hppa.c | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3cccafc..1de7046 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2001-05-17 Alan Modra <amodra@one.net.au> + + * 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. + 2001-05-17 H.J. Lu <hjl@gnu.org> * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the 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; } |