[PATCH] crosstool-0.42+NPTL-khem vs nyet-ppc860

Nye Liu nyet@mrv.com
Sat Aug 19 00:42:00 GMT 2006


Enclosed is a diff vs khem's patch (http://sourceware.org/ml/crossgcc/2006-03/msg00090.html)

On Fri, Aug 18, 2006 at 05:25:58PM -0700, Nye Liu wrote:
> I have successfully compiled a toolchain and libraries for ppc860 using
> nptl, gcc-4.1.0, and glibc-2.3.6
> 
> the problem below was solved by adding
> GLIBC_EXTRA_CC_ARGS="-fno-unit-at-a-time"
> to my powerpc-860.dat
> 
> im using a combination of khem's patch
> http://sourceware.org/ml/crossgcc/2006-03/msg00090.html
> 
> plus a bit of steve's patch
> http://sourceware.org/ml/crossgcc/2006-06/msg00096.html
> 
> also, i had to use
> GCC_EXTRA_CONFIG="--disable-multilib"
> to get rid of the GCC_NO_EXECUTABLES problem.
> 
> im still sort of confused how GLIBC_EXTRA_CONFIG can co-exist in both
> gcc*.dat and the architecture .dats... do they get merged somewhere that
> i dont see?
> 
> patch forthcoming once i clean it up some, there are a few more
> important changes
> 
-- 
Nye Liu
nliu@mrv.com
(818) 772-6235x248
(818) 772-0576 fax

"Who would be stupid enough to quote a fictitious character?"
	-- Don Quixote
-------------- next part --------------
Index: crosstool.sh
===================================================================
--- crosstool.sh	(.../vendor/crosstool/0.42-khem-nptl)	(revision 5825)
+++ crosstool.sh	(.../trunk/tools/crosstool)	(revision 5825)
@@ -556,9 +556,11 @@
 
     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
+	# this here is moot, currently you cannot build nptl for sparc64
         sparc64* ) echo "libc_cv_sparc64_tls=yes" >> config.cache ;;
+	# remove inline asm powerpc memset, which is broken for 860
+        powerpc-860* ) rm -f ${GLIBC_DIR}/sysdeps/powerpc/powerpc32/memset.S ;;
     esac
 
     if test '!' -f Makefile; then
@@ -650,7 +652,7 @@
     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
+    sed 's@ -lc @ @g' < gcc/libgcc.mk-ORIG > gcc/libgcc.mk
 
     test "$CANADIAN_BUILD" = "" || make $PARALLELMFLAGS all-build-libiberty || true
     make $PARALLELMFLAGS all-gcc 
@@ -674,9 +676,11 @@
     # 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
+	# The following is moot, currently you cannot build nptl for sparc64
         sparc64* ) echo "libc_cv_sparc64_tls=yes" >> config.cache ;;
+	# remove inline asm powerpc memset, which is broken for 860
+        powerpc-860* ) rm -f ${GLIBC_DIR}/sysdeps/powerpc/powerpc32/memset.S ;;
     esac
 fi # GLIBC_ADDON_NPTL
 
@@ -695,10 +699,11 @@
         ${GLIBC_DIR}/configure --prefix=/usr \
         --build=$BUILD --host=$TARGET \
         ${GLIBC_EXTRA_CONFIG} ${DEFAULT_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
+        --cache-file=config.cache
 fi
 
 if grep -l '^install-lib-all:' ${GLIBC_DIR}/Makerules > /dev/null; then
@@ -862,3 +867,4 @@
 #---------------------------------------------------------
 echo Cross-toolchain build complete.  Result in ${PREFIX}.
 exit 0
+
Index: getandpatch.sh
===================================================================
--- getandpatch.sh	(.../vendor/crosstool/0.42-khem-nptl)	(revision 5825)
+++ getandpatch.sh	(.../trunk/tools/crosstool)	(revision 5825)
@@ -33,8 +33,9 @@
   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.
-if test '!' -z "${GLIBC_ADDON_LINUXTHREADS}"; then
+  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."
Index: powerpc-860.dat
===================================================================
--- powerpc-860.dat	(.../vendor/crosstool/0.42-khem-nptl)	(revision 5825)
+++ powerpc-860.dat	(.../trunk/tools/crosstool)	(revision 5825)
@@ -1,4 +1,5 @@
 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 --enable-cxx-flags=-mcpu=860 --disable-multilib"
+GLIBC_EXTRA_CC_ARGS="-fno-unit-at-a-time"
 GLIBC_EXTRA_CONFIG="--without-fp"

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


More information about the crossgcc mailing list