Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

24.12.2003, 23:27

CFLAGS und bootstrap

Bei den Optimierungseinstellungen für make.conf sind mir einige Fragen zu den CFLAGS gekommen.
Momentan sehen sie bei mir wie folgt aus: CFLAGS="-O3 -march=athlon-xp -mfpmath=sse -mmmx -m3dnow -msse -pipe" Allerdings kapiere ich "On Pentium and PentiumPro, double and long double values should be aligned to an 8 byte boundary (see -malign-double) or suffer significant run time performance penalties. On Pentium III, the Streaming SIMD Extension (SSE) data type __m128 suffers similar penalties if it is not 16 byte aligned." aus der gcc-3.2.3-Doku nicht richtig. Muss ich also -mpreferred-stack-boundary=num setzen und falls ja mit num =2 oder num=4. Ebenfalls unklar ist auch ob ich -malign-double benötige. Ist es ausserdem sinnvoll -funroll-loops oder -funroll-all-loops zu setzen.

Mit CFLAGS="-O3 -march=athlon-xp -mfpmath=sse -mmmx -m3dnow -msse -pipe" habe ich auch schon einmal bootstrap gestartet (gehe von stage1 aus), allerdings scheiterte der Vorgang bei ncurses (gcc und glibc Probleme (einige Warnings wurden bei GCC ausgegeben). Leider weiß ich die Fehlermeldung nicht mehr :evil: . Es war irgendwas mit linker und flags glaube ich, bin mir aber nicht sichher. Aber egal wie vielleicht hatte ja schonmal einer von euch an dieser Stelle einen Fehler oder es liegt an falschen CFLAGS?

Danke für eure Hilfe :D

Philipp

2

25.12.2003, 20:39

hi,

bin mir aber ziemlich sicher, daß du nicht jede option einzeln setzten musst. viele sind schon in dem flag "-Ox" drin. schau dir am besten diese documentation an (hat mir zumindest sehr geholfen).

http://freshmeat.net/articles/view/730/

und ... ich meine irgendwo gelesen zu haben, daß die option "-malign-double" sehr viele probleme beim compilieren macht. man sollte diese besser ausschalten (bin mir nur nicht mehr sicher wo ich es gelesen hab.)

vielleicht hilft dir das irgendwie weiter. (nicht vergessen, manchmal ist weniger mehr ;) )

3

25.12.2003, 21:45

Geh mal runter auf -O2, also ich bin hier auch am suchen, habe einige Pakete, die sich nicht mehr kompilieren lassen, obwohl es früher ging. Teste gerade, ob es an -O3 liegt, habe da manchmal gewechselt.

Und ganz wichtig, mach erst mal alles ohne "~x86", das kannst du später mal versuchen, wenn alles läuft.

4

28.12.2003, 18:15

Runter auf Os

Danke für eure Hilfe. Hab mich entschlossen auf CFLAGS="-Os -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -pipe" zu wechseln.

-Os weil es ungefähr der optimierung von -O2 entspricht und bei heutigen Prozessoren eine größere Optimierung so oder so bloß einen unmerkbar kleinen Geschwidigkeitszuwachs bring. Die einzigste wirkliche Einschränkung eines modernen Rechners stelle die Festplatte, der Übertragungsweg Festplatte <=> CPU/Motherboard/Controller und der 2nd/1st Level Cache der Cpu. Ich habe zum Beispiel bloß 256kb 2nd Level Cache. Wenn der Code durch zu vie Optimierung zu groß geworden ist muss die CPU nur "Nullrunden" drehen bis wieder Daten nachgeladen sind. Also optimiere ich auf Größe.