compiling busybox-1.6.1 for cris architecture fails

Denys Vlasenko vda.linux at googlemail.com
Fri Aug 31 11:36:12 UTC 2007


On Friday 31 August 2007 08:36, hinko.kocevar at cetrtapot.si wrote:
> Denys Vlasenko wrote:
> > On Thursday 30 August 2007 14:02, hinko.kocevar at cetrtapot.si wrote:
> >> Hi,
> >>
> >> We are using rather old version of busybox (1.1.2) on our embedded
> >> systems and would like to upgrade to the latest stable version - 1.6.1.
> >> The applets seem to compile just fine, but linking fails to produce
> >> busybox_unstripped. We are using uClibc.
> >>
> >> Complete build (with make V=1) is located at:
> >>
> >> http://4thway.0catch.com/busybox-error_3.txt
> >
> > Strange, I don't see error message.
> >
> > Do you have busybox_ld.err file? It may contain error message.
>
> Yes. I have uploaded it to the
> http://4thway.0catch.com/busybox_ld.err
>
> > Can you remove "-Wl,-M" from Makefile and rerun the command?
>
> I've rebuild without the "-Wl,-M" and the result seems the same but the
> busybox_ld.err is smaller. See
> http://4thway.0catch.com/busybox_ld.err_nowlm

This is fixed in 1.7.0. Link map is saved into separate file,
making error message much easer to find. Sorry.

Does it make sense to you to jump to 1.7.0, since you
have to jump anyway?

> It is something about the glibc _start symbol?!

uclibc.

applets/built-in.o: In function `__negdi2':
/usr/src/redhat/BUILD/cris-dist-1.62/gnu-toplev/gcc/libgcc2.c:52: multiple 
definition of `_start'
/fw/car2_R1.gen/stage.uclibc/lib/crt0.o(.text+0x0): first defined here
applets/built-in.o: In function `__negdi2':
/usr/src/redhat/BUILD/cris-dist-1.62/gnu-toplev/gcc/libgcc2.c:52: multiple 
definition of `__mainp'
/fw/car2_R1.gen/stage.uclibc/lib/crt0.o(.data.rel+0x0): first defined here
applets/built-in.o: In function `__negdi2':
/usr/src/redhat/BUILD/cris-dist-1.62/gnu-toplev/gcc/libgcc2.c:52: multiple 
definition of `__data_start'
/fw/car2_R1.gen/stage.uclibc/lib/crt0.o(.data+0x0): first defined here
collect2: ld returned 1 exit status

Something is messed up in the toolchain.

Does libgcc2.c in gcc you use really define _start? Why?

Can you successfully cross-compile "Hello world"?
--
vda



More information about the busybox mailing list