Re: [uCsimm] fork () / vfork ()

From: Ian Leonard (ileonard@ntlworld.com)
Date: Fri Apr 20 2001 - 03:42:19 EDT


On 2001.04.18 17:55:46 +0100 Tom Walsh wrote:
> Ian Leonard wrote:
> >
> >
> > The linker gives lots of messages of which the following is an example.
> > I assume this is the 32k limit?
> >
>
> Yes and no, what you are running into is a problem in the uClibc. There
> is a function called 'cleanup()' that is called by the library and as
> the library has been compiled as PIC16, it is not able to reach across
> 32K of code to reach the crt0.o definition of the function. This due to
> way the linking is done: crt0.o + your_program + the_library. I
> recently ran into this myself just recently, my solution was to remove
> the cleanup() funtion from the crt0.s and move the funtion into the
> uClibc sources and rebuild the library. The cleanup() function is a nop
> and I believe that it is used for C++ (AFAIK, the PIC compiler is not
> able to do C++ ?). Look in the uClibc sources at a file, I think, is

No it doesn't do C++. This leads me to another question. I have started
to use the elf compiler, firstly because I have some c++ code to port
and secondly because I thought that the 32k limit was something more
fundamental with the coff compiler.

So is the PIC32 compiler the same as the elf one, or is it another
variation. If so why? Presumably it's something with shared library
support?

Thanks for the info.

-- 
Ian Leonard                  
eMail: ileonard@ntlworld.com
Phone: +44 (0)1865 765273       Fax: +44 (0)1865 765280

Please ignore spelling and punctuation - I did. This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/



This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:43 EST