This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


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

building a big endian arm elf gcc/binutils/newlib


I've been attempting to build a big endian version of the arm elf cross compiler
and associated software (binutils, newlib) to be hosted from a sun solaris
workstation.  I'm working from 2.11 binutils, 2.95.3 gcc and 1.9 newlib.  The
native sun gcc is 2.8.1 and gmake is 3.78.1

If I attempt to:

cd $prefix/build-binutils
../binutils-2.11/configure --target=armbe-elf --prefix=$prefix
gmake all install

I get an error indicating the target is not supported.

If is let the target == arm-elf binutils builds okay.  However, when I then
attempt to build gcc with:

cd $prefix/build-gcc
../gcc-2.95.3/configure --target=arm-elf --prefix=$prefix
--with-headers=$headers -v
gmake all install

the build of all gets to somewhere into the libiberty and fails with 

touch bigstmp-complx
cd ../libiberty ; gmake "SHELL=/bin/sh" "INSTALL=/bin/sh
/users/rivers/gnu2/gcc-2.95.3/install-sh -c" "INSTALL_DATA=/bin/sh
/users/rivers/gnu2/gcc-2.95.3/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh
/users/rivers/gnu2/gcc-2.95.3/install-sh -c " "prefix=/users/rivers/gnu2"
"exec_prefix=/users/rivers/gnu2" "tooldir=/users/rivers/gnu2/arm-elf"
"gxx_include_dir=/users/rivers/gnu2/include/g++-3"
"libsubdir=/users/rivers/gnu2/lib/gcc-lib/arm-elf/2.95.3" "gcc_version=2.95.3"
"gcc_version_trigger=/users/rivers/gnu2/gcc-2.95.3/gcc/version.c"
"AR=arm-elf-ar" "AR_FLAGS=rc" "CC=/users/rivers/gnu2/build-gcc/gcc/xgcc
-B/users/rivers/gnu2/build-gcc/gcc/ -B/users/rivers/gnu2/arm-elf/bin/"
"CXX=/users/rivers/gnu2/build-gcc/gcc/xgcc -B/users/rivers/gnu2/build-gcc/gcc/
-B/users/rivers/gnu2/arm-elf/bin/" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2"
"NM=arm-elf-nm" "RANLIB=arm-elf-ranlib" "LIBCFLAGS=-g -O2" "LIBCXXFLAGS=-g -O2
-fno-implicit-templates" "LOADLIBES=" "LDFLAGS="
"MAKEINFO=/users/rivers/gnu2/build-gcc/texinfo/makeinfo/makeinfo "
"SHLIB=libstdc++.so.2.10.0" "SHCURSES=" "RUNTESTFLAGS="
gmake[2]: Entering directory `/users/rivers/gnu2/build-gcc/arm-elf/libiberty'
gmake[2]: *** No targets specified and no makefile found.  Stop.
gmake[2]: Leaving directory `/users/rivers/gnu2/build-gcc/arm-elf/libiberty'
gmake[1]: *** [../libiberty/libiberty.a] Error 2
gmake[1]: Leaving directory `/users/rivers/gnu2/build-gcc/arm-elf/libstdc++'
gmake: *** [all-target-libstdc++] Error 2

If I then change the configure line to read:

../gcc-2.95.3/configure --target=arm-elf --prefix=$prefix
--with-headers=$headers --with-newlib -v
gmake all install

it appears to be okay except I'm still left without big endian versions of
things.  In talking with one of the people in the MAINTAINERS list (Nick
Clifton), he indicated to change the gcc/config/arm/t-elf.h file to select only
big endian for the MULTILIB_OPTIONS.  However, in checking crtbegin.o and
crtend.o, I've still got little endian modules.

Is there anyone who can tell the magic set of configure/target commands to build
an big endian arm elf cross compiler/binutils/newlib.  Any help would be greatly
appreciated.

Thanks in advance!

martin rivers


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