diff options
author | Nick Clifton <nickc@redhat.com> | 2008-09-30 12:19:51 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2008-09-30 12:19:51 +0000 |
commit | 42b722c134bdc0fa404020194874b63b6741e4aa (patch) | |
tree | 60c6f9bc81de1d11ddaa17d2df9e9e58566b23e2 | |
parent | e144674af8458b72b0f03fc68989b00101773543 (diff) | |
download | gdb-42b722c134bdc0fa404020194874b63b6741e4aa.zip gdb-42b722c134bdc0fa404020194874b63b6741e4aa.tar.gz gdb-42b722c134bdc0fa404020194874b63b6741e4aa.tar.bz2 |
PR 6922
* stabs.c (parse_stab_sun_builtin_type): Parse, but ignore SUN's
'b' and 'v' extensions.
-rw-r--r-- | binutils/ChangeLog | 6 | ||||
-rw-r--r-- | binutils/stabs.c | 14 |
2 files changed, 14 insertions, 6 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index ee71f12..c550f85 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2008-09-30 Andrew Paprocki <andrew@ishiboo.com> + + PR 6922 + * stabs.c (parse_stab_sun_builtin_type): Parse, but ignore SUN's + 'b' and 'v' extensions. + 2008-09-29 Peter O'Gorman <pogma@thewrittenword.com> Steve Ellcey <sje@cup.hp.com> diff --git a/binutils/stabs.c b/binutils/stabs.c index ea0a61e..c2c7c3a 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 |