* som.c (som_decode_symclass): Decode BSF_WEAK symbols in the same
authorDave Anglin <dave.anglin@nrc.ca>
Sun, 20 Nov 2005 19:21:06 +0000 (19:21 +0000)
committerDave Anglin <dave.anglin@nrc.ca>
Sun, 20 Nov 2005 19:21:06 +0000 (19:21 +0000)
manner as bfd_decode_symclass.

bfd/ChangeLog
bfd/som.c

index 49da6ebb239556215447c9a760ab33933343df73..57ba88a73ce311693e52c90f7597c9f787a1c0c7 100644 (file)
@@ -1,3 +1,8 @@
+2005-11-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * som.c (som_decode_symclass): Decode BSF_WEAK symbols in the same
+       manner as bfd_decode_symclass.
+
 2005-11-18  Alan Modra  <amodra@bigpond.net.au>
 
        * elf64-ppc.c (ppc64_elf_check_relocs): Don't set has_14bit_branch
index c1195c9a10ad9e53c7372405ae650e096b562710..0c9e1b79f9c75108811e500eb7352c2f72d86203 100644 (file)
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -5355,11 +5355,30 @@ som_decode_symclass (asymbol *symbol)
   if (bfd_is_com_section (symbol->section))
     return 'C';
   if (bfd_is_und_section (symbol->section))
-    return 'U';
+    {
+      if (symbol->flags & BSF_WEAK)
+       {
+         /* If weak, determine if it's specifically an object
+            or non-object weak.  */
+         if (symbol->flags & BSF_OBJECT)
+           return 'v';
+         else
+           return 'w';
+       }
+      else
+        return 'U';
+    }
   if (bfd_is_ind_section (symbol->section))
     return 'I';
   if (symbol->flags & BSF_WEAK)
-    return 'W';
+    {
+      /* If weak, determine if it's specifically an object
+        or non-object weak.  */
+      if (symbol->flags & BSF_OBJECT)
+       return 'V';
+      else
+       return 'W';
+    }
   if (!(symbol->flags & (BSF_GLOBAL | BSF_LOCAL)))
     return '?';