diff --git a/coregrind/vg_stabs.c b/coregrind/vg_stabs.c index 05303aef3..d9e4b13d6 100644 --- a/coregrind/vg_stabs.c +++ b/coregrind/vg_stabs.c @@ -675,6 +675,12 @@ static SymType *stabtype_parser(SegInfo *si, SymType *def, Char **pp) type = NULL; break; } + /* Different versions of gcc seem to disagree about whether a + negative type is followed by a semicolon or not, and the stabs + spec (susch as it is) is not clear either so we will skip a + semicolon if there is one. */ + if (*p == ';') + p++; break; }