# Via C3 und i686 Probleme bei z.B. kernel 2.6.21 oder busybox

## a_Boehme

Hi,

ich habe schon seit ca. zwei Jahren einen Server mit einem VIA C3 laufen. Bei der gentoo installation hatte ich gelesen, man könnte das System auf i686 laufen lassen, wenn man

die CFLAGS mit march=c3 setzt. Das funktionierte bis jetzt auch problemlos, leider bekam ich nun bei einem Systemupdate Probleme....

Der Kernel wollte nicht mehr und bei make menuconfig kam sofort "illegal instruction", was vorher niemals der Fall war. Auch Busybox scheiterte mit der gleichen Fehlermeldung.

Nach einigem Suchen habe ich nun im Makefile des Kernels das Flag "march=c3"  ergänzt und es funktioniert alles wieder einwandfrei..

Daher meine Frage: Was hat sich hier geändert, bzw. ist es evt. Zufall und der aktualisierte gcc nutzt nun der CPU unbekannte Instruktionen ? Sollten die globalen Flags aus der make.conf nicht auch bei der Übersetzung von Hilfsprogrammen des Kernels (scripts/basic/fixdep) genutzt werden ?

cu

----------

## micmac

Manchen VIA CPUs haben kein "CMOV" -> kein i686. Hier steht ein ME6000 mit Samuel2-CPU und das ist auch so einer. Hatte auch mal i686 eingestellt und das ging auch alles gut, bis ich gemerkt habe das Teile von den mjpegtools nicht funktionierten. Also habe ich i585 benutzt und alles war in Ordnung. /proc/cpuinfo zeigt CMOV an.

----------

## a_Boehme

Durch das compilerflag march=c3 sollte aber die Verwendung von CMOV verhindert werden. Immerhin funktioniert das Übersetzen ja auch, wenn man selbst das Makefile ändert. Ich frage mich nun, warum manche sources ohne die Konfiguration aus der make.conf übersetzt werden. Wenn das "normal" ist, muss ich wohl auch auf 586 umsteigen oder mir einen aktuelleren C3 kaufen  :Sad: 

----------

## schotter

also ich nehm

```
march=c3-2
```

und hab damit keinerlei Probleme.

----------

## Jinidog

```
export CFLAGS_KERNEL="-march=c3 -O2 -pipe -fomit-frame-pointer"
```

Sollte das ändern des Makefiles unnötig machen.

----------

