[Clfs-support] Binutils for ARM devices

Chris Smith space.dandy at icloud.com
Wed Nov 29 01:19:55 PST 2017


Hi Michele,

I did this some time ago, but using binutils v2.24 not v2.27.  I built it using the following:

export CLFS_FLOAT=soft
export CLFS_HOST=x86_64-cross-linux-gnu
export CLFS_TARGET=arm-linux-musleabi
export CLFS_ARCH=arm
export CLFS_ARM_ARCH=armv5te

../binutils-2.24/configure \
	--prefix=/usr \
	--build=${CLFS_HOST} \
	--target=${CLFS_TARGET} \
	--host=${CLFS_TARGET} \
	--with-sysroot=/ \
	--disable-nls \
	--disable-multilib

make configure-host
make
make DESTDIR=${TARGET_FS} includedir=${TARGET_DEV_DIR}/usr/include datarootdir=${TARGET_DEV_DIR}/usr/share install

I’m pretty sure this worked okay, but the project was only half finished, and I haven’t touched it for a long time.

Regards,
Chris

> On 29 Nov 2017, at 07:32, Michele Bucca <michele.bucca at gmail.com> wrote:
> 
> I already have a musl cross-compiler. Now I want to use that
> cross compiler to make a musl toolchain that runs on the ARM target.
> However when I try to build binutils I get this nasty error about libiberty
> (See Below) Can I avoid building libiberty alltoghether?
> 
> ../binutils-2.27/configure --host=arm-linux-musleabi
> --target=arm-linux-musleabi --build=x86_64-linux-gnu --disable-nls
> --disable-multilib --prefix=/home/michele/toolchain-arm
> 
> The error
> 
> make[1]: ingresso nella directory "/home/michele/sources/build-binutils"
>> make[2]: ingresso nella directory "/home/michele/sources/build-b
>> inutils/libiberty"
>> if [ x"" != x ]; then \
>>  arm-linux-musleabi-gcc -c -DHAVE_CONFIG_H -g -O2  -I.
>> -I../../binutils-2.27/libiberty/../include  -W -Wall -Wwrite-strings
>> -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE
>> ../../binutils-2.27/libiberty/strsignal.c -o pic/strsignal.o; \
>> else true; fi
>> if [ x"" != x ]; then \
>>  arm-linux-musleabi-gcc -c -DHAVE_CONFIG_H -g -O2  -I.
>> -I../../binutils-2.27/libiberty/../include  -W -Wall -Wwrite-strings
>> -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE
>> ../../binutils-2.27/libiberty/strsignal.c -o noasan/strsignal.o; \
>> else true; fi
>> arm-linux-musleabi-gcc -c -DHAVE_CONFIG_H -g -O2  -I.
>> -I../../binutils-2.27/libiberty/../include  -W -Wall -Wwrite-strings
>> -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE
>> ../../binutils-2.27/libiberty/strsignal.c -o strsignal.o
>> ../../binutils-2.27/libiberty/strsignal.c:554:1: error: conflicting types
>> for 'psignal'
>> psignal (int signo, char *message)
>> ^~~~~~~
>> In file included from ../../binutils-2.27/libiberty/strsignal.c:22:0:
>> /opt/cross/arm-linux-musleabi/include/signal.h:219:6: note: previous
>> declaration of 'psignal' was here
>> void psignal(int, const char *);
>>      ^~~~~~~
>> Makefile:1443: set di istruzioni per l'obiettivo "strsignal.o" non riuscito
>> make[2]: *** [strsignal.o] Errore 1
>> make[2]: uscita dalla directory "/home/michele/sources/build-b
>> inutils/libiberty"
>> Makefile:8049: set di istruzioni per l'obiettivo "all-libiberty" non
>> riuscito
>> make[1]: *** [all-libiberty] Errore 2
>> make[1]: uscita dalla directory "/home/michele/sources/build-binutils"
>> Makefile:850: set di istruzioni per l'obiettivo "all" non riuscito
>> make: *** [all] Errore 2
> _______________________________________________
> Clfs-support mailing list
> Clfs-support at lists.clfs.org
> http://lists.clfs.org/listinfo.cgi/clfs-support-clfs.org

Chris
—
Chris Smith <space.dandy at icloud.com>





More information about the Clfs-support mailing list