OSDN Git Service

bfd/
authorH.J. Lu <hjl@lucon.org>
Tue, 20 May 2003 14:35:00 +0000 (14:35 +0000)
committerH.J. Lu <hjl@lucon.org>
Tue, 20 May 2003 14:35:00 +0000 (14:35 +0000)
2003-05-20  Jakub Jelinek  <jakub@redhat.com>

* elflink.h (elf_link_output_extsym): Only issue error about !=
STV_DEFAULT symbols if they are bfd_link_hash_undefined.

2003-05-20  H.J. Lu <hongjiu.lu@intel.com>

* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
when removing the old definition for symbols with non-default
visibility.

ld/testsuite/

2003-05-20  Jakub Jelinek  <jakub@redhat.com>

* ld-elfvsb/common.c: New file.
* ld-elfvsb/elfvsb.exp: Add common.

2003-05-20  H.J. Lu <hongjiu.lu@intel.com>

* ld-elfvsb/sh3.c: New file.
* ld-elfvsb/test.c: Likewise.

* ld-elfvsb/elfvsb.exp: Add new weak hidden symbol tests.

bfd/ChangeLog
bfd/elflink.c
bfd/elflink.h

index 646cdd5..87117ef 100644 (file)
@@ -1,3 +1,14 @@
+2003-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * elflink.h (elf_link_output_extsym): Only issue error about !=
+       STV_DEFAULT symbols if they are bfd_link_hash_undefined.
+
+2003-05-20  H.J. Lu <hongjiu.lu@intel.com>
+
+       * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
+       when removing the old definition for symbols with non-default
+       visibility.
+
 2003-05-18  Jason Eckhardt  <jle@rice.edu>
 
        * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
index 3b0d353..cc31186 100644 (file)
@@ -884,7 +884,8 @@ _bfd_elf_merge_symbol (abfd, info, name, sym, psec, pvalue, sym_hash, skip,
       if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)
        {
          h->elf_link_hash_flags &= ~ELF_LINK_HASH_DEF_DYNAMIC;
-         h->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC;
+         h->elf_link_hash_flags |= (ELF_LINK_HASH_REF_DYNAMIC
+                                    | ELF_LINK_DYNAMIC_DEF);
        }
       /* FIXME: Should we check type and size for protected symbol?  */
       h->size = 0;
index ab8c7de..7b32491 100644 (file)
@@ -4622,7 +4622,7 @@ elf_link_output_extsym (h, data)
   if (! finfo->info->relocateable
       && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT
       && ELF_ST_BIND (sym.st_info) != STB_WEAK
-      && h->root.type != bfd_link_hash_undefweak
+      && h->root.type == bfd_link_hash_undefined
       && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
     {
       (*_bfd_error_handler)