<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On May 12, 2017 1:41 PM, "Mathew Benson" <<a href="mailto:mathew.benson@gmail.com">mathew.benson@gmail.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have an application using the RTL dynamic loader.  The loader seems to work just fine, but two of the dynamic libraries that I'm loading require math functions in libm.a.  Correct me if I'm wrong, but I can't link those into the dynamic libraries without symbols colliding.  However, if I put the -lm in the main executable, the symbols get stripped out even though I use the "-Wl,--export-dynamic" switch.  If I use a function in the main executable, that function is exported correctly.  But all unused functions get stripped out.  It would appear the --export-dynamic only applies to the .o's and not to any .a's.<div><font color="#242729" face="consolas, menlo, monaco, lucida console, liberation mono, dejavu sans mono, bitstream vera sans mono, courier new, monospace, sans-serif"><span style="white-space:pre-wrap;background-color:rgb(239,240,241)"><br></span></font></div><div><span style="background-color:rgb(255,255,255)">I think there are multiple ways to solve this, but I haven't found a clean solution yet.  One working, but ugly solution is to use "ar x libm.a" to extract the .o's, then link the .o's with mine.  That combined with the --export-dynamic exports all the symbols.</span></div><div><span style="background-color:rgb(255,255,255)"><br></span></div><div><span style="background-color:rgb(255,255,255)">I'm thinking this can probably be solved with a toolchain switch.  Is there any way I can tell the linker to also export all the symbols from the .a's linked in?  Can I specify specific symbols to export?</span></div></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">There is a --whole-archive option to let which might be of use. But I would tend to try --U XXX which says XXX is undefined and to include it. I don't know how that interacts with per method section linking but I think it would work.</div><div dir="auto"><br></div><div dir="auto">--joel</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br></blockquote></div><br></div></div></div>