<!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>