aboutsummaryrefslogtreecommitdiff
path: root/bfd/som.c
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
commitf29ba312286c54e1b013a5adf42c58fd4642bf56 (patch)
tree14573a0f3242848ba4cd3b62d6cf6d64751217ee /bfd/som.c
parent8b9b39f44acae15c55a487460d779a7068c27bb4 (diff)
downloadgdb-f29ba312286c54e1b013a5adf42c58fd4642bf56.zip
gdb-f29ba312286c54e1b013a5adf42c58fd4642bf56.tar.gz
gdb-f29ba312286c54e1b013a5adf42c58fd4642bf56.tar.bz2
* som.c (som_decode_symclass): Decode BSF_WEAK symbols in the same
manner as bfd_decode_symclass.
Diffstat (limited to 'bfd/som.c')
-rw-r--r--bfd/som.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/bfd/som.c b/bfd/som.c
index c1195c9..0c9e1b7 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 '?';