UnixLib with the Castle tools
John.Tytgat at aaug.net
Thu Feb 16 01:21:02 PST 2006
In message <042e00fa4d.pittdj+ at pittdj.plus.com>
David Pitt <pittdj at pittdj.co.uk> wrote:
> I am trying to use UnixLib with the Castle C/C++. There is no great
> reason for this other than that it is there and should be good
> "learning curve". How to do it is in !UnixLib.!Help. Using UnixLib 4.3
> that is with gcc 3.4.5 release 1 I get these errors compiling a simple
> "Hello world".
> Norcroft RISC OS ARM C vsn 5.64 [01 Feb 2006] (David_Pitt)
> ARM Linker: (Error) Undefined symbol(s).
> ARM Linker: ___arm_alloca_alloc, referred to from
> ARM Linker: __muldi3, referred to from UnixLib:o.unixlib(o).
> ARM Linker: Errors in link, no output generated.
> ARM Linker: finished, 3 informational, 0 warning and 1 error
> With an earlier UnixLib 4.0 from gcc 2.95.4 the linking completes and
> a working absolute results.
These GCC symbols are normally found in the libgcc library. I really
wouldn't recommend link a GCC compiled UnixLib with Norcroft object
files because their float argument passing is differnt. Something I
worked around in the libscl stubs we have.
I think you better recompile UnixLib yourself with Norcroft and use
> I have seen this subject in archived posts where some source changes
> are suggested. At this point my enthusiasm collided with my ignorance.
> How do I compile UnixLib. Setting the directory with the MakeFile to
> be current I get no further than this :-
> Makefile:1050: *** target pattern contains no `%'. Stop.
I used to do this myself for a long time but it has been a while since I
last did this myself. I assume you created unixlib/objs/Makefile like
mentioned in the 'Building' section of UnixLib doc ? And the make you are
using is the GNU make ? Or the Castle amu/make ?
John Tytgat, in his comfy chair at home BASS
John.Tytgat at aaug.net ARM powered, RISC OS driven
More information about the gcc