<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 18.05.2024 15:32, Miroslav Mraz
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:69d6d826-db22-4cc8-9610-546e1aeb9b70@volny.cz">Víte
někdo jak správně používat -flto při překladu pomocí gcc ? V
poslední době se mi stává, že to vyoptimalizuje i funkce, které
jsou tam opravdu potřebné. Ale je to u složitějších bare-metal
projektů RISC-V a tak se mi nedaří vystopovat proč. Clang tím asi
tak netrpí, tam se to zdá v pořádku.
<br>
Setkali jste se s tím třeba na ARM nebo AVR ?
</blockquote>
Ja tohle videl a pouzival u MSVC, tak jsem si aspon precet man,
abych vedel, jak to u GCC funguje. Pisou tam zajimavou vec:<br>
<br>
<blockquote type="cite">it is necessary to make
certain whole program assumptions. The compiler needs to know
what functions and variables can be accessed by libraries and
runtime
outside of the link-time optimized unit. When supported by the
linker,
the linker plugin (see <samp class="option">-fuse-linker-plugin</samp>)
passes information
to the compiler about used and externally visible symbols. When
the linker plugin is not available, <samp class="option">-fwhole-program</samp>
should be
used to allow the compiler to make these assumptions, which leads
to more aggressive optimization decisions.
</blockquote>
Tutaj: <a class="moz-txt-link-freetext" href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html">https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html</a><br>
<pre class="moz-signature" cols="72">--
Jindroush <a class="moz-txt-link-rfc2396E" href="mailto:jindroush@seznam.cz"><jindroush@seznam.cz></a></pre>
</body>
</html>