summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Anglin <dave.anglin@nrc.ca>2005-11-20 19:21:06 +0000
committerDave Anglin <dave.anglin@nrc.ca>2005-11-20 19:21:06 +0000
commitdef680fa54fdc949621e39a859d2244c5db75f43 (patch)
treec679fcee10bf9dbda42a49d2d75e861b13eaf0a1
parent0930ba897874e1ab3c2906375ebc7df32b89815c (diff)
downloadbinutils-redhat-def680fa54fdc949621e39a859d2244c5db75f43.tar.gz
* som.c (som_decode_symclass): Decode BSF_WEAK symbols in the same
manner as bfd_decode_symclass.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/som.c23
2 files changed, 26 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 49da6ebb23..57ba88a73c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/som.c b/bfd/som.c
index c1195c9a10..0c9e1b79f9 100644
--- 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 '?';