[U-Boot] sparc and .udiv/.rem/.urem/.umul/etc... link errors
Mike Frysinger
vapier at gentoo.org
Thu Oct 13 17:44:53 CEST 2011
On Thursday 13 October 2011 04:45:27 Daniel Hellstrom wrote:
> On 10/13/2011 07:33 AM, Mike Frysinger wrote:
> > it seems that these symbols are usually implemented in the C library on
> > sparc systems, but under u-boot, we don't have that luxury. Linux
> > itself simply imports the relevant asm files from glibc into their lib
> > subdir. without these, building u-boot for sparc targets with sparc
> > linux compilers fail. any desire to make this work ? or just continue
> > to force everyone to install a dedicated sparc-elf compiler ?
>
> The .udiv/.rem ... functions are implemented by libgcc
that is target dependent
> Sparc-linux toolchains will generate ELF binaries for Linux, that is not
> what we want?
the file format is fine, but the supplementary libgcc for sparc-linux targets
does not include these symbols. it relies on the C library to provide them.
glibc sparc system:
$ readelf -s /lib/libc.so.6 | grep '[.]u'
1231: 000f41e0 20 FUNC GLOBAL DEFAULT 10 .urem@@GLIBC_2.0
1369: 000f41a0 12 FUNC GLOBAL DEFAULT 10 .udiv@@GLIBC_2.0
1557: 000f4160 20 FUNC GLOBAL DEFAULT 10 .umul@@GLIBC_2.0
and if you look at gcc's source tree in gcc/config/sparc/t-*, you'll see that
these libgcc routines are included for elf and leon targets, but not linux.
so whenever i build u-boot using a sparc-linux-gnu cross-compiler, it fails to
link due to missing these symbols. if i use sparc-elf, it links fine.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20111013/471b387d/attachment.pgp
More information about the U-Boot
mailing list