<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 14, 2016 at 1:30 AM, Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
On 14/04/16 08:23, Chris Johns wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 14/04/2016 16:09, Sebastian Huber wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 14/04/16 08:04, Chris Johns wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 14/04/2016 15:56, Sebastian Huber wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
In case this is important, then we should add a test case to the RTEMS<br>
test suite.<br>
<br>
</blockquote>
<br>
A test is a good idea.<br>
<br>
How would you write a test which checks all the possible externals<br>
used in newlib and I suppose gcc, indirectly via the apis or<br>
explicitly? I am thinking explicitly but how do we collect all the<br>
symbols and check they have no moved?<br>
</blockquote>
<br>
It has to work automatically.<br>
</blockquote>
<br>
I keep pressing the button but nothing is happening ... ok I will do it. :)<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think a lot of symbols are missing in this file.<br>
</blockquote>
<br>
I suppose the list is a unique set of all external symbols which do not internally resolve with in the tool set libraries. I suppose I can assume multlib variants all have the same unresolved symbols and can filter duplicates.<br>
<br>
I still not see how to write a suitable test. All you end up doing is testing the linker works and RTEMS is not missing any symbols. Any idea? <br>
</blockquote>
<br></span>
GCC uses link-time tests to check for operating system features. At least for libstdc++ some features are unsupported since some symbols are not defined (only declared in header files) during GCC build. Let U be the set of all undefined symbols in libc, libm and libgcc. Let D be the set of all defined symbols in libc, libm, libgcc. Then U \ D must go into crt0.c. Also, these symbols must be defined by librtemscpu or librtemsbsp.<span class="im HOEnZb"><br>
<br></span></blockquote><div><br></div><div>Except that I focused on libc only, this is the general way I got my list of symbols.<br></div><div><br></div><div>empty main.c</div><div>sparc-rtems4.12-gcc -c main.c </div><div>sparc-rtems4.12-ld crt0.o --whole-archive libc.a --no-whole-archive main.o</div><div><br></div><div>I wondered about the rest of the symbols in lock.h but only those mutex ones came up</div><div>undefined.</div><div><br></div><div>Whole archive of libraries under consideration + main + stubs should be the way to go.</div><div><br></div><div>--joel</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="im HOEnZb">
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : <a href="tel:%2B49%2089%20189%2047%2041-16" value="+4989189474116" target="_blank">+49 89 189 47 41-16</a><br>
Fax     : <a href="tel:%2B49%2089%20189%2047%2041-09" value="+4989189474109" target="_blank">+49 89 189 47 41-09</a><br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
<br></span><div class="HOEnZb"><div class="h5">
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br></div></div>