Opened 16 years ago

Closed 15 years ago

#119 closed defect (fixed)

gcc-4.2.0 unusable on ppc64

Reported by: ken Owned by: ken
Priority: blocker Milestone: CLFS Standard 1.1.0
Component: BOOK Version: CLFS Standard 1.1.0
Keywords: Cc:


I wanted to see if I could help on - this prevents gcc building a modular kernel, a fix will be going in to the kernel to tell people not to waste their time trying to build modular with 4.2.0. Unfortunately, I've hit two showstoppers:

  1. I can't chroot to the temporary system, it reports an Error, apparently in glibc. At the moment I haven't looked at this part beyond looking at strace.
  1. Trying an LFS-style native build to establish what works, it can't build 64-bit glibc (2.5, 2.5 with our patches, 2.6 in any combination with binutils-2.17, 2.17 with our patches, and recent hjl) although 32-bit is ok. The error is
CPP='gcc -m64 -B/tools/bin/ -E -x c-header'  /mnt/lfs/building/glibc-build/elf/ --library-path /mnt/lfs/building/glibc-build:/mnt/lfs/building/glibc-build/math:/mnt/lfs/building/glibc-build/elf:/mnt/lfs/building/glibc-build/dlfcn:/mnt/lfs/building/glibc-build/nss:/mnt/lfs/building/glibc-build/nis:/mnt/lfs/building/glibc-build/rt:/mnt/lfs/building/glibc-build/resolv:/mnt/lfs/building/glibc-build/crypt:/mnt/lfs/building/glibc-build/nptl /mnt/lfs/building/glibc-build/sunrpc/rpcgen -Y ../scripts -c rpcsvc/bootparam_prot.x -o /mnt/lfs/building/glibc-build/sunrpc/xbootparam_prot.T
make[2]: *** [/mnt/lfs/building/glibc-build/sunrpc/xbootparam_prot.stmp] Segmentation fault
make[2]: Leaving directory `/mnt/lfs/building/glibc-2.5/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/mnt/lfs/building/glibc-2.5'
make: *** [all] Error 2

At the moment I'm working through an LFS-style build with hjl binutils, gcc-4.1.2, and our patched glibc-2.5 to iron out the bugs in my script. After that I'll try a native toolchain build into /opt/newtools or wherever using hjl, 4.2.0, and glibc-2.6 (or 2.6.1 if it is out). At that point I can report the failure to build glibc. So, if anybody else is using ppc64, don't hold your breath!

Change History (6)

comment:1 Changed 15 years ago by Joe Ciccone

Is this still valid with 4.2.2?

comment:2 Changed 15 years ago by ken

It's looking hopeful - I got in to chroot and built tcl, expect, dejagnu, tree. I'll continue when I've checked my script against the book, probably in a couple of days.

comment:3 Changed 15 years ago by ken

It's a lot better than it used to be (ignoring #133), but it can't build a kernel. This is a gcc-4.2 problem (same config as in the host's 2.6.23 built with 4.1.2) - unfortunately, the 4.2 series are less used. It blows out with

  CC      drivers/input/mouse/psmouse-base.o
drivers/input/mouse/psmouse-base.c:45: error: __param_proto causes a section type conflict
drivers/input/mouse/psmouse-base.c:45: error: __param_proto causes a section type conflict
make[3]: *** [drivers/input/mouse/psmouse-base.o] Error 1
make[2]: *** [drivers/input/mouse] Error 2
make[1]: *** [drivers/input] Error 2
make: *** [drivers] Error 2

The lkml archives show a similar issue on alpha in 2.6.23-rc, but I can't find how it was fixed. I've emailed the guy who had the problem, maybe he'll point me to how to fix it.

comment:4 Changed 15 years ago by ken

Owner: changed from clfs-commits@… to ken
Status: newassigned

Weird, I thought I updated this ticket last night. It's a gcc problem that stops the kernel building, PR31490 - yes, my old adversary, still not fixed in 4.2.2. I've got a patch, I'll add that soon, and then update the book (but maybe not before w/c 3rd December, I've got a lot of other commitments). The rest of the build looks ok, apart from some new test failures (from memory, in binutils and grep).

comment:5 Changed 15 years ago by ken

Still haven't had time to do this - I need to fit in a full build with the patched gcc, just in case it fubars something else.

comment:6 Changed 15 years ago by ken

Resolution: fixed
Status: assignedclosed

Should be fixed by r3860.

Note: See TracTickets for help on using tickets.