Hacking at genkernel, trying to see about it on non-x86 architechures, I found that the changes to the official dietlibc force some non-reasonable CFLAGS for non-x86 architecutres. Namely, -march=pentium3, and removing -nostdinc break things. I've put a vastly improved dev-lib/dietlibc-0.27 into the main tree, could you consider using it? It should be called with CFLAGS="" ebuild ... unpack to generate your custom tarball, and then during the make phase, run make CFLAGS="..." to ensure correct CFLAGS for each arch (or just get genkernel to directly call the ebuild unpack and then use those sources). I can see several advantages to making genkernel utilize ebuild unpack, not the least of them reducing the amount of custom logic/work it takes in handling the sources, and getting updates for free from the tree.
I think my note isn't worth to open a new bug report, so i append it here. The fixed CFLAGS from the makefile (dietlibc 0.26) even breaks builds on x86 plattform using an older via c3 processor. Using '-march=pentium3 -O3' results in 'illegal instructions'.
Want to try out http://dev.gentoo.org/~plasmaroo/patches/kernel/genkernel/3.0.2/genkernel-3.0.2h.tar.bz2 please?
You need to change perms on the tarball, I get 403 forbidden errors.
Hrm, guess something's been changed on toucan - usually uploads fine with no needed change of permissions. Changed now.
That's much better. As a useful extra bit with this, although you commented out the dietlibc stuff in compile_module_init_tools(), I uncommented it for testing on x86 with 2.6.9* and it works great :-). One thing that could still be improved upon, perhaps for 3.0.2i, is allowing users to send CFLAGS to udev/module-init-tools/modutils/dietlibc. It would be useful primarily for non-x86, to pass such things as -mabi= to specify which MIPS ABI to build for (o32,n32,o64,n64,eabi), and what ISA level (as it makes a major performance difference between mips1 [the gcc default] and mips4/mips32). The best route for this would probably be to add a variable DIETLIBC_CFLAGS that's passed in to the 'CFLAGS += $(DIETLIBC_CFLAGS) -fno-stack-protector -D__dietlibc__'.
Why is genkernel not using /etc/make.conf? It should contain all infrmations.
Ok, should be fixed in 3.1.0.