|
From: | Allan McRae |
Subject: | Re: Arch Hurd progress |
Date: | Tue, 13 Apr 2010 22:19:07 +1000 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100330 Shredder/3.0.4 |
On 13/04/10 18:20, Samuel Thibault wrote:
Allan McRae, le Tue 13 Apr 2010 10:04:25 +1000, a écrit :The major stumbling block there was gnumach. When compiling for i686 it requires -O1 to be used. -O0 results in a build error and -O2 results in the boot process stalling very, very early on. There are no such issues for i[45]86.Mmm, doesn't building with native i686 support and -O2 enable vectorization, and thus the use of mmx/sse? This is not supported in kernel space for context switch performance reasons (like on Linux). Try with -mno-mmx -mno-sse -mno-sse2 -mno-3dnow. We probably need to enable them by default in the configure script.
Thanks for the hint. We will give this a try and report back the results.
Once that was out of the way, the biggest issue we had was getting gcc to work natively.What were the issues? Just cross-compiling, or are patches needed? (in addition to what we have in Debian)
Getting the C++ cross-compiler working was the main issue. That is needed to build gmp with C++ support which is require for mpfr. That was giving us headaches so we tried adjusting from the crosshurd script style approach to something more akin to CLFS. That resulted in non-booting systems so was a step back.
In the end I think it was part of a patch from Debian that solved the C++ issue (which we had overlooked due to other parts in it that we did not want to use). This has since appeared on the gcc-patches list as pointed out on this list a couple of days ago. Then we needed a lot of configure flags to gcc to pick up the cross built libraries. Perhaps we made it harder for ourselves by enabling graphite support...
Allan
[Prev in Thread] | Current Thread | [Next in Thread] |