cvs commit: src/sys/i386/isa apic_vector.s clock.c src/sys/kern kern_intr.c kern_sig.c kern_slaballoc.c kern_switch.c kern_systimer.c kern_upcall.c lwkt_msgport.c lwkt_thread.c lwkt_token.c src/sys/sys slaballoc.h
dillon at apollo.backplane.com
Thu Feb 19 11:45:32 PST 2004
:> Interestingly enough, on my dfly test box, recent kernels built with gcc2
:> along with CPUTYPE=i686 set in make.conf yield broken kernels almost
:> identical to what you are describing. Removing CPUTYPE from make.conf yields
:> working kernel with gcc2. Is this reproducible on your end ?
:Yes, that did it.
Umm.. you guys realize that setting CPUTYPE will generate specific
instructions for that particular processor? If you do not actually
have a pentium-pro cpu in your box, using CPUTYPE=i686 is likely to
produce instructions that your cpu does not support.
In particular, ppro optimizations will use the CMOV instruction.
Is 'CMOV' in the Features line near the top of your dmesg?
Post the first 25 lines of your dmesg output.
Also, what -O optimization level are you trying to compile things
under? e.g. for example, -O2 or -O3 has historically been rather buggy
with GCC2. Even so, I tried recompiling my kernel with
gcc2 -march=pentiumpro -O3 on an AMD64, and it seemed to work.
<dillon at xxxxxxxxxxxxx>
More information about the Bugs