Re: CFLAGS in /etc/make.conf / Optimierungen

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Mon, 24 Dec 2007 02:46:24 +0100

On Mon, Dec 24, 2007 at 01:13:38AM +0100, Alvar Freude wrote:
> Hi,
>
> eine alte Mail, über die ich letztens gestolpert bin:
>
> -- Oliver Fromme <olli(at)lurza.secnetix.de> wrote:
>
> > > CFLAGS= -O -g -pipe
> >
> >Auweia. Diese Optionen waren mit keiner FreeBSD-Version
> >der letzten 10 Jahre sinnvoll. Streiche die Zeile bitte
> >ersatzlos.
>
> Warum das? Sollten Kernel, World und Ports normalerweise mit -O0
> (Buchstabe O, Zahl Null, also ohne Optimierungen) kompiliert werden?

Das ist in der Regel auch default.

> Oder werden die CFLAGS standardmäßig auf einen sinnvollen Wert gesetzt?

Ja - zwischendurch war auch mal O2 default, allerdings ist das meines
Wissens nach zur Zeit wieder auf O runtergstuft, weil es ein paar
Probleme nach einem Compililer-Update ergab.
Mit -O bist du natürlich immer auf der sicheren Seite, aber O2 macht
mitunter schon einen spürbaren Unterschied.

> Beim Kernel macht u.U. ja alles ab -O2 Probleme, aber dafür ist da ja,
> wenn ich das richtig verstanden habe, COPTFLAGS da.

Ich habe auch einige Systeme mit -O2 kernel, aber bei wichtigen
Systemen bin ich da lieber konservativ.

> Gibt es eine empfohlene Möglichkeit, das für die Ports extra zu setzen,
> diese also beispielsweise generell mit -O2 zu kompilieren?
>
> Bei vielen Applikationen ist ja durchaus ein großer Unterschied zwischen
> keinen Optimierungen und -O oder gar -O2 zu spüren.

Ich setze das in der Regel von Hand vor dem compilieren.

> Was ist zu CPUTYPE zu sagen?

Inzwischen harmlos - sollte man setzen, wenn man sicher ist, dass die
Binaries niemals auf einem kleineren System laufen werden.
Problemfall wäre z.B. ein buildworld für ein älteres System
Normalerweise kann man einfach src und obj per NFS rübermounten und
den installworld auf der anderen Maschine machen.
Aber wenn das buildsystem Befehle für neuere CPUs benutzt hat man mit
der vorgehensweise verloren.

> Anhand der Dokumentation in /usr/share/examples/etc/make.conf würde ich
> schon davon ausgehen, dass das Setzen dieser Optionen sinnvoll und
> gewünscht ist. Ebenso anhand make.conf(5).
>
> Daher meine Frage: Warum ist das "Auweia" und seit 10 Jahren nicht
> sinnvoll, warum ist das nicht dokumentiert?

Ich sehe das nicht so hart.
Aber ein -O macht es nur langsammer, wenn der default mal wieder hoch
sein sollte oder bleibt beim default.
Du gewinnst damit also nichts.

-- 
B.Walter                http://www.bwct.de      http://www.fizon.de
bernd(at)bwct.de           info(at)bwct.de            support(at)fizon.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 24 Dec 2007 - 02:46:42 CET

search this site