From 42b722c134bdc0fa404020194874b63b6741e4aa Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 30 Sep 2008 12:19:51 +0000 Subject: [PATCH] PR 6922 * stabs.c (parse_stab_sun_builtin_type): Parse, but ignore SUN's 'b' and 'v' extensions. --- binutils/ChangeLog | 6 ++++++ 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 + + PR 6922 + * stabs.c (parse_stab_sun_builtin_type): Parse, but ignore SUN's + 'b' and 'v' extensions. + 2008-09-29 Peter O'Gorman Steve Ellcey 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 . 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 -- 2.7.4