Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 382725 - crossdev fails to build powerpc64-unknown-linux-newlib during GCC stage 1
Summary: crossdev fails to build powerpc64-unknown-linux-newlib during GCC stage 1
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-12 17:31 UTC by Andrew Udvare
Modified: 2011-09-17 03:17 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (cross-powerpc64-unknown-linux-newlib-gcc-stage1.log,901.44 KB, text/plain)
2011-09-12 17:32 UTC, Andrew Udvare
Details
free60's build toolchain script (build-xenon-toolchain,7.70 KB, text/plain)
2011-09-12 17:33 UTC, Andrew Udvare
Details
gcc diff (gcc-4.6.0.diff,7.31 KB, text/plain)
2011-09-12 17:33 UTC, Andrew Udvare
Details
gcc 4.6.1 diff (gcc-4.6.1.diff,7.06 KB, text/plain)
2011-09-12 17:33 UTC, Andrew Udvare
Details
GCC stage 1 Info (cross-powerpc64-unknown-linux-newlib-info.log,18.27 KB, text/plain)
2011-09-12 18:05 UTC, Andrew Udvare
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Udvare 2011-09-12 17:31:55 UTC
libxenon (Linux on Xbox 360) project is using newlib and GCC 4.6.1.
http://libxenon.org/

Their guide (offensively Ubuntu-ish):
http://free60.org/Compiling_the_Toolchain#Building_the_Toolchain
Basically, binutils-2.21.1, gcc-4.6.1 and newlib. Just like crossdev they build GCC in 2 stages.

While their ./configure uses the tuple powerpc64-unknown-linux-gnu, they end up using newlib anyway (seems hackish).

They also use:
-enable-languages="c"
--without-headers
--disable-shared
--with-newlib
--disable-libmudflap
--disable-libssp
--disable-nls
--without-headers
--disable-decimal-float
--enable-altivec (I know crossdev disables this)
--with-gmp=/opt/local
--with-mpfr=/opt/local
--with-cpu=cell

In this sense, it's similar to the PPU target.

On second stage for them:
--with-cpu=cell
--with-gmp=/opt/local
--with-mpfr=/opt/local
--disable-decimal-float
--disable-libquadmath
--enable-languages=c,c++
--disable-libssp
--with-newlib
--enable-cxx-flags="-G0"
--disable-libmudflap
--disable-nls
--disable-shared
--disable-linux-futex
--enable-altivec
--disable-threads
--disable-libgomp

See attached build-xenon-toolchain script for more information.

Reproducible: Always

Steps to Reproduce:
crossdev --gcc 4.6.1 -t powerpc64-unknown-linux-newlib
Actual Results:  
Fails to build:

/var/tmp/portage/cross-powerpc64-unknown-linux-newlib/gcc-4.6.0/work/gcc-4.6.0/libgcc/../libdecnumber/decContext.c:33:43: fatal error: string.h: No such file or directory


Expected Results:  
Should compile. I'm willing to add libxenon (own ebuild) manually after that.

If a special target like xenon could be added that would apply any patches necessary and get the libxenon library could be added that would be great. If I make this happen, I will post a patch.
Comment 1 Andrew Udvare 2011-09-12 17:32:27 UTC
Created attachment 286235 [details]
Build log
Comment 2 Andrew Udvare 2011-09-12 17:33:09 UTC
Created attachment 286237 [details]
free60's build toolchain script
Comment 3 Andrew Udvare 2011-09-12 17:33:35 UTC
Created attachment 286239 [details]
gcc diff
Comment 4 Andrew Udvare 2011-09-12 17:33:48 UTC
Created attachment 286241 [details]
gcc 4.6.1 diff
Comment 5 Andrew Udvare 2011-09-12 18:05:26 UTC
Created attachment 286243 [details]
GCC stage 1 Info
Comment 6 SpanKY gentoo-dev 2011-09-17 03:17:28 UTC
use -elf, not -newlib in your tuple