gcc compiler cputype, prescott or nocona confusion

Scott Killen salkillen at internode.on.net
Wed Jan 31 12:56:03 UTC 2007


When recompiling the world or kernel in FreeBSD i386 Rel 6.1 with,

"# make buildworld"
"# make buildkernel KERNCONF=MYSMPCONF"

(or building anything anything else for that matter), even though I have 
"CPUTYPE?=nocona" set in my "/etc/make.conf" file the compiler seems to head 
back to a default of  "-march=prescott" when compiling many of the functions 
on a Dual Xeon 3.6g (nocona) machine!

This doesn't happen when compiling for other machine types, I've tried it on a 
Dual PentiumPro, Dual PII, Dual PIII setting the CPUTYPE to the correct cpu 
type and the -march sticks to the assigned cpu type through all operations  
and produces nice quick optimized code.

Why is this so?

Is it because the "nocona" machine type optimization refers to the EMT64 
technology and thus is rejected when compiling for i386 targets rather than 
amd64 or emt64 targets and Gcc rejects it?

Scott K

More information about the freebsd-questions mailing list