<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Joost van der Sluis via fpc-devel <<a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>> schrieb am Di., 5. Juli 2022, 22:37:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
<br>
Op 05-07-2022 om 08:39 schreef Sven Barth via fpc-devel:<br>
> Joost van der Sluis via fpc-devel <<a href="mailto:fpc-devel@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-devel@lists.freepascal.org</a> <br>
> <mailto:<a href="mailto:fpc-devel@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-devel@lists.freepascal.org</a>>> schrieb am Di., 5. Juli 2022, <br>
> 00:17:<br>
>     Any suggestions? Is it possible to place every fde in it's own section<br>
>     to solve this?<br>
> <br>
> <br>
> The problem is that *something* would need to reference the debug <br>
> sections otherwise they are stripped as well. But as soon as they're <br>
> referenced whatever code or data *they* reference is kept as well.<br>
> One of the better solutions might be to write these references as weak <br>
> symbols (on systems that support this) so at least the data/function <br>
> isn't kept around.<br>
> Or the section of the data/function would have to contain a reference to <br>
> its corresponding debug entry so that it is kept around as long as the <br>
> function/data is kept around...<br>
> How does GCC do this?<br>
<br>
Apperently GCC does the exact same thing as fpc does on Windows. Replace <br>
the addresses with 0, and mixup the function-names.<br>
<br>
(The link between the CFI and actual code consists of local labels. They <br>
do not reference the global labels/sections. I guess that is why the <br>
code is removed, as it's global label is not referenced)<br>
<br>
I can adapt fpc so that it does the same on Linux also. So I think I'll <br>
leave it this way.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I think many people would be glad if you'd solve the issue of smart linking with debug information when an external linker is used. :) </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>