another stab at stabs parsing
Eric Pouech
pouech-eric at wanadoo.fr
Tue Apr 1 14:00:17 CST 2003
Thunderbird reported some unsupported stabs bits while loading latest
glibc 2.3
this patch should take care of it
A+
--
Eric Pouech
-------------- next part --------------
Name: wd_stabs
ChangeLog: Added support for R types in stabs parsing
License: X11
GenDate: 2003/04/01 19:58:40 UTC
ModifiedFiles: programs/winedbg/stabs.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/programs/winedbg/stabs.c,v
retrieving revision 1.5
diff -u -u -r1.5 stabs.c
--- programs/winedbg/stabs.c 19 Feb 2003 03:41:25 -0000 1.5
+++ programs/winedbg/stabs.c 31 Mar 2003 19:53:40 -0000
@@ -752,6 +752,31 @@
}
}
break;
+ case 'R':
+ {
+ enum debug_type_basic basic = DT_BASIC_LAST;
+ int type, len, unk;
+
+ PTS_ABORTIF(ptd, DEBUG_PTS_ReadNum(ptd, &type) == -1);
+ PTS_ABORTIF(ptd, *ptd->ptr++ != ';'); /* ';' */
+ PTS_ABORTIF(ptd, DEBUG_PTS_ReadNum(ptd, &len) == -1);
+ PTS_ABORTIF(ptd, *ptd->ptr++ != ';'); /* ';' */
+ PTS_ABORTIF(ptd, DEBUG_PTS_ReadNum(ptd, &unk) == -1);
+ PTS_ABORTIF(ptd, *ptd->ptr++ != ';'); /* ';' */
+
+ switch (type)
+ {
+ case 1: basic = DT_BASIC_FLOAT; break;
+ case 2: basic = DT_BASIC_DOUBLE; break;
+ case 3: basic = DT_BASIC_CMPLX_FLOAT; break;
+ case 4: basic = DT_BASIC_CMPLX_DOUBLE; break;
+ case 5: basic = DT_BASIC_CMPLX_LONGDOUBLE; break;
+ case 6: basic = DT_BASIC_LONGDOUBLE; break;
+ default: PTS_ABORTIF(ptd, 1);
+ }
+ PTS_ABORTIF(ptd, !(new_dt = DEBUG_GetBasicType(basic)));
+ }
+ break;
default:
DEBUG_Printf(DBG_CHN_MESG, "Unknown type '%c'\n", ptd->ptr[-1]);
return -1;
More information about the wine-patches
mailing list