<div dir="ltr"><div dir="ltr">Keep devel@ on the list. :)</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 19, 2021 at 7:51 AM Matthew Joyce <<a href="mailto:mfjoyce2004@gmail.com">mfjoyce2004@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Sir,<br>
<br>
Thank you for the link! I see that you're right, those last four are<br>
in newlib, plus memmem(). I updated those in the Google Sheet.<br>
<br>
Now I see the newlib part, but where are you referring to specifically<br>
when you say RTEMS, as in "POSIX support comes from a mix of RTEMS and<br>
newlib"?<br></blockquote><div><br></div><div>POSIX is a HUGE HUGE standard and references other standards. One </div><div>it references and pulls in is the C99 Standard C Library which is libc and</div><div>libm. RTEMS mostly does not implement this functionality and relies on </div><div>another open source project for those APIs. Newlib is an open source </div><div>C Library used by RTEMS, Cygwin, and most embedded systems GNU tools</div><div>chains.</div><div><br></div><div>Most of the POSIX header files with RTEMS are actually in Newlib even</div><div>if they originated with RTEMS. Many are shared with Cygwin. <br><br>So methods like the string, memory, and *printf come from Newlib since they</div><div>are in C99. We provide POSIX like threading, signals, core file access, and</div><div>much more.<br><br>It's a complementary relationship but it takes a bit to figure out when </div><div>something should be in one or the other. The line gets blurred at times.</div><div><br></div><div>Say you added a new CPU architecture implementation of a math</div><div>method (like Eshan did last year), then it goes in newlib. But he also</div><div>added some POSIX methods which go in RTEMS. In either case,</div><div>we like tests for them in RTEMS to show they work in our environment.</div><div><br></div><div>--joel<br></div><div><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Thanks again!<br>
<br>
Matt<br>
<br>
On Fri, Mar 19, 2021 at 1:13 PM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br>
><br>
><br>
><br>
> On Fri, Mar 19, 2021, 6:40 AM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br>
>><br>
>><br>
>><br>
>> On Fri, Mar 19, 2021, 5:48 AM Matthew Joyce <<a href="mailto:mfjoyce2004@gmail.com" target="_blank">mfjoyce2004@gmail.com</a>> wrote:<br>
>>><br>
>>> <a href="https://docs.google.com/spreadsheets/d/1reCNOIZC5JTwQENgl-hvG8THfQqNtlUDVy_07PYodic/edit?usp=sharing" rel="noreferrer" target="_blank">https://docs.google.com/spreadsheets/d/1reCNOIZC5JTwQENgl-hvG8THfQqNtlUDVy_07PYodic/edit?usp=sharing</a><br>
>>><br>
>>> Hello,<br>
>>><br>
>>> As suggested by Dr. Sherril, I've taken an initial look through this<br>
>>> document <a href="https://www.opengroup.org/austin/docs/austin_1110.pdf" rel="noreferrer" target="_blank">https://www.opengroup.org/austin/docs/austin_1110.pdf</a> and<br>
>>> added the new methods  to a Googe Sheet, linked above.<br>
>>><br>
>>> None of them appear to be in the RTEMS POSIX API Users Guide, but<br>
>>> maybe that's not the right place to look. I'll stand by for your<br>
>>> feedback regarding what's possible / desirable to add to RTEMS.<br>
>><br>
>><br>
>> It is possible they are in our C Library or Math Library.  Or just not in the manual. The POSIX manual tends to be sparse since you can always use man pages or the POSIX standard.<br>
>><br>
>> Since you have RTEMS and tools built. Find one of the libc.a and libm.a files in the tools install and librtemscpu.a in the RTEMS build or install. Then try a command something like this:<br>
>><br>
>> CPU-rtems6-nm LIBRARY | grep SYMBOL<br>
>><br>
>> If you see it list with T then it is in the text section and there.<br>
><br>
><br>
> Following up, I initially answered from my phone and didn't look at source.  I am still on my phone but looked through the list and think the last four methods are probably the only ones currently supported.<br>
><br>
> <a href="https://sourceware.org/git/?p=newlib-cygwin.git;a=tree;f=newlib/libc/string;h=ceeec602cdd0e6b5c6b002b741bda9b41da4e441;hb=HEAD" rel="noreferrer" target="_blank">https://sourceware.org/git/?p=newlib-cygwin.git;a=tree;f=newlib/libc/string;h=ceeec602cdd0e6b5c6b002b741bda9b41da4e441;hb=HEAD</a><br>
><br>
> POSIX support comes from a mix of RTEMS and newlib. That's key to this type of project.<br>
><br>
> --joel<br>
>><br>
>><br>
>><br>
>>><br>
>>> Thanks very much for your time!<br>
>>><br>
>>> Sincerely,<br>
>>><br>
>>> Matt<br>
</blockquote></div></div>