diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2000-06-05 20:46:21 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2000-06-05 20:46:21 +0000 |
commit | 9d6eee7847fb08dc1d559227f6190a14fe7008f0 (patch) | |
tree | cc9e0d8f867c3600c2d918db5d3bf8dc518f765f | |
parent | 7cda33a15efa285ef24ad6bbcc6c4dfc4d73a0cd (diff) | |
download | gdb-9d6eee7847fb08dc1d559227f6190a14fe7008f0.zip gdb-9d6eee7847fb08dc1d559227f6190a14fe7008f0.tar.gz gdb-9d6eee7847fb08dc1d559227f6190a14fe7008f0.tar.bz2 |
2000-06-05 H.J. Lu <hjl@gnu.org>
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
an error when seeing an undefined symbol with hidden/internal
attribute. It is handled in *_relocate_section ().
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elflink.c | 17 |
2 files changed, 8 insertions, 15 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4d07a18..ddced79 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,11 @@ 2000-06-05 H.J. Lu <hjl@gnu.org> + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag + an error when seeing an undefined symbol with hidden/internal + attribute. It is handled in *_relocate_section (). + +2000-06-05 H.J. Lu <hjl@gnu.org> + * elflink.h (elf_fix_symbol_flags): Follow the link for the indirect symbol for the ELF_LINK_NON_ELF bit. (elf_link_output_extsym): Don't output the indirect symbol even diff --git a/bfd/elflink.c b/bfd/elflink.c index c593e49..8039b4f 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -226,21 +226,8 @@ _bfd_elf_link_record_dynamic_symbol (info, h) { case STV_INTERNAL: case STV_HIDDEN: - /* This symbol must be defined in the shared object or - executable. */ - if (h->root.type == bfd_link_hash_undefined) - { - bfd * abfd = h->root.u.undef.abfd; - const char * name = h->root.root.string; - - (*info->callbacks->undefined_symbol) - (info, name, abfd, bfd_und_section_ptr, 0, true); - - /* We have flaged a fatal error. We now treat this as - a normal symbol to avoid further error messages. */ - h->other ^= ELF_ST_VISIBILITY (h->other); - } - else if (h->root.type != bfd_link_hash_undefweak) + if (h->root.type != bfd_link_hash_undefined + && h->root.type != bfd_link_hash_undefweak) { h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; return true; |