aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2000-06-05 20:46:21 +0000
committerH.J. Lu <hjl.tools@gmail.com>2000-06-05 20:46:21 +0000
commit9d6eee7847fb08dc1d559227f6190a14fe7008f0 (patch)
treecc9e0d8f867c3600c2d918db5d3bf8dc518f765f
parent7cda33a15efa285ef24ad6bbcc6c4dfc4d73a0cd (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--bfd/elflink.c17
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;