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]

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


as khem pointed out, fno-unit-at-a-time is more properly solved by fixing 
glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile
as follows:


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

On Fri, Aug 18, 2006 at 05:42:25PM -0700, Nye Liu wrote:
> 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
> 

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


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


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