<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Mar 17, 2019 at 2:10 PM Aditya Upadhyay <<a href="mailto:aadit0402@gmail.com">aadit0402@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">Hi Vaibhav,<br>
<br>
I saw your doubts on devel mailing list regarding the newlib-c.<br>
These are the points, you should know about newlib c and<br>
why does most embedded system use newlib c as runtime library.<br>
<br>
newlib c is used to provide supports to the different platforms and<br>
architecute specific compilers.<br>
For example:<br>
if you have a compiled binary and that you want to run it on a<br>
particular platform<br>
then this newlib c is used by compiler to invoke some of the built-in functions<br>
in that runtime environment.<br>
Some low level routines are defined inside the newlib-cygwin that provides<br>
architecture support. For example: Stack, Heap, memory management,<br>
interrupt facilities is<br>
defined in the newlib c and these implementation is architecture dependent.<br>
<br>
On Sun, Mar 17, 2019 at 10:02 AM Vaibhav Gupta <<a href="mailto:vaibhavgupta40@gmail.com" target="_blank">vaibhavgupta40@gmail.com</a>> wrote:<br>
><br>
> Hello Aditya,<br>
><br>
> First of all Congratulations for your successful completion of POSIX Compilance Project in RTEMS in 2017.<br>
> .<br>
> I read your proposal and its impressive. You seem to have done lot of homework on RTEMS that<br>
> time.<br>
> .<br>
> I am a 2nd year student from JIIT Noida and I am preparing to take same project (POSIX Compilance) this year for GSoC.<br>
> .<br>
> I had doubts and asked them on mailing list, then Gedare suggested me to take advice from you as you also went with same processes at your time which I am facing now.<br>
> .<br>
For more, You can look into this:<br>
<a href="https://www.embedded.com/design/prototyping-and-development/4024867/Embedding-with-GNU-Newlib" rel="noreferrer" target="_blank">https://www.embedded.com/design/prototyping-and-development/4024867/Embedding-with-GNU-Newlib</a><br>
Above link will help you to understand other term like reentrancy concept<br>
when you will be going to provide supports in the multi-threaded environment.<br>
To understand licensing terms, You can refer here. It will help to<br>
figure out the<br>
difference between the glibc, newlibc, klibc etc..<br>
<a href="https://groups.google.com/forum/#!topic/native-client-discuss/_OAQsL77kPQ" rel="noreferrer" target="_blank">https://groups.google.com/forum/#!topic/native-client-discuss/_OAQsL77kPQ</a><br>
<br>
> It would be great if you can help me out.<br>
><br>
I would encourage you to test this inttypes test suite code, What<br>
I have not yet committed. You just need to change some copyrights things.<br>
It would be appreciated if you send a patch on devel. It will help you to<br>
understand the code flow and relation between the newlib c and rtems.<br>
inttypes methods test suite location:<br>
<a href="https://drive.google.com/open?id=1vnb0KBhkYLTPzbRJPMuwsnyWLP694VAa" rel="noreferrer" target="_blank">https://drive.google.com/open?id=1vnb0KBhkYLTPzbRJPMuwsnyWLP694VAa</a></blockquote><div>I did try to run it with following command:</div><div><span style="font-family:monospace,monospace">sparc-rtems5-gcc -B/home/varodek/development/rtems/5/sparc-rtems5/erc32/lib -specs bsp_specs -qrtems -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -Wl,--gc-sections -mcpu=cypress init.c</span></div><div><br></div><div>it gives me error:</div><div><br></div><div><span style="font-family:monospace,monospace">init.c:9:10: fatal error: tmacros.h: No such file or directory<br> #include <tmacros.h><br>          ^~~~~~~~~~~<br>compilation terminated.</span><br></div><div><br></div><div>Though the headerfile is located at <span style="font-family:monospace,monospace">/home/varodek/development/rtems/kernel/rtems/testsuites/support/include/tmacros.h</span><br><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>
<br>
> Thanks<br>
> Vaibhav Gupta<br>
<br>
Thanks,<br>
Aditya Upadhyay<br>
</blockquote></div></div></div></div></div>