<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 8, 2019, 5:43 PM Jonathan Brandmeyer <<a href="mailto:jbrandmeyer@planetiq.com">jbrandmeyer@planetiq.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I couldn't help but notice that by default, the RTEMS source builder<br>
produces a build of GCC that doesn't support LTO.  A wee bit of<br>
source-diving showed that it can be enabled (and forwarded to GCC's<br>
configure) with the --with-lto option, though.<br>
<br>
Having worked on getting LTO to work on embedded systems in the past,<br>
it can reveal a host of special bugs in startup code and inline<br>
assembly that otherwise work just fine in the absence of LTO.  For<br>
example, inline ARM assembly can fail to work correctly when you use<br>
the `ldr <register>, =symbol` idiom for loading an absolute address to<br>
a symbol, but works just fine when you pass the symbol's address as an<br>
argument to the assembly template.<br>
<br>
With that in mind, does RTEMS support (is regularly tested with) LTO?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I recall there being concern it would break things and need to be evaluated and tested on all targets and maybe all BSPs.</div><div dir="auto"><br></div><div dir="auto">My suggestion would be to submit a patch that adds a --with-lto option to the source builder. That lays the groundwork to build tools with it enabled and see how it goes.</div><div dir="auto"><br></div><div dir="auto">It would be good to see size and performance measures on say SPARC, ARM, and PowerPC. </div><div dir="auto"><br></div><div dir="auto">I can see enabling it eventually on the more popular targets if they get tested and work. </div><div dir="auto"><br></div><div dir="auto">FWIW I posted a patch to fix your spelling error. Thanks</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">
<br>
Thanks,<br>
Jonathan Brandmeyer<br>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank" rel="noreferrer">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
</blockquote></div></div></div>