From: Tom Hughes Date: Mon, 23 Aug 2004 22:29:31 +0000 (+0000) Subject: Added code to decode a number of additional negative type numbers X-Git-Tag: svn/VALGRIND_2_2_0~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa8a87d6c06a6dbcb344c5fadbee68e7538a6295;p=thirdparty%2Fvalgrind.git Added code to decode a number of additional negative type numbers in STABS debug information based on the stabs specification at: http://sources.redhat.com/cygwin/stabs.html CCMAIL: 85811-done@bugs.kde.org git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2609 --- diff --git a/coregrind/vg_stabs.c b/coregrind/vg_stabs.c index d0425ec867..481f631e58 100644 --- a/coregrind/vg_stabs.c +++ b/coregrind/vg_stabs.c @@ -640,14 +640,41 @@ static SymType *stabtype_parser(SegInfo *si, SymType *def, Char **pp) p--; n = atoi(&p, 0); switch(n) { - case -16: type = VG_(st_mkbool)(def, sizeof(int)); break; + case -1: type = VG_(st_mkint)(def, 4, True); break; + case -2: type = VG_(st_mkint)(def, 1, True); break; + case -3: type = VG_(st_mkint)(def, 2, True); break; + case -4: type = VG_(st_mkint)(def, 4, True); break; + case -5: type = VG_(st_mkint)(def, 1, False); break; + case -6: type = VG_(st_mkint)(def, 1, True); break; + case -7: type = VG_(st_mkint)(def, 2, False); break; + case -8: type = VG_(st_mkint)(def, 4, False); break; + case -9: type = VG_(st_mkint)(def, 4, False); break; + case -10: type = VG_(st_mkint)(def, 4, False); break; + case -11: type = VG_(st_mkvoid)(def); break; + case -12: type = VG_(st_mkfloat)(def, 32); break; + case -13: type = VG_(st_mkfloat)(def, 64); break; + case -15: type = VG_(st_mkint)(def, 4, True); break; + case -16: type = VG_(st_mkbool)(def, 4); break; + case -17: type = VG_(st_mkfloat)(def, 32); break; + case -18: type = VG_(st_mkfloat)(def, 64); break; + case -20: type = VG_(st_mkint)(def, 1, False); break; + case -21: type = VG_(st_mkint)(def, 1, False); break; + case -22: type = VG_(st_mkint)(def, 2, False); break; + case -23: type = VG_(st_mkint)(def, 4, False); break; + case -24: type = VG_(st_mkint)(def, 4, False); break; + case -27: type = VG_(st_mkint)(def, 1, True); break; + case -28: type = VG_(st_mkint)(def, 2, True); break; + case -29: type = VG_(st_mkint)(def, 4, True); break; + case -31: type = VG_(st_mkint)(def, 8, True); break; + case -32: type = VG_(st_mkint)(def, 8, False); break; + case -33: type = VG_(st_mkint)(def, 8, False); break; + case -34: type = VG_(st_mkint)(def, 8, True); break; default: VG_(printf)(" @@ unrecognized negative type %d\n", n); type = NULL; break; } - EXPECT(';', "negative builtin type"); break; }