On 04/07/2022 21:11, Michael Van Canneyt via fpc-devel wrote:
On Mon, 4 Jul 2022, Joost van der Sluis via fpc-devel wrote:
Hi all,
I have a very small application, see below. One procedure is not
called at all.
But when I compile with
ppcx64 -XX -CX testcfi.pp
The P$TESTCFI_$$_NEVERCALLES symbol is still in the executable.
On Windows (internal linker) this code is omitted from the
executable, but not on Linux.
It's omitted here as well:
Not 100% on topic (sorry) but talking about symbols that are (or are
not) included/excluded from the exe...
There are cases were (imho) too many symbols are omitted, and it has
gotten worse from 3.2.3 to 3.3.1.
https://gitlab.com/freepascal.org/fpc/source/-/issues/39824
There may not be a variable of the class in question, but the class is
created. Therefore it exists in the app, and could be needed by a debugger.
Yet while both 2.3.2 and 3.3.1 omit the info itself, an effort was made
in 3.3.1 to clean up the $$vmt info too, imho that should be reverted,
and the full info included.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel