[fpc-devel] Invalid vTypeInfo pointer for _VMT_$SYSUTILS$_$TMARSHALLER
Adriaan van Os
adriaan at adriaan.biz
Sat Aug 29 17:37:22 CEST 2026
This is strange and I don't know if I should report it as a bug
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
vTypeInfo = -16, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERBASE, vInstanceSize = 8,
vInstanceSize2 = -8
vTypeInfo = -24, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERFREEMEM, vInstanceSize = 16,
vInstanceSize2 = -16
vTypeInfo = 7811903956714416498, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERMOVETOSBANDFREE,
vInstanceSize = 32, vInstanceSize2 = -32
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.
Is this a bug or one special case ?
Regards,
Adriaan van Os
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20260829/0dbbed59/attachment.htm>
More information about the fpc-devel
mailing list