Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Stuff missing from libgcc.a?
On Aug 19, 2013, at 3:42 PM, Dennis Ferguson
<dennis.c.ferguson%gmail.com@localhost> wrote:
> I found a reason to want to recompile U-Boot and attempted
> to use the compiler tools from a NetBSD earm build to do so.
> Compiling went okay once I worked through the #include files
> it needed from the system, but loading the binary failed due
> to the following missing symbols:
>
> __aeabi_idiv
> __aeabi_idivmod
> __aeabi_uidiv
> __aeabi_uidivmod
>
> __aeabi_lasr
> __aeabi_llsl
> __aeabi_llsr
Those are in libc and we don't generate the libgcc versions
since they cause conflict.
> The only system library needed by u-boot is libgcc.a; I used
> the library built with the NetBSD earm build. The first 4
> symbols above are referenced (only) from functions in that
> libgcc.a but are not defined there. I see from the gcc sources
> that the last three symbols should be aliases for ashrdi3,
> ashldi3 and lshrdi3, respectively, but while the latter
> functions are in libgcc.a the aliases are not. Note that
> building u-boot against the NetBSD earm libc.a instead caused
> the build to complete with no missing symbols, but also
> resulted in a bunch of inappropriate stuff being included
> along with it (loading MLO failed since it was now too big
> to fit in the SRAM it is supposed to run from).
>
> I hence think the earm libgcc.a is missing stuff that should
> be in there, but I'm not sure so I thought I'd ask.
NetBSD standalone apps don't use libgcc, but we provide the
equivalent in libkern.
You might try build a libkern and see if it's a suitable
replacement. Hopefully soon, NetBSD will supply an empty
libgcc.a :)
Home |
Main Index |
Thread Index |
Old Index