This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problem cross compiling gcc


Hi, everybody!

I've problems to cross compile gcc. I use gcc 4.6.3 as cross compiler
on an x86_64 machine (with glibc) and try to cross compile gcc 4.6.3 to
a armv6l (with uclibc). The cross compiler seems to work, as I already
compiled everything except gcc (and the compiled programs seem to work
on the target).

This was the configure line:

LDFLAGS="-Wl,-rpath,/home/clfs/usr/lib" ../gcc-4.6.3/configure
--prefix=/home/clfs/usr --build=x86_64-cross-linux-gnu
--host=armv6l-unknown-linux-uclibceabi --with-sysroot=/home/clfs
--disable-nls --enable-shared --enable-languages=c --enable-c99
--enable-long-long --with-mpfr=/home/clfs/usr --with-gmp=/home/clfs/usr
--with-mpc=/home/clfs/usr --disable-multilib --with-abi=aapcs-linux
--with-arch=armv6zk --with-mode=arm --with-float=hard --with-fpu=vfp

These are some of my environment variables:

AS=armv6l-unknown-linux-uclibceabi-as
AR=armv6l-unknown-linux-uclibceabi-ar
PATH=/home/clfs/cross-tools/bin:/bin:/usr/bin
LD=armv6l-unknown-linux-uclibceabi-ld
STRIP=armv6l-unknown-linux-uclibceabi-strip
CXX=armv6l-unknown-linux-uclibceabi-g++
RANLIB=armv6l-unknown-linux-uclibceabi-ranlib
CC=armv6l-unknown-linux-uclibceabi-gcc
READELF=armv6l-unknown-linux-uclibceabi-readelf

The "new" root of the target system is stored in /home/clfs, my cross
toolchain in /home/clfs/cross-tools

These are the last lines of make:

make[2]: Entering directory `/home/clfs/sources/gcc-build/gcc'
gcc -DIN_GCC    -DGENERATOR_FILE  -o build/genconstants \
    build/genconstants.o build/read-md.o
build/errors.o ../build-x86_64-cross-linux-gnu/libiberty/libiberty.a
build/genconstants.o: In function `print_enum_type':
genconstants.c:(.text+0x110): undefined reference to `__fputc_unlocked'
build/read-md.o: In function `read_char': read-md.c:(.text+0x4c):
undefined reference to `__fgetc_unlocked' build/read-md.o: In function
`print_c_condition': read-md.c:(.text+0x6c6): undefined reference to
`__fputc_unlocked' build/read-md.o: In function `message_with_line_1':
read-md.c:(.text+0x784): undefined reference to `__fputc_unlocked'
build/read-md.o: In function `fatal_with_file_and_line':
read-md.c:(.text+0xa02): undefined reference to `__fputc_unlocked'
build/errors.o: In function `warning':
errors.c:(.text+0x11e): undefined reference to `__fputc_unlocked'
build/errors.o: In function `error':
errors.c:(.text+0x242): undefined reference to `__fputc_unlocked'
build/errors.o:errors.c:(.text+0x370): more undefined references to
`__fputc_unlocked' follow collect2: error: ld returned 1 exit status
make[2]: *** [build/genconstants] Error 1
make[2]: Leaving directory `/home/clfs/sources/gcc-build/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/home/clfs/sources/gcc-build'
make: *** [all] Error 2


Does anyone has an idea what the problem is? Or does someone know a c
compiler which is able to bootstrap gcc, works on arm and is easier to
cross compile than gcc?

Regards,
Marian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]