Summary: | gcc-3.3.3 breaks my (ppc) kernel | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | merwan kashouty <mkashouty> |
Component: | Current packages | Assignee: | PPC Porters <ppc> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | janl, toolchain |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | PPC | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
merwan kashouty
2004-02-23 20:11:04 UTC
ive built plenty of kernels with 3.3.3 what if you run `make mrproper` and then build it from scratch with 3.3.3 yeah i tried that.. and also emerged and new source.... didnt help... thi sis on ppc not x86 btw. Maybe one of the PPC Guys knows more, but isn't gcc-3.3.x b0rked on PPC (altivec issue), or is that another arch? I built some kernels with gcc-3.3.3* and the _pre20040215 solves the altivec issues. emerge info please looking at /var/log/emerge.log it was gcc-3.3.3_pre20040215 that was installed i have downgraded now back to 3.2.3-r4 and my kernels now boot (the ones rebuilt with 3.2.3)... here is emerge info though... the only difference would have been gcc-3.3.3 Gentoo Base System version 1.4.3.13 Portage 2.0.50-r1 (default-ppc-1.4, gcc-3.2.3, glibc-2.3.3_pre20040207-r0, 2.4.24-ppc-r2) ================================================================= System uname: 2.4.24-ppc-r2 ppc 7457, altivec supported Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="ppc ~ppc" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=7450 -maltivec -mabi=altivec -pipe" CHOST="powerpc-unknown-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/lib/pbbuttonsd /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=7450 -maltivec -mabi=altivec -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache sandbox" GENTOO_MIRRORS="http://ftp.belnet.be/mirrors/rsync.gentoo.org/gentoo/ http://212.219.56.131/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa arts berkdb cdr cups divx dvd dvdr esd foomaticdb gdbm gif gnome gpm gtk gtk2 imlib jpeg kde libwww mitshm motif mozilla nls oggvorbis opengl oss pam perl png ppc python qt readline sdl slang ssl tcpd truetype xv" hm I just tried with 2.6.x kernels and Linux version 2.6.3-benh2 (root@utopia) (gcc version 3.3.3 (Gentoo Linux 3.3.3_pre20040215)) #1 Mon Feb 23 13:33:04 CET 2004 that one is working fine. maybe is a linux24 vs gcc333 could very well be that, as all the gcc fixes seem to only go into 2.6, maybe we should restrict our 2.4 kernels to gcc <=3.2.4 for now (just a thought) yes maybe... i set off this morning and started emerge -e system so gcc-3.3.3 is now re-emerged ... after te rest is done i will try again with a both 2.4 and a 2.6 and see what happens I would also like to chime in on this. I was also having alot of problems with gcc-3.3.3_pre20040215 and the 2.4 kernels. I compiled several, with make mrproper and clean etc and they all wouldn't boot. (2.6 kernels boot though). This forum thread also has few other people that couldn't get it work: http://forums.gentoo.org/viewtopic.php?t=141108 I guess that ppc needs to move to the 2.6 as soon as possible, in the mean time I'd mark every kernel source <=3.2.3 . this sounds like more of a kernel issue than a toolchain issue, so i'm re-assigning to ppc and adding toolchain to CC Found on the web: Kernel 2.4 is not compatible with gcc 3.3, so we need gcc 3.2 or earlier to compile 2.4 kernels. This should perhaps be added as a dependency in the ebuild? Now to figure out how to have two gccs installed at once. The existence of gcc-config indicates that we're supposed to be able to do this. This bug should be marked critical, because: For stable functioning on PPC we are stuck with Linux 2.4 a while longer. Linux 2.4 cannot be compiled with gcc 3.3, we can't load modules when it is. I think the situation is the same on i386. Unfortunately gcc 3.2 and 3.3 uses the same slot (3.2) - and we cannot have them both at the same time: etcat -v gcc: * sys-devel/gcc : ... [ ] 3.2.3-r4 (3.2) ... [ I] 3.3.3_pre20040408-r1 (3.2) So we have a tricky situation of a current toolchanin that can't compile a current kernel. I think this is one of the things the BSD guys are so cocky about never risking >:-) Workaround: ebuild /usr/portage/sys-devel/gcc/gcc-3.2.3-r4.ebuild merge Alternate workaround: Pushing gcc-3.3 to the 3.3 slot and let us use gcc-config to switch between them. Requirement: linux-2.4.*-ppc-* must require gcc = 3.2.3-r4, the ebuild could even use gcc-config... /me waits for gcc 3.2.3-r4 to build so he can have a new kernel Let me short mention, that the ppc-team decided during the last meeting, to deprecate 2.4-kernels. This has two reasons: 1. unmaintained upstream as benh patches only the 2.6 kernel, 2. Gentoo/PPC will only support gcc-3.4 soon, as we don't have the menpower for an older toolchain. I encourage you to get a 2.6-kernel running instead of keeping a 2.4-kernel. Sooner or later this kernel-version will be stopped anyway. Probably the toolchain-team can say something about the gcc-slotting. If there is any possibility that gcc-3.3 gets a slot on its own, we can set the dependency in the ebuild. Otherwise I'm willing to make this bug CANTFIX. Yes, upgrading to 2.6.7 did help for me (2.6 was ~ppc when I checked last). Cheers, Nicolai closing, 2.4 is deprecated. You don't solve a toolchain bugs by declaring a development kernel as stable. embedded ppc for example uses gcc-3.3.4 with 2.4.x kernels. If you fixed things _right_ this could be a reality at gentoo as well. solar, there is no real support for 2.4-kernels any more upstream. So the ppc-team decided to stop development in this kernel-series any more and keep the head clear for the 2.6-series. It has been investigated that gcc-3.3 with 2.4-kernel does not work. There where ever compilation errors. That's the reason why we currently test gcc-3.4.1 to be stable for the 2004.3-release. To be honest, we didn't thought about supporting ppc-embedded devices. In my opinion these devices should not carry the same portage-keyword like the "bigger" hardware, mainly machines by Apple. Furthermore I don't know any developer with a ppc-embedded device, so we can't test this architecture. If you want to discuss this topic, we should move over to the gentoo-dev@-mailing-list. This is the bug and for the sake proving this bug is not FIXED. Confirmed working on powerppc. gcc (GCC) 3.3.4 (Debian 1:3.3.4-7) can build atleast 2.4.25 - 2.4.27 -------------------------------------------------------------------------------- gcc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1495) Is even what Apple shiped with OS/X -------------------------------------------------------------------------------- So please don't assume/declare that 2.4.x has been deprecated. -------------------------------------------------------------------------------- Here is a 19MB root file system which proves this can and does work. http://codepoet.org/root_fs_powerpc.bz2 The site that provides this file is a powerppc built with 3.3.4 (non hammer branch) running 2.4.27 Look at our portage tree. There is no 2.4-kernel left for ppc. And then look at bugzilla and you can find bugs like #42689 or #44837 who tell that there have been issues with the 2.4-kernel and gcc-3.3 (not with gcc-3.2). As those both are in the same slot, we couldn't step backwards. This problem is one of the real annoying things why ppc lacked a lot on stable development. If you don't have a toolchain that seems to be stable, you can't really work. But time healed us with newer upstream releases and now we decided to move over. To repeat it: The Gentoo/PPC team can't make an effort in further development of kernel-2.4 nor gcc-3.3 due to a lack in personal ressources. |