This is the mail archive of the crossgcc@sources.redhat.com 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] |
As requested by Dan Kegel, I am resending the patch against 0.30 to get NPTL toolchain building working again. The original patch was against 0.28-rc34. Please let the list know of any issues. Thanks.
diff -urN crosstool-0.30/crosstool.sh crosstool-0.30-nptl-fixes/crosstool.sh --- crosstool-0.30/crosstool.sh 2005-03-24 01:13:14.000000000 -0600 +++ crosstool-0.30-nptl-fixes/crosstool.sh 2005-04-02 17:35:44.791544189 -0600 @@ -48,23 +48,28 @@ BUILD=${GCC_BUILD-`$TOP_DIR/config.guess`} if test -z "${GLIBC_ADDON_OPTIONS}"; then - echo "GLIBC_ADDON_OPTIONS not set, so guessing addons from GLIBCTHREADS_FILENAME and GLIBCCRYPT_FILENAME" - # this is lame, need to fix this for nptl later? - # (nptl is an addon, but it's shipped in the main tarball) + echo "GLIBC_ADDON_OPTIONS not set" GLIBC_ADDON_OPTIONS="=" - case "${GLIBCTHREADS_FILENAME}" in - *linuxthreads*) GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}linuxthreads," ;; - esac + if test '!' -z ${GLIBC_ADDON_LINUXTHREADS}; then + GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}linuxthreads," + elif test '!' -z ${GLIBC_ADDON_NPTL}; then + GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}nptl," + fi # crypt is only an addon for glibc-2.1.x test -z "${GLIBCCRYPT_FILENAME}" || GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}crypt," fi +if test '!' -z "${GLIBC_ADDON_NPTL}"; then + GLIBC_EXTRA_CONFIG="--with-tls --with-__thread ${GLIBC_EXTRA_CONFIG}" + GLIBC_MIN_KERNEL=2.6.4 +else + GLIBC_EXTRA_CONFIG="--without-tls --without-__thread ${GLIBC_EXTRA_CONFIG}" + GLIBC_MIN_KERNEL=2.4.3 +fi + # One is forbidden test -z "${LD_LIBRARY_PATH}" || abort "glibc refuses to build if LD_LIBRARY_PATH is set. Please unset it before running this script." -# And one is derived. -GLIBCTHREADS_FILENAME=`echo $GLIBC_DIR | sed 's/glibc-/glibc-linuxthreads-/'` - # Check for a few prerequisites that have tripped people up. awk '/x/' < /dev/null || abort "You need awk to build a toolchain." test -z "${CFLAGS}" || abort "Don't set CFLAGS, it screws up the build" @@ -321,13 +326,36 @@ # http://sources.redhat.com/ml/libc-alpha/2003-11/msg00045.html cp bits/stdio_lim.h $HEADERDIR/bits/stdio_lim.h + if test '!' -z "${GLIBC_ADDON_NPTL}"; then + # To build gcc with thread support requires real pthread headers. These + # will have to manually be copied from under the tree of the desired + # target pthread implementation. + cp ${GLIBC_DIR}/nptl/sysdeps/pthread/pthread.h $HEADERDIR/pthread.h + cp ${GLIBC_DIR}/nptl/sysdeps/unix/sysv/linux/${ARCH}/bits/pthreadtypes.h $HEADERDIR/bits/pthreadtypes.h + + # On s390, powerpc and sparc we also require bits/wordsize.h. + case $TARGET in + sparc* | s390* | powerpc* ) + case $TARGET in + sparc64* ) wordsize_h=sysdeps/sparc/sparc64/bits/wordsize.h ;; + sparc* ) wordsize_h=sysdeps/sparc/sparc32/bits/wordsize.h ;; + s390x* ) wordsize_h=sysdeps/s390/s390x/bits/wordsize.h ;; + s390* ) wordsize_h=sysdeps/s390/s390/bits/wordsize.h ;; + powerpc64* ) wordsize_h=sysdeps/powerpc/powerpc64/bits/wordsize.h ;; + powerpc* ) wordsize_h=sysdeps/powerpc/powerpc32/bits/wordsize.h ;; + esac + test ! -f $HEADERDIR/bits/wordsize.h && cp ${GLIBC_DIR}/${wordsize_h} $HEADERDIR/bits/wordsize.h + ;; + esac + fi # GLIBC_ADDONS_NPTL + cd .. fi #--------------------------------------------------------- -echo "Build gcc-core (just enough to build glibc)" +echo "Build gcc-core w/o shared libgcc (just enough to build glibc starfiles)" -mkdir -p build-gcc-core; cd build-gcc-core +mkdir -p build-gcc-core-static; cd build-gcc-core-static # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532) @@ -354,8 +382,114 @@ test -x ${PREFIX}/bin/${TARGET}-gcc${EXEEXT} || abort Build failed during gcc-core +# Following extra steps required for building an NPTL enabled glibc. +if test '!' -z "${GLIBC_ADDON_NPTL}"; then + #--------------------------------------------------------- + echo "Build glibc startfiles (required for shared libgcc)" + + mkdir -p build-glibc-startfiles; cd build-glibc-startfiles + + # sh4 really needs to set configparms as of gcc-3.4/glibc-2.3.2 + # note: this is awkward, doesn't work well if you need more than one line in configparms + echo ${GLIBC_CONFIGPARMS} > configparms + + echo "libc_cv_forced_unwind=yes" > config.cache + echo "libc_cv_c_cleanup=yes" >> config.cache + # this here is moot, currently you cannot build nptl for sparc64 + case ${TARGET} in + sparc64* ) echo "libc_cv_sparc64_tls=yes" >> config.cache ;; + esac + + if test '!' -f Makefile; then + # Configure with --prefix the way we want it on the target... + # There are a whole lot of settings here. You'll probably want + # to read up on what they all mean, and customize a bit. + # e.g. I picked --enable-kernel=2.4.3 here just because it's the kernel Bill + # used in his example gcc2.95.3 script. That means some backwards compatibility + # stuff is turned on in glibc that you may not need if you're using a newer kernel. + # Compare these options with the ones used when installing the glibc headers above - they're different. + # Adding "--without-gd" option to avoid error "memusagestat.c:36:16: gd.h: No such file or directory" + # See also http://sources.redhat.com/ml/libc-alpha/2000-07/msg00024.html. + # Set BUILD_CC, or you won't be able to build datafiles + # Set --build, else glibc-2.3.2 will think you're not cross-compiling, and try to run the test programs + + BUILD_CC=gcc CFLAGS="$TARGET_CFLAGS" CC="${TARGET}-gcc $GLIBC_EXTRA_CC_ARGS" \ + AR=${TARGET}-ar RANLIB=${TARGET}-ranlib \ + ${GLIBC_DIR}/configure --prefix=/usr \ + --build=$BUILD --host=$TARGET \ + ${GLIBC_EXTRA_CONFIG} \ + --enable-kernel=${GLIBC_MIN_KERNEL} \ + --without-cvs --disable-profile --disable-debug --without-gd \ + $SHARED_MODE \ + --enable-add-ons${GLIBC_ADDON_OPTIONS} --with-headers=$HEADERDIR \ + --cache-file=config.cache + fi + + #TODO: should check whether slibdir has been set in configparms to */lib64 + # and copy the startfiles into the appropriate libdir. + make csu/subdir_lib + + test -z "${USE_SYSROOT}" && + cp -fp csu/crt[1in].o ${SYSROOT}/lib/ || + cp -fp csu/crt[1in].o ${SYSROOT}/usr/lib/ + + cd .. + + #--------------------------------------------------------- + echo "Build gcc-core w shared libgcc" + + mkdir -p build-gcc-core-shared; cd build-gcc-core-shared + + # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532) + + if test '!' -f Makefile; then + ${GCC_DIR}/configure $CANADIAN_BUILD --target=$TARGET --host=$GCC_HOST --prefix=$PREFIX \ + --with-local-prefix=${SYSROOT} \ + --disable-multilib \ + ${GCC_EXTRA_CONFIG} \ + ${GCC_SYSROOT_ARG_CORE} \ + --disable-nls \ + --enable-symvers=gnu \ + --enable-__cxa_atexit \ + --enable-languages=c \ + --enable-shared + fi + + # HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or + # gcc/config/t-libunwind so -lc is removed from the link for + # libgcc_s.so, as we do not have a target -lc yet. + # This is not as ugly as it appears to be ;-) All symbols get resolved + # during the glibc build, and we provide a proper libgcc_s.so for the + # cross toolchain during the final gcc build. + # + # As we cannot modify the source tree, nor override SHLIB_LC itself + # during configure or make, we have to edit the resultant + # gcc/libgcc.mk itself to remove -lc from the link. + # This causes us to have to jump through some hoops... + # + # To produce libgcc.mk to edit we firstly require libiberty.a, + # so we configure then build it. + # Next we have to configure gcc, create libgcc.mk then edit it... + # So much easier if we just edit the source tree, but hey... + make configure-libiberty + make -C libiberty libiberty.a + make configure-gcc + make -C gcc libgcc.mk + + if test '!' -f gcc/libgcc.mk-ORIG ; then cp -p gcc/libgcc.mk gcc/libgcc.mk-ORIG; fi + sed 's@-lc@@g' < gcc/libgcc.mk-ORIG > gcc/libgcc.mk + + test "$CANADIAN_BUILD" = "" || make $PARALLELMFLAGS all-build-libiberty || true + make $PARALLELMFLAGS all-gcc + make install-gcc + + cd .. + + test -x ${PREFIX}/bin/${TARGET}-gcc || abort Build failed during gcc-core + +fi # GLIBC_ADDON_NPTL #--------------------------------------------------------- -echo Build glibc and linuxthreads +echo Build glibc mkdir -p build-glibc; cd build-glibc @@ -363,6 +497,16 @@ # note: this is awkward, doesn't work well if you need more than one line in configparms echo ${GLIBC_CONFIGPARMS} > configparms +if test '!' -z "${GLIBC_ADDON_NPTL}"; then + # Following configure tests fail while cross-compiling + echo "libc_cv_forced_unwind=yes" > config.cache + echo "libc_cv_c_cleanup=yes" >> config.cache + # The following is moot, currently you cannot build nptl for sparc64 + case ${TARGET} in + sparc64* ) echo "libc_cv_sparc64_tls=yes" >> config.cache ;; + esac +fi # GLIBC_ADDON_NPTL + if test '!' -f Makefile; then # Configure with --prefix the way we want it on the target... # There are a whole lot of settings here. You'll probably want @@ -381,11 +525,11 @@ ${GLIBC_DIR}/configure --prefix=/usr \ --build=$BUILD --host=$TARGET \ ${GLIBC_EXTRA_CONFIG} \ - --enable-kernel=2.4.3 \ + --enable-kernel=${GLIBC_MIN_KERNEL} \ --without-cvs --disable-profile --disable-debug --without-gd \ - --without-tls --without-__thread \ $SHARED_MODE \ - --enable-add-ons${GLIBC_ADDON_OPTIONS} --with-headers=$HEADERDIR + --enable-add-ons${GLIBC_ADDON_OPTIONS} --with-headers=$HEADERDIR \ + --cache-file=config.cache fi if grep -l '^install-lib-all:' ${GLIBC_DIR}/Makerules > /dev/null; then diff -urN crosstool-0.30/demo-alpha-nptl.sh crosstool-0.30-nptl-fixes/demo-alpha-nptl.sh --- crosstool-0.30/demo-alpha-nptl.sh 1969-12-31 18:00:00.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-alpha-nptl.sh 2005-04-02 17:05:00.935622160 -0600 @@ -0,0 +1,19 @@ +#!/bin/sh +set -ex +TARBALLS_DIR=$HOME/downloads +RESULT_TOP=/opt/crosstool +export TARBALLS_DIR RESULT_TOP +GCC_LANGUAGES="c,c++" +export GCC_LANGUAGES + +GLIBC_ADDON_NPTL=1 +export GLIBC_ADDON_NPTL=1 + +# Really, you should do the mkdir before running this, +# and chown /opt/crosstool to yourself so you don't need to run as root. +mkdir -p $RESULT_TOP + +# Build the toolchain. Takes a couple hours and a couple gigabytes. + eval `cat alpha.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest + +echo Done. diff -urN crosstool-0.30/demo-alpha.sh crosstool-0.30-nptl-fixes/demo-alpha.sh --- crosstool-0.30/demo-alpha.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-alpha.sh 2005-04-02 17:05:00.936622010 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-arm-iwmmxt.sh crosstool-0.30-nptl-fixes/demo-arm-iwmmxt.sh --- crosstool-0.30/demo-arm-iwmmxt.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-arm-iwmmxt.sh 2005-04-02 17:05:00.937621859 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-arm-softfloat.sh crosstool-0.30-nptl-fixes/demo-arm-softfloat.sh --- crosstool-0.30/demo-arm-softfloat.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-arm-softfloat.sh 2005-04-02 17:05:00.939621558 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-arm.sh crosstool-0.30-nptl-fixes/demo-arm.sh --- crosstool-0.30/demo-arm.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-arm.sh 2005-04-02 17:05:00.938621709 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-arm9tdmi.sh crosstool-0.30-nptl-fixes/demo-arm9tdmi.sh --- crosstool-0.30/demo-arm9tdmi.sh 2005-03-09 15:50:19.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-arm9tdmi.sh 2005-04-02 17:05:00.936622010 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-armeb.sh crosstool-0.30-nptl-fixes/demo-armeb.sh --- crosstool-0.30/demo-armeb.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-armeb.sh 2005-04-02 17:05:00.937621859 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-armv5b-softfloat.sh crosstool-0.30-nptl-fixes/demo-armv5b-softfloat.sh --- crosstool-0.30/demo-armv5b-softfloat.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-armv5b-softfloat.sh 2005-04-02 17:05:00.939621558 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-cris.sh crosstool-0.30-nptl-fixes/demo-cris.sh --- crosstool-0.30/demo-cris.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-cris.sh 2005-04-02 17:05:00.940621408 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-i686-nptl.sh crosstool-0.30-nptl-fixes/demo-i686-nptl.sh --- crosstool-0.30/demo-i686-nptl.sh 1969-12-31 18:00:00.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-i686-nptl.sh 2005-04-02 17:14:39.797422985 -0600 @@ -0,0 +1,20 @@ +#!/bin/sh +set -ex +TARBALLS_DIR=$PWD/downloads +RESULT_TOP=/opt/crosstool +export TARBALLS_DIR RESULT_TOP +GCC_LANGUAGES="c,c++" +export GCC_LANGUAGES + +GLIBC_ADDON_NPTL=1 +export GLIBC_ADDON_NPTL + +# Really, you should do the mkdir before running this, +# and chown /opt/crosstool to yourself so you don't need to run as root. +mkdir -p $RESULT_TOP + +# Build the toolchain. Takes a couple hours and a couple gigabytes. +# +eval `cat i686.dat gcc-3.4.3-glibc-2.3.3.dat` sh all.sh --notest + +echo Done. diff -urN crosstool-0.30/demo-i686.sh crosstool-0.30-nptl-fixes/demo-i686.sh --- crosstool-0.30/demo-i686.sh 2005-03-26 13:20:04.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-i686.sh 2005-04-02 17:05:00.941621257 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-ia64.sh crosstool-0.30-nptl-fixes/demo-ia64.sh --- crosstool-0.30/demo-ia64.sh 2005-03-09 15:49:19.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-ia64.sh 2005-04-02 17:05:00.941621257 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-m68k.sh crosstool-0.30-nptl-fixes/demo-m68k.sh --- crosstool-0.30/demo-m68k.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-m68k.sh 2005-04-02 17:05:00.942621106 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-mipsel.sh crosstool-0.30-nptl-fixes/demo-mipsel.sh --- crosstool-0.30/demo-mipsel.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-mipsel.sh 2005-04-02 17:05:00.943620956 -0600 @@ -20,6 +20,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-powerpc64-nptl.sh crosstool-0.30-nptl-fixes/demo-powerpc64-nptl.sh --- crosstool-0.30/demo-powerpc64-nptl.sh 1969-12-31 18:00:00.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-powerpc64-nptl.sh 2005-04-02 17:05:00.943620956 -0600 @@ -0,0 +1,19 @@ +#!/bin/sh +set -ex +TARBALLS_DIR=$HOME/downloads +RESULT_TOP=/opt/crosstool +export TARBALLS_DIR RESULT_TOP +GCC_LANGUAGES="c,c++" +export GCC_LANGUAGES + +GLIBC_ADDON_NPTL=1 +export GLIBC_ADDON_NPTL + +# Really, you should do the mkdir before running this, +# and chown /opt/crosstool to yourself so you don't need to run as root. +mkdir -p $RESULT_TOP + +# Build the toolchain. Takes a couple hours and a couple gigabytes. + eval `cat powerpc-970.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest + +echo Done. diff -urN crosstool-0.30/demo-ppc405.sh crosstool-0.30-nptl-fixes/demo-ppc405.sh --- crosstool-0.30/demo-ppc405.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-ppc405.sh 2005-04-02 17:05:11.955962565 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-ppc440.sh crosstool-0.30-nptl-fixes/demo-ppc440.sh --- crosstool-0.30/demo-ppc440.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-ppc440.sh 2005-04-02 17:05:11.956962414 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-ppc604.sh crosstool-0.30-nptl-fixes/demo-ppc604.sh --- crosstool-0.30/demo-ppc604.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-ppc604.sh 2005-04-02 17:05:11.956962414 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-ppc7450.sh crosstool-0.30-nptl-fixes/demo-ppc7450.sh --- crosstool-0.30/demo-ppc7450.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-ppc7450.sh 2005-04-02 17:05:11.957962264 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-ppc750.sh crosstool-0.30-nptl-fixes/demo-ppc750.sh --- crosstool-0.30/demo-ppc750.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-ppc750.sh 2005-04-02 17:05:11.958962113 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-ppc860.sh crosstool-0.30-nptl-fixes/demo-ppc860.sh --- crosstool-0.30/demo-ppc860.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-ppc860.sh 2005-04-02 17:05:11.958962113 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-ppc970.sh crosstool-0.30-nptl-fixes/demo-ppc970.sh --- crosstool-0.30/demo-ppc970.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-ppc970.sh 2005-04-02 17:05:11.959961963 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-s390.sh crosstool-0.30-nptl-fixes/demo-s390.sh --- crosstool-0.30/demo-s390.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-s390.sh 2005-04-02 17:05:11.959961963 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-sh3.sh crosstool-0.30-nptl-fixes/demo-sh3.sh --- crosstool-0.30/demo-sh3.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-sh3.sh 2005-04-02 17:05:11.960961812 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-sh4.sh crosstool-0.30-nptl-fixes/demo-sh4.sh --- crosstool-0.30/demo-sh4.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-sh4.sh 2005-04-02 17:05:11.961961661 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-sparc.sh crosstool-0.30-nptl-fixes/demo-sparc.sh --- crosstool-0.30/demo-sparc.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-sparc.sh 2005-04-02 17:05:11.962961511 -0600 @@ -6,6 +6,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-sparc64.sh crosstool-0.30-nptl-fixes/demo-sparc64.sh --- crosstool-0.30/demo-sparc64.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-sparc64.sh 2005-04-02 17:05:11.961961661 -0600 @@ -8,6 +8,9 @@ #PARALLELMFLAGS="-j2" #export PARALLELMFLAGS +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/demo-x86_64-nptl.sh crosstool-0.30-nptl-fixes/demo-x86_64-nptl.sh --- crosstool-0.30/demo-x86_64-nptl.sh 1969-12-31 18:00:00.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-x86_64-nptl.sh 2005-04-02 17:05:11.962961511 -0600 @@ -0,0 +1,22 @@ +#!/bin/sh +set -ex +TARBALLS_DIR=$HOME/downloads +RESULT_TOP=/opt/crosstool +export TARBALLS_DIR RESULT_TOP +#GCC_LANGUAGES="c,c++,java,f77" +GCC_LANGUAGES="c,c++" +export GCC_LANGUAGES + +GLIBC_ADDON_NPTL=1 +export GLIBC_ADDON_NPTL + +# Really, you should do the mkdir before running this, +# and chown /opt/crosstool to yourself so you don't need to run as root. +mkdir -p $RESULT_TOP + +# Build the toolchain. Takes a couple hours and a couple gigabytes. +# Must use --with-sysroot, which means you need gcc-3.3.3 or later. +# eval `cat x86_64.dat gcc-3.4.1-glibc-2.3.3.dat` sh all.sh --notest + eval `cat x86_64.dat gcc-3.4.1-glibc-2.3.4.dat` sh all.sh --notest + +echo Done. diff -urN crosstool-0.30/demo-x86_64.sh crosstool-0.30-nptl-fixes/demo-x86_64.sh --- crosstool-0.30/demo-x86_64.sh 2005-03-07 18:34:34.000000000 -0600 +++ crosstool-0.30-nptl-fixes/demo-x86_64.sh 2005-04-02 17:05:11.963961360 -0600 @@ -7,6 +7,9 @@ GCC_LANGUAGES="c,c++" export GCC_LANGUAGES +GLIBC_ADDON_LINUXTHREADS=1 +export GLIBC_ADDON_LINUXTHREADS + # Really, you should do the mkdir before running this, # and chown /opt/crosstool to yourself so you don't need to run as root. mkdir -p $RESULT_TOP diff -urN crosstool-0.30/gcc-3.2.3-glibc-2.3.2.dat crosstool-0.30-nptl-fixes/gcc-3.2.3-glibc-2.3.2.dat --- crosstool-0.30/gcc-3.2.3-glibc-2.3.2.dat 2005-03-09 16:05:23.000000000 -0600 +++ crosstool-0.30-nptl-fixes/gcc-3.2.3-glibc-2.3.2.dat 2005-04-02 17:05:11.968960607 -0600 @@ -2,4 +2,3 @@ GCC_DIR=gcc-3.2.3 LINUX_DIR=linux-2.4.26 GLIBC_DIR=glibc-2.3.2 -GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2 diff -urN crosstool-0.30/gcc-3.3-glibc-2.3.2.dat crosstool-0.30-nptl-fixes/gcc-3.3-glibc-2.3.2.dat --- crosstool-0.30/gcc-3.3-glibc-2.3.2.dat 2005-03-09 16:05:23.000000000 -0600 +++ crosstool-0.30-nptl-fixes/gcc-3.3-glibc-2.3.2.dat 2005-04-02 17:05:11.979958950 -0600 @@ -2,4 +2,3 @@ GCC_DIR=gcc-3.3 LINUX_DIR=linux-2.4.26 GLIBC_DIR=glibc-2.3.2 -GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2 diff -urN crosstool-0.30/gcc-3.3.4-glibc-2.1.3.dat crosstool-0.30-nptl-fixes/gcc-3.3.4-glibc-2.1.3.dat --- crosstool-0.30/gcc-3.3.4-glibc-2.1.3.dat 2005-03-09 16:05:23.000000000 -0600 +++ crosstool-0.30-nptl-fixes/gcc-3.3.4-glibc-2.1.3.dat 2005-04-02 17:05:11.975959553 -0600 @@ -1,6 +1,5 @@ BINUTILS_DIR=binutils-2.15 GCC_DIR=gcc-3.3.4 GLIBC_DIR=glibc-2.1.3 -GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.1.3 GLIBCCRYPT_FILENAME=glibc-crypt-2.1 LINUX_DIR=linux-2.4.26 diff -urN crosstool-0.30/gcc-3.3.4-glibc-2.2.5.dat crosstool-0.30-nptl-fixes/gcc-3.3.4-glibc-2.2.5.dat --- crosstool-0.30/gcc-3.3.4-glibc-2.2.5.dat 2005-03-09 16:05:23.000000000 -0600 +++ crosstool-0.30-nptl-fixes/gcc-3.3.4-glibc-2.2.5.dat 2005-04-02 17:05:11.976959402 -0600 @@ -1,5 +1,4 @@ BINUTILS_DIR=binutils-2.15 GCC_DIR=gcc-3.3.4 GLIBC_DIR=glibc-2.2.5 -GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.2.5 LINUX_DIR=linux-2.4.26 diff -urN crosstool-0.30/gcc-3.3.4-glibc-2.3.2.dat crosstool-0.30-nptl-fixes/gcc-3.3.4-glibc-2.3.2.dat --- crosstool-0.30/gcc-3.3.4-glibc-2.3.2.dat 2005-03-09 16:05:23.000000000 -0600 +++ crosstool-0.30-nptl-fixes/gcc-3.3.4-glibc-2.3.2.dat 2005-04-02 17:05:11.976959402 -0600 @@ -1,5 +1,4 @@ BINUTILS_DIR=binutils-2.15 GCC_DIR=gcc-3.3.4 GLIBC_DIR=glibc-2.3.2 -GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2 LINUX_DIR=linux-2.4.26 diff -urN crosstool-0.30/gcc-3.3.4-glibc-2.3.3.dat crosstool-0.30-nptl-fixes/gcc-3.3.4-glibc-2.3.3.dat --- crosstool-0.30/gcc-3.3.4-glibc-2.3.3.dat 2005-03-09 16:05:23.000000000 -0600 +++ crosstool-0.30-nptl-fixes/gcc-3.3.4-glibc-2.3.3.dat 2005-04-02 17:05:11.977959252 -0600 @@ -1,5 +1,4 @@ BINUTILS_DIR=binutils-2.15 GCC_DIR=gcc-3.3.4 GLIBC_DIR=glibc-2.3.3 -GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.3 LINUX_DIR=linux-2.4.26 diff -urN crosstool-0.30/gcc-3.4.1-glibc-2.3.4.dat crosstool-0.30-nptl-fixes/gcc-3.4.1-glibc-2.3.4.dat --- crosstool-0.30/gcc-3.4.1-glibc-2.3.4.dat 1969-12-31 18:00:00.000000000 -0600 +++ crosstool-0.30-nptl-fixes/gcc-3.4.1-glibc-2.3.4.dat 2005-04-02 17:05:11.986957896 -0600 @@ -0,0 +1,4 @@ +BINUTILS_DIR=binutils-2.15 +GCC_DIR=gcc-3.4.1 +GLIBC_DIR=glibc-2.3.4-20040701 +LINUX_DIR=linux-2.6.6 diff -urN crosstool-0.30/getandpatch.sh crosstool-0.30-nptl-fixes/getandpatch.sh --- crosstool-0.30/getandpatch.sh 2005-03-20 01:43:59.000000000 -0600 +++ crosstool-0.30-nptl-fixes/getandpatch.sh 2005-04-02 17:09:34.527215859 -0600 @@ -21,7 +21,9 @@ test -z "${GLIBC_DIR}" && abort "Please set GLIBC_DIR to the bare filename of the glibc tarball or directory" test -z "${LINUX_DIR}" && abort "Please set LINUX_DIR to the bare filename of the kernel tarball or directory" # And one is derived. - GLIBCTHREADS_FILENAME=`echo $GLIBC_DIR | sed 's/glibc-/glibc-linuxthreads-/'` + if test '!' -z "${GLIBC_ADDON_LINUXTHREADS}"; then + GLIBCTHREADS_FILENAME=`echo $GLIBC_DIR | sed 's/glibc-/glibc-linuxthreads-/'` + fi fi test -z "${TARBALLS_DIR}" && abort "Please set TARBALLS_DIR to the directory to download tarballs to." @@ -204,7 +206,7 @@ *) abort "unknown version $LINUX_DIR of linux, expected 2.4 or 2.6 in name?" ;; esac # Glibc addons must come after glibc - getUnpackAndPatch ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCTHREADS_FILENAME.tar.bz2 ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCTHREADS_FILENAME.tar.gz + test x$GLIBCTHREADS_FILENAME = x || getUnpackAndPatch ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCTHREADS_FILENAME.tar.bz2 ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCTHREADS_FILENAME.tar.gz test x$GLIBCCRYPT_FILENAME = x || getUnpackAndPatch ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCCRYPT_FILENAME.tar.gz ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCCRYPT_FILENAME.tar.bz2 fi
------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |