summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2000-06-05 20:46:21 +0000
committerH.J. Lu <hjl@lucon.org>2000-06-05 20:46:21 +0000
commit82a9579c066928ea651d26bacd53a90be20ba1b2 (patch)
treeca52783280b835b76b04018a7d5d181a800a39a9
parent3033388a40a14d67ae63ff3b720d27d72044577e (diff)
downloadbinutils-redhat-gdb-premipsmulti-2000-06-06-branch.tar.gz
* 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 4d07a187df..ddced79196 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 c593e496f9..8039b4fe35 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;