crosstool-0.43 released
Nye Liu
nyet@mrv.com
Fri Dec 8 04:26:00 GMT 2006
Awesome work dan.
Worked (almost) out of the box for powerpc-860-gnu-linux-
and gcc-4.1.1-glibc-2.3.6 (with nptl)!
enclosed is what i needed
the main thing is that glibc sysdeps/powerpc/powerpc32/memset.S
is still busted for 8xx, and initfini.s still needs
$(fno-unit-at-a-time)
crosstool rocks.
Index: gcc-4.1.1-glibc-2.3.6-nptl.dat
===================================================================
--- gcc-4.1.1-glibc-2.3.6-nptl.dat (.../vendor/crosstool/current) (revision 0)
+++ gcc-4.1.1-glibc-2.3.6-nptl.dat (.../trunk/tools/crosstool) (revision 6652)
@@ -0,0 +1,7 @@
+BINUTILS_DIR=binutils-2.16.1
+GCC_DIR=gcc-4.1.1
+GLIBC_DIR=glibc-2.3.6
+LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
+GDB_DIR=gdb-6.5
+GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --with-tls --with-__thread"
+GLIBC_ADDON_OPTIONS="=nptl"
Index: patches/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch
===================================================================
--- patches/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch (.../vendor/crosstool/current) (revision 0)
+++ patches/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch (.../trunk/tools/crosstool) (revision 6652)
@@ -0,0 +1,23 @@
+fixes
+
+/local/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-860-linux-gnu/lib/gcc/powerpc-860-linux-gnu/4.1.0/../../../../powerpc-860-linux-gnu/lib/crtn.o: In function `dummy':
+/home/nyet/src/crosstool/build/powerpc-860-linux-gnu/gcc-4.1.0-glibc-2.3.6/build-glibc-startfiles/csu/crtn.S:14: multiple definition of `dummy'
+/local/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-860-linux-gnu/lib/gcc/powerpc-860-linux-gnu/4.1.0/../../../../powerpc-860-linux-gnu/lib/crti.o:/home/nyet/src/crosstool/build/powerpc-860-linux-gnu/gcc-4.1.0-glibc-2.3.6/build-glibc-startfiles/csu/crti.S:33: first defined here
+/local/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-860-linux-gnu/lib/gcc/powerpc-860-linux-gnu/4.1.0/../../../../powerpc-860-linux-gnu/lib/crtn.o: In function `_init':
+/home/nyet/src/crosstool/build/powerpc-860-linux-gnu/gcc-4.1.0-glibc-2.3.6/build-glibc-startfiles/csu/crtn.S:30: multiple definition of `_init'
+/local/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-860-linux-gnu/lib/gcc/powerpc-860-linux-gnu/4.1.0/../../../../powerpc-860-linux-gnu/lib/crti.o:/home/nyet/src/crosstool/build/powerpc-860-linux-gnu/gcc-4.1.0-glibc-2.3.6/build-glibc-startfiles/csu/crti.S:65: first defined here
+/local/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-860-linux-gnu/lib/gcc/powerpc-860-linux-gnu/4.1.0/../../../../powerpc-860-linux-gnu/lib/crtn.o: In function `_fini':
+/home/nyet/src/crosstool/build/powerpc-860-linux-gnu/gcc-4.1.0-glibc-2.3.6/build-glibc-startfiles/csu/crtn.S:25: multiple definition of `_fini'
+
+--- glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile.org 2006-08-21 19:03:01.000000000 -0700
++++ glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile 2006-08-21 19:03:19.000000000 -0700
+@@ -21,7 +21,7 @@
+ ifneq ($(elf),no)
+ # The initfini generation code doesn't work in the presence of -fPIC, so
+ # we use -fpic instead which is much better.
+-CFLAGS-initfini.s = -g0 -fpic -O1
++CFLAGS-initfini.s = -g0 -fpic -O1 $(fno-unit-at-a-time)
+
+ # There is no benefit to using sdata for these objects, and the user
+ # of the library should be able to control what goes into sdata.
+
Index: crosstool.sh
===================================================================
--- crosstool.sh (.../vendor/crosstool/current) (revision 6652)
+++ crosstool.sh (.../trunk/tools/crosstool) (revision 6652)
@@ -529,6 +529,11 @@
export libc_cv_forced_unwind libc_cv_c_cleanup
fi
+ case ${TARGET} in
+ # remove inline asm powerpc memset, which is broken for 8xx
+ powerpc-8* ) rm -f ${GLIBC_DIR}/sysdeps/powerpc/powerpc32/memset.S ;;
+ esac
+
BUILD_CC=gcc CFLAGS="$TARGET_CFLAGS $EXTRA_TARGET_CFLAGS" CC="${TARGET}-gcc $GLIBC_EXTRA_CC_ARGS" \
AR=${TARGET}-ar RANLIB=${TARGET}-ranlib \
${GLIBC_DIR}/configure --prefix=/usr \
Index: powerpc-860.dat
===================================================================
--- powerpc-860.dat (.../vendor/crosstool/current) (revision 6652)
+++ powerpc-860.dat (.../trunk/tools/crosstool) (revision 6652)
@@ -1,4 +1,4 @@
TARGET=powerpc-860-linux-gnu
TARGET_CFLAGS="-O"
-GCC_EXTRA_CONFIG="--with-cpu=860 --enable-cxx-flags=-mcpu=860"
+GCC_EXTRA_CONFIG="--with-cpu=860 --with-float=soft --enable-cxx-flags=-mcpu=860 --enable-cxx-flags=-msoft-float --disable-multilib"
GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --without-fp"
On Thu, Dec 07, 2006 at 04:41:08PM -0800, Dan Kegel wrote:
> This release is a simple update to include
> gcc-4.1.1, and to clean up the long-suffering demo scripts.
> It also includes Ian Lance Taylor's quickie attempt at nptl
> support; I haven't really tried that, but I trust him, and it
> should at least be interesting.
>
> There are quite a few other updates needed (glibc-2.5, anyone?),
> but the compiler update at least should be useful.
>
> Home page:
> http://kegel.com/crosstool/
> Quick download:
> http://kegel.com/crosstool/crosstool-0.43.tar.gz
> Build results matrix:
> http://kegel.com/crosstool/crosstool-0.43/buildlogs/
>
>
>
> Changelog:
>
> 0.43:
> gcc:
> * add gcc-4.1.1 final
> * add gcc-4.1-20060811, snapshot on 20060811
> * add gcc-4.2-20061024, snapshot on 20061024
> * add libmudflap to runtimes rpms so users can do things like
> "-fmudflap".
> * add libssp to runtimes rpms so users can do things like
> "-fstack-protector" and "-lssp"
> * enabled tls for 2.4.18 and up, since somebody may need tls support
> from such kernel.
> * fixed a bug in toolchain.dat and cpu.dat, append to GLIBC_EXTRA_CONFIG
> rather than overwrite it. It might be defined both in toolchain.dat
> and cpu.dat, or it might be defined by a crosstool user, who added
> a definition to GLIBC_EXTRA_CONFIG. Before this buf fix, whichever came
> first would have been overwritten.
> * add gcc-4.1.1-glibc-2.3.5-nptl.dat as Ian's first cut at simple
> way of enabling NPTL.
>
> gdb:
> * add gdb-6.5 final
>
> fix-embedded-paths.c:
> * fixed a bug in fix-embedded-paths.c. Simon Baldwin tracked a gdb crash
> down to a bug in the crosstool build scripts (they ran
> fix-embedded-paths.c
> on libstdc++.so, which wasn't strictly neccessary). His
> proposed workaround
> is to modify fix-embedded-paths.c to use slash padding rather
> than space or
> null padding, and run it again on the affected libraries.
>
> crosstool.spec.in:
> buildsrpms.sh:
> * add __PKGPREFIX__ to allow users to specify the name prefix of the
> rpms.
>
> buildlogs:
> * add gcc-4.1.1 build results and update build matrix.
>
> regtest-report.sh:
> * add nptl to build matrix
>
>
> --
> Wine for Windows ISVs: http://kegel.com/wine/isv
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>
--
Nye Liu
nliu@mrv.com
(818) 772-6235x248
(818) 772-0576 fax
"Who would be stupid enough to quote a fictitious character?"
-- Don Quixote
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list