Jeffrey Goldberg jeffrey at
Thu Mar 15 19:39:05 UTC 2007

[mailed, posted and bcc'ed to off list respondents]

First let me quote my original query:

> I have one of these
> CPU: VIA C3 Nehemiah (999.52-MHz 686-class CPU)
>   Origin = "CentaurHauls"  Id = 0x691  Stepping = 1
> motherboard_id=81
> And 6.2-RELEASE p2
> When I set CPUTYPE=c3 in /etc/make.conf the world seemed to build  
> just fine, but (at least) gcc ended up broken.  Most compiling  
> attempts after that ended up with gcc reporting an internal error.
> Now that I've entered the FreeBSD world and am building everything  
> from source, I would like to take advantage of that by compiling  
> for my system.
> Does anyone have a similar system?  And what CPUTYPE or local  
> tuning do you recommend?
> A dmesg for the system is available at

I've had two responses telling me that the make.conf defaults are  
just fine, and two (one off list) recommending i686/pentiumpro.  One  
for pentiumpro and the other for i686, but as Andreas Rudish  
helpfully pointed out, those two are probably the same thing.  No one  
suggested using c3.  In fact, cpghost emphatically stated not to use  
C3 in make.conf

Adbullah Ibn Hamad Al-Marri also helpfully directed me for  
information about safe CFLAGS to

where the entry for the Via Nehemiah says:

    Nehemiah (C5XL)/C5P (Via)

CFLAGS="-march=i686 -msse -mmmx -O2 -pipe -fomit-frame-pointer"

note: The more recent versions of the C3 do support the cmov  
instruction and hence -march=i686. If you must be compatible with all  
VIA C3 versions, do not use the settings in this section.

note: it is also possible to use "-march=c3-2". <-- Comment to this:  
I got a problem "compiler can't create executables" with this setting.

note: I had much better luck with -Os than with -O2. The cache on the  
nehemiah chips is really small, so making the executables small helps  
more than anything else.

The off list response added

> - Setting CPUTYPE to pentium, or pentiumpro both work fine.  IIRC,
> 	  the C3 designation is Linux-specific and doesn't exist for
> 	  FreeBSD.

If everybody agrees that the c3 designation is unwise to use, then  
probably the distributed


The off list responded gave extremely helpful and detailed  
information about trimming the kernel for a similar box.  I've  
already done most of what that recommends.

In sum, don't use the c3 specification in /etc/make.conf even though  
the example would suggested otherwise.

Thanks all for your help


More information about the freebsd-questions mailing list