This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to link against newlib?


On 06/29/2012 06:12 PM, Christian Haake wrote:
Hi there,
this is my first post so I apologize if my question is a duplicate...
Currently I'm trying to implement the sbrk() system call which is used
by malloc. For this in the syscalls.c file I included a header file
called pagealloc.h.
But while compiling I get a "undefined reference" error because the
associated object file will not be linked.
So my question is how to tell newlib which object file to link with.
Should I customize a Makefile and if yes, which one and how?!?
Thanks in advance for your help.
Chris


You're going to have to elaborate a lot more.


What platform are you configuring for? Are you adding a new platform and if so, did you create a libgloss library?

For new platforms, it is recommended you create a libgloss library to support syscalls.

You have some choices after that. A number of platforms provide an ld script in libgloss which knows how to link a particular libgloss library. That makes it easy to compile/link - the -T option of gcc is used to specify the name of the ld script.

See the libgloss/mn10300 directory for an example of an ld script that is set up for a simulator (sim.ld).

If your compiler builds multi-libs, then the newlib build will build multiple versions of the libraries with different options. It is recommended you link the newlib/libgloss directories into your gcc check-out and make them siblings of the gcc directory so you can build/install gcc, newlib, and libgloss together. When you compile/link with that gcc, it will automatically figure out the path to the multi-libs that are appropriate for the gcc options you have chosen. Otherwise, you can manually specify the path to the appropriate libgloss/newlib libraries but that is more difficult.

See the newlib FAQ found at sourceware.org/newlib for pointers on porting and a link to the crossgcc FAQ.

-- Jeff J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]