[Aboriginal] Build error when system has a cross compiler already

Bobby Bingham koorogi at koorogi.info
Sun Jan 5 00:22:27 PST 2014

I'm running into a build error with aboriginal that seems to be related
to the fact that I already have an SH4 cross-compiler toolchain
installed on my system.

First, the error itself.  When aboriginal tries to compile the kernel:
    sh4-ld: unrecognized option '--build-id'

Digging around in the kernel makefiles a bit, it looks like it does try
checking if the linker supports the --build-id flag.  Looks like the
check amounts roughly to:
    build/simple-cross-compiler-sh4/bin/sh4-gcc -Wl,--build-id -nostdlib -x c /dev/null -o /tmp/foo

Which on my system produces this output:
    /usr/libexec/gcc/sh-superh-linux/ld: warning: cannot find entry symbol _start; defaulting to 00000000004000d8

Note the path to ld -- the sh4-gcc built by aboriginal is apparently
running the SH4 linker I have installed on my system, which is from
binutils 2.24, which supports the --build-id option.  That explains why
the kernel thinks the linker supports it.  But then the kernel build
actually uses the sh4-ld built by aboriginal to link, and this is from
an older version of binutils and doesn't support --build-id.

Indeed, uninstalling the SH4 toolchain on my system fixes the aboriginal
build.  I don't have the first clue how gcc decides what linker to run,
but I'm hoping someone here has some insight how to fix this, short of
uninstalling my toolchain.

Bobby Bingham
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.landley.net/pipermail/aboriginal-landley.net/attachments/20140105/18063142/attachment-0002.pgp>

More information about the Aboriginal mailing list