summaryrefslogtreecommitdiff
path: root/binutils/stabs.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2008-09-30 12:19:51 +0000
committerNick Clifton <nickc@redhat.com>2008-09-30 12:19:51 +0000
commit303dcfb1ceac933ef30c6ce75069a3e00d0ddb84 (patch)
tree53a5f33299de1c7d55fb0cab65ac89d7697b119d /binutils/stabs.c
parent3196c415a0bfdd612e1a5b99639f942e096a7b79 (diff)
downloadbinutils-redhat-303dcfb1ceac933ef30c6ce75069a3e00d0ddb84.tar.gz
PR 6922
* stabs.c (parse_stab_sun_builtin_type): Parse, but ignore SUN's 'b' and 'v' extensions.
Diffstat (limited to 'binutils/stabs.c')
-rw-r--r--binutils/stabs.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/binutils/stabs.c b/binutils/stabs.c
index ea0a61e411..c2c7c3a2f5 100644
--- a/binutils/stabs.c
+++ b/binutils/stabs.c
@@ -1,6 +1,6 @@
/* stabs.c -- Parse stabs debugging information
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2006, 2007 Free Software Foundation, Inc.
+ 2006, 2007, 2008 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>.
This file is part of GNU Binutils.
@@ -1837,11 +1837,13 @@ parse_stab_sun_builtin_type (void *dhandle, const char **pp)
}
++*pp;
- /* For some odd reason, all forms of char put a c here. This is strange
- because no other type has this honor. We can safely ignore this because
- we actually determine 'char'acterness by the number of bits specified in
- the descriptor. */
- if (**pp == 'c')
+ /* OpenSolaris source code indicates that one of "cbv" characters
+ can come next and specify the intrinsic 'iformat' encoding.
+ 'c' is character encoding, 'b' is boolean encoding, and 'v' is
+ varargs encoding. This field can be safely ignored because
+ the type of the field is determined from the bitwidth extracted
+ below. */
+ if (**pp == 'c' || **pp == 'b' || **pp == 'v')
++*pp;
/* The first number appears to be the number of bytes occupied