[En-Nut-Discussion] newLib integration

Faas, Hylke Hylke.Faas at echostar.com
Wed Jun 17 12:11:56 CEST 2009

Hi Aurel and other readers,

To awnser your question, if you are the only person with this problem; I
don't think so, I do also have problems linking my object files. 

The strange thing is that after activating floating point in the Nut/OS,
there is no application that can link, not even an application with no
code in it (except an empty main() function) won't link.
I have to say that, I also am a newbie with Nut/OS, but it doesn't look
good if an empty source can't link.

I got the link error also when I try to compile and link (without the
floating point enabled) a project of my own (with multiple source
files). If I look on the internet, they all talk about the malloc and
(s)printf functions that causes these errors because of the missing
syscalls.c or (all what Aurel allready told), but if I make a simple
project with a few (s)printf and malloc/free calls there are no errors.
I can even run the app on the Ethernut without problems, still I can't
link my own project.

Is there someone with more experience about this problem who can help us
(with the following questions for example)?
 - Does anyone know what realy causes the linking errors, what type of
functions or library for example?
 - What do we have to do so we don't get these errors?


Hylke Faas

-----Original Message-----
From: en-nut-discussion-bounces at egnite.de
[mailto:en-nut-discussion-bounces at egnite.de] On Behalf Of
athomi at bluewin.ch
Sent: Sunday, June 14, 2009 11:40
To: fischermi at t-online.de
Cc: en-nut-discussion at egnite.de
Subject: Re: [En-Nut-Discussion] newLib integration

Hi Michael

>if your YAGARTO toolchain comes from the YAGARTO page, you will find a 
>syscall.c example near the download link from the toolchain too.
IMO this means you have to implement the functions (see syscalls.c) for
your specific OS (newlib can't do that for you).

As an example, with the "_sbrk_r" function the newlib wants to allocate
new memory, so you have to implement the right calls for your specific

But now the problem, acctually i'm not aware of such deep details of the
Nut/OS and hoped that someone else has already done this for the Nut/OS.

Am i the only person who has encountered such a problem? Or is the
solution so trivial that nobody sees the need for 
talking about the solution?

By the way, the problems starts with enabling "Floating Point" in the
Nut/OS Configurator (as stated in the example 
page of the NutWiki) independent on the example.


Aurel Thomi

More information about the En-Nut-Discussion mailing list