I thought I'd give it a try. I guess that these aren't bugs (since switching to non-hardened gcc fixes most problems) but maybe this is useful to someone? Otherwise just ignore most issues in this email. - the configs are available at http://uml.nagafix.co.uk/kernels - GCC 3.4.5 hardened
First, the good old ASM errors are still here (IIRC there is no easy way to solve this): wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.17-rc1.tar.bz2 tar -jxf linux-2.6.17-rc1.tar.bz2 mv linux-2.6.17-rc1 linux-2.6.17-rc1-x86 cd linux-2.6.17-rc1-x86 cp ../linux-2.6.16.1-bb1-x86/.config ./ make ARCH=um SUBARCH=i386 oldconfig make ARCH=um SUBARCH=i386 (...) CC arch/um/kernel/skas/clone.o arch/um/kernel/skas/clone.c: In function `stub_clone_handler': arch/um/include/sysdep/stub.h:45: error: can't find a register in class `BREG' while reloading `asm' arch/um/include/sysdep/stub.h:66: error: can't find a register in class `BREG' while reloading `asm' arch/um/include/sysdep/stub.h:55: error: can't find a register in class `BREG' while reloading `asm' arch/um/include/sysdep/stub.h:90: error: can't find a register in class `BREG' while reloading `asm' make[2]: *** [arch/um/kernel/skas/clone.o] Error 1 make[1]: *** [arch/um/kernel/skas] Error 2 make: *** [arch/um/kernel] Error 2 AMD64 works fully, but there are some warnings during the build: CC arch/um/kernel/uaccess.o In file included from include/asm/processor-generic.h:14, from include/asm/processor.h:51, from include/linux/prefetch.h:14, from include/linux/list.h:7, from include/linux/wait.h:23, from include/asm/arch/semaphore.h:42, from include/asm/semaphore.h:4, from include/asm/ldt.h:11, from arch/um/include/sysdep/tls.h:25, from arch/um/include/os.h:16, from arch/um/kernel/uaccess.c:12: include/asm/ptrace.h:82: warning: static declaration of 'arch_switch_to_tt' follows non-static declaration arch/um/include/kern_util.h:120: warning: previous declaration of 'arch_switch_to_tt' was here include/asm/ptrace.h:87: warning: static declaration of 'arch_switch_to_skas' follows non-static declaration arch/um/include/kern_util.h:122: warning: previous declaration of 'arch_switch_to_skas' was here CC arch/um/kernel/um_arch.o CC arch/um/kernel/umid.o In file included from include/asm/processor-generic.h:14, from include/asm/processor.h:51, from include/linux/prefetch.h:14, from include/linux/list.h:7, from include/linux/wait.h:23, from include/asm/arch/semaphore.h:42, from include/asm/semaphore.h:4, from include/asm/ldt.h:11, from arch/um/include/sysdep/tls.h:25, from arch/um/include/os.h:16, from arch/um/kernel/umid.c:8: include/asm/ptrace.h:82: warning: static declaration of 'arch_switch_to_tt' follows non-static declaration arch/um/include/kern_util.h:120: warning: previous declaration of 'arch_switch_to_tt' was here include/asm/ptrace.h:87: warning: static declaration of 'arch_switch_to_skas' follows non-static declaration arch/um/include/kern_util.h:122: warning: previous declaration of 'arch_switch_to_skas' was here CC arch/um/kernel/initrd.o CC arch/um/kernel/skas/clone.o CC arch/um/kernel/skas/exec_kern.o CC arch/um/kernel/skas/mem.o CC arch/um/kernel/skas/mmu.o CC arch/um/kernel/skas/process_kern.o arch/um/kernel/skas/process_kern.c:191:2: warning: #warning Need to look up userspace_pid by cpu arch/um/kernel/skas/process_kern.c:197:2: warning: #warning Need to look up userspace_pid by cpu arch/um/kernel/skas/process_kern.c:204:2: warning: #warning need to loop over userspace_pids in kill_off_processes_skas CC arch/um/kernel/skas/syscall.o (...) CC fs/select.o fs/select.c: In function `core_sys_select': fs/select.c:339: warning: assignment from incompatible pointer type fs/select.c:376: warning: comparison of distinct pointer types lacks a cast CC fs/fifo.o Something else I've noticed is that some kernels fail if TT is compiled in, even though it boots into skas0 or skas3 mode. I guess this isn't really that important since TT is going to go away. Finally, congratulations! all the images I have built now work - even fedora (4 and 5) and opensuse. Antoine
signature.asc
Description: This is a digitally signed message part