This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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

gcc 4.2.1 for arm & mips?


Hi. Specifically, I'm attempting:

gcc-4.2.1 (have been using 3.4.6 with all the other bits below the same)
crosstool-0.43
binutils-2.17
glibc-2.3.6 (using linuxthreads)

for mips:
* gcc configured with --with-float=soft --with-arch=mips32 --with-tune=mips32 --with-endian=little and a bunch of other stuff (see below)
* glibc configured with --without-fp and other stuff


for arm:
* gcc configured with --with-float=soft --with-cpu=xscale --with-endian=little
* glibc configured with --without-fp and other stuff


On mips, the glibc stage of the build fails with:

In file included from ../linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h:22,
from ../sysdeps/unix/sysv/linux/mips/pread.c:29:
../linuxthreads/internals.h:532: warning: C99 inline functions are not supported; using GNU89
../sysdeps/unix/sysv/linux/mips/pread.c: In function '__libc_pread':
../sysdeps/unix/sysv/linux/mips/pread.c:69: error: memory input 7 is not directly addressable
../sysdeps/unix/sysv/linux/mips/pread.c:86: error: memory input 7 is not directly addressable
make[3]: *** [/export/build/toolchain1/new-tools/build-mipsel-070916-1933/crosstool-0.43/build/mipsel-digeo-linux/gcc-4.2.1-glibc-2.3.6/build-glibc/posix/pread.o] Error 1


The source line in question is:

 result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
                          __LONG_LONG_PAIR (offset >> 31, offset));

(I haven't dug into the macros yet, but I'm sure it's inline asm.)

On arm, after applying a patch for raise in linuxthreads and a patch for floating point, I get complaints about multiple defs of __floatundisf, __floatdidf, etc. I'll dig into that next.

I just wanted to see if anyone else had already come up with patches for this stuff before I go spend a bunch of time on it - this task is tangential to what my job is supposed to be. Anyone? Any pointers would be appreciated. (Snide remarks to /dev/null, please - you know who you are. My understanding is that this list is for folks to HELP each other, and post patches and the like.) I've googled but not found much that helped.

On that topic, it would be very nice if we could somehow arrange for patches that are submitted (e.g., for newer versions of gcc, glibc, etc.) to appear in crosstool (at least in svn) a bit more promptly. Perhaps Dan could delegate if he's too busy??

Here's the details (output from the script I use to kick off crosstool) for each platform:

+ cd crosstool-0.43
+ TARBALLS_DIR=/export/build/toolchain1/new-tools/sources
+ RESULT_TOP=/export/objdir/armv5tel-070916-1920/tools/armv5tel-070916
+ PREFIX=/export/objdir/armv5tel-070916-1920/tools/armv5tel-070916
+ export TARBALLS_DIR RESULT_TOP PREFIX
+ GCC_LANGUAGES=c,c++
+ export GCC_LANGUAGES
+ mkdir -p /export/objdir/armv5tel-070916-1920/tools/armv5tel-070916
+ TARGET=armv5tel-rst-linux
+ LINUX_SANITIZED_HEADER_DIR=
+ BINUTILS_DIR=binutils-2.17
+ GCC_DIR=gcc-4.2.1
+ GLIBC_DIR=glibc-2.3.6
+ GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
+ GDB_DIR=gdb-6.6
+ USE_SYSROOT=/export/objdir/armv5tel-070916-1920/tools/armv5tel-070916/armv5tel-rst-linux/sys-root
+ LINUX_DIR=/export/build/toolchain1/new-tools/build-armv5tel-070916-1920/kernel
+ KERNELCONFIG=/export/build/toolchain1/new-tools/build-armv5tel-070916-1920/kernel/config/xscale-dev
+ TARGET_CFLAGS='-O2 -finline-limit=10000'
+ BINUTILS_EXTRA_CONFIG=' --enable-softfloat=yes '
+ GCC_EXTRA_CONFIG='--enable-checking=yes --enable-threads=posix --with-float=soft --with-cpu=xscale --enable-cxx-flags=-mcpu=xscale --with-endian=little --enable-cxx-flags=-mlittle-endian --enable-languages=c,c++ --enable-shared --enable-__cxa_atexit --disable-libgcj --enable-c99 --enable-long-long --disable-nls --enable-symvers=gnu --disable-multilib '
+ GLIBC_EXTRA_CONFIG=' --without-tls --without-thread --without-__thread --enable-add-ons=linuxthreads --without-fp --disable-profile --disable-debug --without-gd --enable-shared --enable-kernel=2.6.16.16 --without-cvs'
+ export TARGET LINUX_SANITIZED_HEADER_DIR BINUTILS_DIR GCC_DIR GLIBC_DIR GLIBCTHREADS_FILENAME GDB_DIR LINUX_DIR KERNELCONFIG TARGET_CFLAGS BINUTILS_EXTRA_CONFIG GCC_EXTRA_CONFIG GLIBC_EXTRA_CONFIG USE_SYSROOT
+ sh all.sh --notest --gdb


+ cd crosstool-0.43
+ TARBALLS_DIR=/export/build/toolchain1/new-tools/sources
+ RESULT_TOP=/export/objdir/mipsel-070916-1933/tools/mipsel-070916
+ PREFIX=/export/objdir/mipsel-070916-1933/tools/mipsel-070916
+ export TARBALLS_DIR RESULT_TOP PREFIX
+ GCC_LANGUAGES=c,c++
+ export GCC_LANGUAGES
+ mkdir -p /export/objdir/mipsel-070916-1933/tools/mipsel-070916
+ TARGET=mipsel-rst-linux
+ LINUX_SANITIZED_HEADER_DIR=
+ BINUTILS_DIR=binutils-2.17
+ GCC_DIR=gcc-4.2.1
+ GLIBC_DIR=glibc-2.3.6
+ GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
+ GDB_DIR=gdb-6.6
+ USE_SYSROOT=/export/objdir/mipsel-070916-1933/tools/mipsel-070916/mipsel-rst-linux/sys-root
+ LINUX_DIR=/export/build/toolchain1/new-tools/build-mipsel-070916-1933/kernel
+ KERNELCONFIG=/export/build/toolchain1/new-tools/build-mipsel-070916-1933/kernel/config/mipsel-esata
+ TARGET_CFLAGS='-O2 -finline-limit=10000'
+ BINUTILS_EXTRA_CONFIG=' --enable-softfloat=yes '
+ GCC_EXTRA_CONFIG='--enable-checking=yes --enable-threads=posix --with-float=soft --with-arch=mips32 --with-tune=mips32 --with-endian=little --enable-cxx-flags=-mel --enable-libunwind-exceptions --disable-sjlj-exceptions --enable-languages=c,c++ --enable-shared --enable-__cxa_atexit --disable-libgcj --enable-c99 --enable-long-long --disable-nls --enable-symvers=gnu --disable-multilib '
+ GLIBC_EXTRA_CONFIG=' --without-tls --without-thread --without-__thread --enable-add-ons=linuxthreads --without-fp --disable-profile --disable-debug --without-gd --enable-shared --enable-kernel=2.6.12.2 --without-cvs'
+ export TARGET LINUX_SANITIZED_HEADER_DIR BINUTILS_DIR GCC_DIR GLIBC_DIR GLIBCTHREADS_FILENAME GDB_DIR LINUX_DIR KERNELCONFIG TARGET_CFLAGS BINUTILS_EXTRA_CONFIG GCC_EXTRA_CONFIG GLIBC_EXTRA_CONFIG USE_SYSROOT
+ sh all.sh --notest --gdb


Chris MacGregor

--
For unsubscribe information see http://sourceware.org/lists.html#faq


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