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

Reply via email to