2.6.17-rc1 with hardened gcc
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.oarch/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 hereinclude/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 hereinclude/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.ofs/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
Quoted 5 lines · Antoine Martin
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.
Don't worry, I've got and solved every report of this mail, luckily...
Quoted 5 lines
- the configs are available at http://uml.nagafix.co.uk/kernels
- GCC 3.4.5 hardenedFirst, the good old ASM errors are still here (IIRC there is no easy way to solve this):
Will publish the fix. I've installed hardened GCC forgetting of this, got this error, and saw a "-vanilla" config.
I.e. the only difference is in the spec file! I.e. adding -fno-pic to the compilation flags (which was tricky since we're being too kludgy with Kbuild) solved the problem!
Quoted 37 lines
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
(...)
CCarch/um/kernel/skas/clone.oarch/um/kernel/skas/clone.c: In function `stub_clone_handler':arch/um/include/sysdep/stub.h:45: error: can't find a register in classBREG' while reloadingasm'arch/um/include/sysdep/stub.h:66: error: can't find a register in classBREG' while reloadingasm'arch/um/include/sysdep/stub.h:55: error: can't find a register in classBREG' while reloadingasm'arch/um/include/sysdep/stub.h:90: error: can't find a register in classBREG' while reloadingasm'
make[2]: *** [arch/um/kernel/skas/clone.o] Error 1
make[1]: *** [arch/um/kernel/skas] Error 2
make: *** [arch/um/kernel] Error 2AMD64 works fully, but there are some warnings during the build:
CCarch/um/kernel/uaccess.o
In file included frominclude/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:
Quoted 8 lines
include/asm/ptrace.h:82: warning: static declaration of 'arch_switch_to_tt' follows non-static declarationarch/um/include/kern_util.h:120: warning: previous declaration of 'arch_switch_to_tt' was hereinclude/asm/ptrace.h:87: warning: static declaration of 'arch_switch_to_skas' follows non-static declarationarch/um/include/kern_util.h:122: warning: previous declaration of 'arch_switch_to_skas' was here
Fixed them too.
Quoted 6 lines
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.
Signature · 20 lines
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade ___________________________________ Yahoo! Messenger with Voice: chiama da PC a telefono a tariffe esclusive http://it.messenger.yahoo.com ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel