reakktor
Well-Known Member
Hi zusammen
Beim letzten "buildworld" (csup 12.05.2011, FreeBSD 8-STABLE, 8.2) bin ich über exakt das gleiche Problem gestolpert, wie in
http://lists.freebsd.org/pipermail/freebsd-current/2011-March/023359.html
beschrieben.
Abhilfe schaffte ein CPUTYPE?=native, wie im Thread dort beschrieben.
Ich habe nun länger recherchiert, auch hier, aber die recht widersprüchlichen Informationen, die ich dabei gefunden habe, veranlassen mich doch, da mal nachzuhaken.
Dazu ein paar Fragen:
1. Ist "core2" wirklich obsolet ?
2. Was nimmt man denn für einen Core i7 975?
3. Gibt es irgendwo eine verlässliche(!) Liste für CPU -> make.conf CPUTYPE und Flags ?
4. Auf welchem Versions-Stand ist der FreeBSD-Basis-GCC nun wirklich (4.2 steht zwar drauf, aber ist wohl mehr drin), was versteht der nun und was nicht, grade im Hinblick auf -march=native z.B.?
Ich erinnerer mich an einen Post einer unserer Gurus (yamagi, kamikaze?), der meinte, dass die Runtime-Optimierung der modernen CPUs schon so gut ist, dass dies eh keinen Unterschied macht (kann Thread grad nich finden) - aber dem stimme ich nur bedingt zu.
Auch moderne Prozessoren profitieren immer noch von Vor-Verdauung. Die Optimierung im Prozessor selbst schluckt nun mal auch Rechenzeit, die Pipelines und Caches sind immer noch klein - komplexere Strukturen kann ein Compiler immer noch wesentlich besser abfackeln.
Ich weiss, dass der Base-GCC langsam aus der Steinzeit ist, aber CLANG/LLVM lässt für die Allgemeinheit ja noch auf sich warten. Kleines Dilemma.
Die fundiertesten Infos kamen irgendwie immer aus den Foren hier, hoffe auch diesmal auf ein wenig Erleuchtung
Beim letzten "buildworld" (csup 12.05.2011, FreeBSD 8-STABLE, 8.2) bin ich über exakt das gleiche Problem gestolpert, wie in
http://lists.freebsd.org/pipermail/freebsd-current/2011-March/023359.html
beschrieben.
Code:
make-roken.c
make-roken.c:1: error: bad value (core2) for -march= switch
make-roken.c:1: error: bad value (core2) for -mtune= switch
/usr/src/kerberos5/tools/make-print-version/../../../crypto/heimdal/lib/vers/make-print-version.c:1:
error: bad value (core2) for -march= switch
/usr/src/kerberos5/tools/make-print-version/../../../crypto/heimdal/lib/vers/make-print-version.c:1:
error: bad value (core2) for -mtune= switch
*** Error code 1
1 error
*** Error code 2
*** Error code 1
Abhilfe schaffte ein CPUTYPE?=native, wie im Thread dort beschrieben.
Ich habe nun länger recherchiert, auch hier, aber die recht widersprüchlichen Informationen, die ich dabei gefunden habe, veranlassen mich doch, da mal nachzuhaken.
Dazu ein paar Fragen:
1. Ist "core2" wirklich obsolet ?
2. Was nimmt man denn für einen Core i7 975?
3. Gibt es irgendwo eine verlässliche(!) Liste für CPU -> make.conf CPUTYPE und Flags ?
4. Auf welchem Versions-Stand ist der FreeBSD-Basis-GCC nun wirklich (4.2 steht zwar drauf, aber ist wohl mehr drin), was versteht der nun und was nicht, grade im Hinblick auf -march=native z.B.?
Ich erinnerer mich an einen Post einer unserer Gurus (yamagi, kamikaze?), der meinte, dass die Runtime-Optimierung der modernen CPUs schon so gut ist, dass dies eh keinen Unterschied macht (kann Thread grad nich finden) - aber dem stimme ich nur bedingt zu.
Auch moderne Prozessoren profitieren immer noch von Vor-Verdauung. Die Optimierung im Prozessor selbst schluckt nun mal auch Rechenzeit, die Pipelines und Caches sind immer noch klein - komplexere Strukturen kann ein Compiler immer noch wesentlich besser abfackeln.
Ich weiss, dass der Base-GCC langsam aus der Steinzeit ist, aber CLANG/LLVM lässt für die Allgemeinheit ja noch auf sich warten. Kleines Dilemma.
Die fundiertesten Infos kamen irgendwie immer aus den Foren hier, hoffe auch diesmal auf ein wenig Erleuchtung