]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* elf64-ppc.c (add_symbol_adjust): Set sym visibility to most
authorAlan Modra <amodra@gmail.com>
Fri, 3 Jun 2005 01:52:29 +0000 (01:52 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 3 Jun 2005 01:52:29 +0000 (01:52 +0000)
restrictive of func code and func descr for undefined syms as well
as defined.

bfd/ChangeLog
bfd/elf64-ppc.c

index 718b8bf831c71c788a209daac42e188c3bd5da96..bd81db1f8a58a7ab08085b1dcf3064485abde12d 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (add_symbol_adjust): Set sym visibility to most
+       restrictive of func code and func descr for undefined syms as well
+       as defined.
+
 2005-05-29  Daniel Jacobowitz  <dan@codesourcery.com>
 
        Backport from mainline:
index 69afd3a65f73ec4cda8154662818fa537affdeee..70219b5436abc1e0338fb0ecd8b6b5a2ebe535c8 100644 (file)
@@ -4111,9 +4111,7 @@ add_symbol_adjust (struct elf_link_hash_entry *h, void *inf)
       else
        fdh->elf.ref_regular = 1;
     }
-  else if (fdh != NULL
-          && (fdh->elf.root.type == bfd_link_hash_defined
-              || fdh->elf.root.type == bfd_link_hash_defweak))
+  else if (fdh != NULL)
     {
       unsigned entry_vis = ELF_ST_VISIBILITY (eh->elf.other) - 1;
       unsigned descr_vis = ELF_ST_VISIBILITY (fdh->elf.other) - 1;
@@ -4122,7 +4120,9 @@ add_symbol_adjust (struct elf_link_hash_entry *h, void *inf)
       else if (entry_vis > descr_vis)
        eh->elf.other += descr_vis - entry_vis;
 
-      if (eh->elf.root.type == bfd_link_hash_undefined)
+      if ((fdh->elf.root.type == bfd_link_hash_defined
+          || fdh->elf.root.type == bfd_link_hash_defweak)
+         && eh->elf.root.type == bfd_link_hash_undefined)
        {
          eh->elf.root.type = bfd_link_hash_undefweak;
          eh->was_undefined = 1;