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]

NPTL patch for crosstool-0.42


Hi,

I have done few changes to contrib/2005a/crosstool-0.38-nptl.patch. My changes are merged into the attached patch.
A few things that I have tried to do.


1. Compile glibc-cvs with gcc-cvs. that means glibc-2.4. I have added a new variable called GLIBC_PORTS_DIR which should be defined relative to the GLIBC_DIR. Currently I have only enabled ports if architecture is arm it seems we will need it for ppc64/soft-float as well.

2. I had to add GCC_EXTRA_CONFIG=--disable-libunwind-exceptions to .dat file to get glibc w/ nptl compiled.

3. I made sure that existing NPTL builds ok. So I tested a i686 NPTL build. All went fine I had a scripting error towards the end while executing

sh $TOP_DIR/masq.sh

it complained that rm could not delete bin because it was a folder. The following line of script caused this error. But toolchain build was successful.

# but remove symlinks to special cases
rm $DISTRIB_APPS


4. To test the ports add-on I attempted a arm-softfloat build but did not complete glibc due to aggressive inlining tempering the labels in initfini.s. But at least it recognised ports addon as arm is moved to ports in glibc-2.4


This patch is getting bigger and bigger. I think in order to get this work merged with main script, we should do builds for older toolchains to make sure we don't break anything. I will keep doing some stuff in the limited time I find.

Anybody helping to test other architectures for NPTL are more than welcome.


I am attaching my sample gcc-glibc.dat file which I used.


Thanks

-Khem
diff -Naurp crosstool-0.42/crosstool.sh crosstool-0.42.khem/crosstool.sh
--- crosstool-0.42/crosstool.sh	2006-02-25 18:14:13.000000000 -0800
+++ crosstool-0.42.khem/crosstool.sh	2006-03-08 16:13:59.000000000 -0800
@@ -70,16 +70,30 @@ BUILD=${GCC_BUILD-`$TOP_DIR/config.guess
 test -z "$BUILD" && abort "bug: BUILD not set?!"
 
 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
+case $TARGET in
+        arm*)
+        GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}${GLIBC_PORTS_DIR},"
+        ;;
+        *)
+esac
+
 
 # Add some default glibc config options if not given by user.  These used to be hardcoded.
 DEFAULT_GLIBC_EXTRA_CONFIG=""
@@ -99,10 +113,6 @@ esac
 # 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 if unset.
-test -z "${GLIBCTHREADS_FILENAME}" &&
-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"
@@ -421,7 +431,7 @@ if grep -q 'gcc-[34]' ${GCC_CORE_DIR}/Ch
             ${GLIBC_DIR}/configure --prefix=/usr \
             --build=$BUILD --host=$TARGET \
             --without-cvs --disable-sanity-checks --with-headers=$HEADERDIR \
-            --enable-hacker-mode
+            --enable-add-ons=${GLIBC_PORTS_DIR} --enable-hacker-mode
     fi
 
     if grep -q GLIBC_2.3 ${GLIBC_DIR}/ChangeLog; then
@@ -463,13 +473,45 @@ if grep -q 'gcc-[34]' ${GCC_CORE_DIR}/Ch
     # so uncomment this if you need it
     #cp misc/syscall-list.h $HEADERDIR/bits/syscall.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.
+        case "${ARCH}" in
+        ppc)
+            ARCH_DIR="powerpc"
+            ;;
+        *)
+            ARCH_DIR="${ARCH}"
+            ;;
+        esac
+
+        cp ${GLIBC_DIR}/nptl/sysdeps/pthread/pthread.h $HEADERDIR/pthread.h
+        cp ${GLIBC_DIR}/nptl/sysdeps/unix/sysv/linux/${ARCH_DIR}/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
 
 echo Copy headers to install area of bootstrap gcc, so it can build libgcc2
 mkdir -p $CORE_PREFIX/$TARGET/include
@@ -501,8 +543,126 @@ cd ..
 
 logresult gcc-core $CORE_PREFIX/bin/${TARGET}-gcc${EXEEXT}
 
+# 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...
+    if test '!' -f ${GCC_DIR}/gcc/BASE-VER; then
+        make configure-libiberty
+        make -C libiberty libiberty.a
+        make configure-gcc
+    else
+	if test -d ${GCC_DIR}/libdecnumber; then
+	    make configure-libdecnumber
+	    make all-libdecnumber
+	fi
+        make configure-gcc
+	make configure-libcpp
+	make configure-build-libiberty
+	make all-libcpp
+	make all-build-libiberty
+    fi
+    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 ..
+
+    logresult gcc-core-shared ${PREFIX}/bin/${TARGET}-gcc${EXEEXT} 
+
+fi # GLIBC_ADDON_NPTL
 #---------------------------------------------------------
-echo Build glibc and linuxthreads
+echo Build glibc
 
 mkdir -p build-glibc; cd build-glibc
 
@@ -510,6 +670,16 @@ mkdir -p build-glibc; cd build-glibc
 # 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
@@ -527,7 +697,8 @@ if test '!' -f Makefile; then
         ${GLIBC_EXTRA_CONFIG} ${DEFAULT_GLIBC_EXTRA_CONFIG} \
         --without-cvs --disable-profile --disable-debug --without-gd \
         $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
@@ -691,4 +862,3 @@ gcc fix-embedded-paths.c -o $PREFIX/bin/
 #---------------------------------------------------------
 echo Cross-toolchain build complete.  Result in ${PREFIX}.
 exit 0
-
diff -Naurp crosstool-0.42/demo-alpha-nptl.sh crosstool-0.42.khem/demo-alpha-nptl.sh
--- crosstool-0.42/demo-alpha-nptl.sh	1969-12-31 16:00:00.000000000 -0800
+++ crosstool-0.42.khem/demo-alpha-nptl.sh	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/demo-alpha.sh crosstool-0.42.khem/demo-alpha.sh
--- crosstool-0.42/demo-alpha.sh	2005-07-04 23:08:52.000000000 -0700
+++ crosstool-0.42.khem/demo-alpha.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-arm9tdmi.sh crosstool-0.42.khem/demo-arm9tdmi.sh
--- crosstool-0.42/demo-arm9tdmi.sh	2005-03-09 13:50:19.000000000 -0800
+++ crosstool-0.42.khem/demo-arm9tdmi.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-armeb.sh crosstool-0.42.khem/demo-armeb.sh
--- crosstool-0.42/demo-armeb.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-armeb.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-arm-iwmmxt.sh crosstool-0.42.khem/demo-arm-iwmmxt.sh
--- crosstool-0.42/demo-arm-iwmmxt.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-arm-iwmmxt.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-arm.sh crosstool-0.42.khem/demo-arm.sh
--- crosstool-0.42/demo-arm.sh	2006-02-26 14:57:48.000000000 -0800
+++ crosstool-0.42.khem/demo-arm.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-arm-softfloat.sh crosstool-0.42.khem/demo-arm-softfloat.sh
--- crosstool-0.42/demo-arm-softfloat.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-arm-softfloat.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-armv5b-softfloat.sh crosstool-0.42.khem/demo-armv5b-softfloat.sh
--- crosstool-0.42/demo-armv5b-softfloat.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-armv5b-softfloat.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-cris.sh crosstool-0.42.khem/demo-cris.sh
--- crosstool-0.42/demo-cris.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-cris.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-i686-nptl.sh crosstool-0.42.khem/demo-i686-nptl.sh
--- crosstool-0.42/demo-i686-nptl.sh	1969-12-31 16:00:00.000000000 -0800
+++ crosstool-0.42.khem/demo-i686-nptl.sh	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/demo-i686.sh crosstool-0.42.khem/demo-i686.sh
--- crosstool-0.42/demo-i686.sh	2006-03-01 14:01:05.000000000 -0800
+++ crosstool-0.42.khem/demo-i686.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-ia64.sh crosstool-0.42.khem/demo-ia64.sh
--- crosstool-0.42/demo-ia64.sh	2005-03-09 13:49:19.000000000 -0800
+++ crosstool-0.42.khem/demo-ia64.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-m68k.sh crosstool-0.42.khem/demo-m68k.sh
--- crosstool-0.42/demo-m68k.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-m68k.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-mipsel.sh crosstool-0.42.khem/demo-mipsel.sh
--- crosstool-0.42/demo-mipsel.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-mipsel.sh	2006-03-07 23:29:48.000000000 -0800
@@ -20,6 +20,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-mips-nptl.sh crosstool-0.42.khem/demo-mips-nptl.sh
--- crosstool-0.42/demo-mips-nptl.sh	1969-12-31 16:00:00.000000000 -0800
+++ crosstool-0.42.khem/demo-mips-nptl.sh	2006-03-07 23:29:48.000000000 -0800
@@ -0,0 +1,22 @@
+#!/bin/sh
+set -ex
+
+# Big-endian MIPS
+
+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 mips.dat gcc-4.1.0-20050520-glibc-20050520.dat` sh all.sh --notest
+
+echo Done.
diff -Naurp crosstool-0.42/demo-powerpc64-nptl.sh crosstool-0.42.khem/demo-powerpc64-nptl.sh
--- crosstool-0.42/demo-powerpc64-nptl.sh	1969-12-31 16:00:00.000000000 -0800
+++ crosstool-0.42.khem/demo-powerpc64-nptl.sh	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/demo-ppc405.sh crosstool-0.42.khem/demo-ppc405.sh
--- crosstool-0.42/demo-ppc405.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-ppc405.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-ppc440.sh crosstool-0.42.khem/demo-ppc440.sh
--- crosstool-0.42/demo-ppc440.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-ppc440.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-ppc604.sh crosstool-0.42.khem/demo-ppc604.sh
--- crosstool-0.42/demo-ppc604.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-ppc604.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-ppc7450.sh crosstool-0.42.khem/demo-ppc7450.sh
--- crosstool-0.42/demo-ppc7450.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-ppc7450.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-ppc750.sh crosstool-0.42.khem/demo-ppc750.sh
--- crosstool-0.42/demo-ppc750.sh	2006-02-26 14:57:48.000000000 -0800
+++ crosstool-0.42.khem/demo-ppc750.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-ppc860.sh crosstool-0.42.khem/demo-ppc860.sh
--- crosstool-0.42/demo-ppc860.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-ppc860.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-ppc970.sh crosstool-0.42.khem/demo-ppc970.sh
--- crosstool-0.42/demo-ppc970.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-ppc970.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-s390.sh crosstool-0.42.khem/demo-s390.sh
--- crosstool-0.42/demo-s390.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-s390.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-sh3.sh crosstool-0.42.khem/demo-sh3.sh
--- crosstool-0.42/demo-sh3.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-sh3.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-sh4.sh crosstool-0.42.khem/demo-sh4.sh
--- crosstool-0.42/demo-sh4.sh	2006-02-26 14:57:48.000000000 -0800
+++ crosstool-0.42.khem/demo-sh4.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-sparc64.sh crosstool-0.42.khem/demo-sparc64.sh
--- crosstool-0.42/demo-sparc64.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-sparc64.sh	2006-03-07 23:29:48.000000000 -0800
@@ -8,6 +8,9 @@ export GCC_LANGUAGES
 #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 -Naurp crosstool-0.42/demo-sparc.sh crosstool-0.42.khem/demo-sparc.sh
--- crosstool-0.42/demo-sparc.sh	2005-03-07 16:34:34.000000000 -0800
+++ crosstool-0.42.khem/demo-sparc.sh	2006-03-07 23:29:48.000000000 -0800
@@ -6,6 +6,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/demo-x86_64-nptl.sh crosstool-0.42.khem/demo-x86_64-nptl.sh
--- crosstool-0.42/demo-x86_64-nptl.sh	1969-12-31 16:00:00.000000000 -0800
+++ crosstool-0.42.khem/demo-x86_64-nptl.sh	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/demo-x86_64.sh crosstool-0.42.khem/demo-x86_64.sh
--- crosstool-0.42/demo-x86_64.sh	2006-02-26 14:57:48.000000000 -0800
+++ crosstool-0.42.khem/demo-x86_64.sh	2006-03-07 23:29:48.000000000 -0800
@@ -7,6 +7,9 @@ export TARBALLS_DIR RESULT_TOP
 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 -Naurp crosstool-0.42/gcc-3.2.3-glibc-2.3.2.dat crosstool-0.42.khem/gcc-3.2.3-glibc-2.3.2.dat
--- crosstool-0.42/gcc-3.2.3-glibc-2.3.2.dat	2006-02-25 15:53:08.000000000 -0800
+++ crosstool-0.42.khem/gcc-3.2.3-glibc-2.3.2.dat	2006-03-07 23:29:48.000000000 -0800
@@ -2,4 +2,3 @@ BINUTILS_DIR=binutils-2.15
 GCC_DIR=gcc-3.2.3
 GLIBC_DIR=glibc-2.3.2
 LINUX_DIR=linux-2.4.26
-GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
diff -Naurp crosstool-0.42/gcc-3.3.4-glibc-2.1.3.dat crosstool-0.42.khem/gcc-3.3.4-glibc-2.1.3.dat
--- crosstool-0.42/gcc-3.3.4-glibc-2.1.3.dat	2006-02-25 15:53:08.000000000 -0800
+++ crosstool-0.42.khem/gcc-3.3.4-glibc-2.1.3.dat	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/gcc-3.3.4-glibc-2.2.5.dat crosstool-0.42.khem/gcc-3.3.4-glibc-2.2.5.dat
--- crosstool-0.42/gcc-3.3.4-glibc-2.2.5.dat	2006-02-25 15:53:08.000000000 -0800
+++ crosstool-0.42.khem/gcc-3.3.4-glibc-2.2.5.dat	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/gcc-3.3.4-glibc-2.3.2.dat crosstool-0.42.khem/gcc-3.3.4-glibc-2.3.2.dat
--- crosstool-0.42/gcc-3.3.4-glibc-2.3.2.dat	2006-02-25 15:53:08.000000000 -0800
+++ crosstool-0.42.khem/gcc-3.3.4-glibc-2.3.2.dat	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/gcc-3.3.4-glibc-2.3.3.dat crosstool-0.42.khem/gcc-3.3.4-glibc-2.3.3.dat
--- crosstool-0.42/gcc-3.3.4-glibc-2.3.3.dat	2006-02-25 15:53:08.000000000 -0800
+++ crosstool-0.42.khem/gcc-3.3.4-glibc-2.3.3.dat	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/gcc-3.3-glibc-2.3.2.dat crosstool-0.42.khem/gcc-3.3-glibc-2.3.2.dat
--- crosstool-0.42/gcc-3.3-glibc-2.3.2.dat	2006-02-25 15:53:08.000000000 -0800
+++ crosstool-0.42.khem/gcc-3.3-glibc-2.3.2.dat	2006-03-07 23:29:48.000000000 -0800
@@ -2,4 +2,3 @@ BINUTILS_DIR=binutils-2.14
 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 -Naurp crosstool-0.42/gcc-3.4.1-glibc-2.3.4.dat crosstool-0.42.khem/gcc-3.4.1-glibc-2.3.4.dat
--- crosstool-0.42/gcc-3.4.1-glibc-2.3.4.dat	1969-12-31 16:00:00.000000000 -0800
+++ crosstool-0.42.khem/gcc-3.4.1-glibc-2.3.4.dat	2006-03-07 23:29:48.000000000 -0800
@@ -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 -Naurp crosstool-0.42/gcc-4.1.0-20050520-glibc-20050520.dat crosstool-0.42.khem/gcc-4.1.0-20050520-glibc-20050520.dat
--- crosstool-0.42/gcc-4.1.0-20050520-glibc-20050520.dat	1969-12-31 16:00:00.000000000 -0800
+++ crosstool-0.42.khem/gcc-4.1.0-20050520-glibc-20050520.dat	2006-03-07 23:29:48.000000000 -0800
@@ -0,0 +1,5 @@
+BINUTILS_EXTRA_CONFIG="--disable-werror"
+BINUTILS_DIR=binutils-2.16
+GCC_DIR=gcc-4.1.0-20050520
+GLIBC_DIR=glibc-20050520
+LINUX_DIR=linux-2.6.12-rc4
diff -Naurp crosstool-0.42/gcc-glibc.dat crosstool-0.42.khem/gcc-glibc.dat
--- crosstool-0.42/gcc-glibc.dat	1969-12-31 16:00:00.000000000 -0800
+++ crosstool-0.42.khem/gcc-glibc.dat	2006-03-08 11:55:28.000000000 -0800
@@ -0,0 +1,8 @@
+SRC_DIR=/disk2/fsf
+BINUTILS_DIR=binutils
+GCC_DIR=gcc
+GLIBC_DIR=glibc
+LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
+GLIBCTHREADS_FILENAME=glibc-nptl
+GLIBC_PORTS_DIR=../glibc-ports
+GCC_EXTRA_CONFIG=--disable-libunwind-exceptions
diff -Naurp crosstool-0.42/getandpatch.sh crosstool-0.42.khem/getandpatch.sh
--- crosstool-0.42/getandpatch.sh	2006-02-27 11:22:26.000000000 -0800
+++ crosstool-0.42.khem/getandpatch.sh	2006-03-07 23:33:25.000000000 -0800
@@ -33,8 +33,8 @@ if test "${CYGWIN_DIR}" = ""; then
   test -z "${LINUX_SANITIZED_HEADER_DIR}" && echo "Not downloading linux-libc-headers. Set LINUX_SANITIZED_HEADER_DIR to do so"
   test -z "${LINUX_DIR}"        && echo "Not downloading kernel sources. Set LINUX_DIR if you want to do so"
   # And one is derived if not set explicitly.
-  test -z "${GLIBCTHREADS_FILENAME}" &&
-  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
 
 test -z "${TARBALLS_DIR}"     && abort "Please set TARBALLS_DIR to the directory to download tarballs to."
@@ -264,7 +264,7 @@ if test "${CYGWIN_DIR}" = ""; then
 	http://ep09.pld-linux.org/~mmazur/linux-libc-headers/${LINUX_SANITIZED_HEADER_DIR}.tar.bz2 \
 	ftp://ftp.lfs-matrix.net/pub/linux-libc-headers/${LINUX_SANITIZED_HEADER_DIR}.tar.bz2
   # Glibc addons must come after glibc
-  getUnpackAndPatch     \
+  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 \
        ftp://gcc.gnu.org/pub/glibc/releases/$GLIBCTHREADS_FILENAME.tar.bz2 \

Attachment: gcc-glibc.dat
Description: MPEG movie

--
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]