Op 05-07-2022 om 08:39 schreef Sven Barth via fpc-devel:
Joost van der Sluis via fpc-devel <fpc-devel@lists.freepascal.org
<mailto:fpc-devel@lists.freepascal.org>> schrieb am Di., 5. Juli 2022,
00:17:
Any suggestions? Is it possible to place every fde in it's own section
to solve this?
The problem is that *something* would need to reference the debug
sections otherwise they are stripped as well. But as soon as they're
referenced whatever code or data *they* reference is kept as well.
One of the better solutions might be to write these references as weak
symbols (on systems that support this) so at least the data/function
isn't kept around.
Or the section of the data/function would have to contain a reference to
its corresponding debug entry so that it is kept around as long as the
function/data is kept around...
How does GCC do this?
Apperently GCC does the exact same thing as fpc does on Windows. Replace
the addresses with 0, and mixup the function-names.
(The link between the CFI and actual code consists of local labels. They
do not reference the global labels/sections. I guess that is why the
code is removed, as it's global label is not referenced)
I can adapt fpc so that it does the same on Linux also. So I think I'll
leave it this way.
Thanks for the help.
Joost.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel