<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<font face="Helvetica, Arial, sans-serif"><br>
This is strange and I don't know if I should report it as a bug<br>
<br>
If I walk the Mach-O class symbols in the executable (skipping
indirect symbols) and get the VMT pointer with dlsym, then I do
get a valid vTypeInfo pointer from the VMT pointer, except for
these symbols<br>
<br>
vTypeInfo = -16, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERBASE, </font><font
face="Helvetica, Arial, sans-serif">vInstanceSize</font><font
face="Helvetica, Arial, sans-serif"> = 8, </font><font
face="Helvetica, Arial, sans-serif">vInstanceSize2</font><font
face="Helvetica, Arial, sans-serif"> = -8<br>
vTypeInfo = -24, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERFREEMEM, </font><font
face="Helvetica, Arial, sans-serif">vInstanceSize</font><font
face="Helvetica, Arial, sans-serif"> = 16, </font><font
face="Helvetica, Arial, sans-serif">vInstanceSize2</font><font
face="Helvetica, Arial, sans-serif"> = -16<br>
vTypeInfo = 7811903956714416498, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERMOVETOSBANDFREE, </font><font
face="Helvetica, Arial, sans-serif">vInstanceSize</font><font
face="Helvetica, Arial, sans-serif"> = 32, </font><font
face="Helvetica, Arial, sans-serif">vInstanceSize2</font><font
face="Helvetica, Arial, sans-serif"> = -32<br>
<br>
The VMT pointer as such seems to be correct, because vInstanceSize
= - vInstanceSize2. But the vTypeInfo is not a valid memory
pointer. Also, do we have qualified names here ?? The compiler and
rtl were compiled without qualified names.<br>
<br>
Is this a bug or one special case ?<br>
<br>
Regards,<br>
<br>
Adriaan van Os<br>
<br>
</font>
</body>
</html>