PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Parameter für EGCSb / GCC / PGCC



Tosk
26.08.99, 06:36
hi leute,

kann mir jemmand erklären, wie ich die standard-flags (CFLAGS) des compilers ändere? ich möchte eigentlich nur, dass er mir die proggies als -march=pentium -cpu=amdk6 übersetzt... bisher habe ich jedesmal erst die makefiles per hand editieren müssem... ich hätte aber gerne, dass er mir das bei der generierung der makefiles automatisch einsetzt...

des weiteren werden ein paar andere von mir in das makefile gesetzte flags überschrieben, ohne das ich weiss, wann und wie das passiert... die aufrufe sehen dann inetwa so aus:

gcc -fstrengthreduce -fnostrengthreduce ....

und das bringt natürlich nichts...

über ein paar pragmatische infos würde ich mich freuen...

Tosk

Dufty
28.08.99, 13:07
Wie wärs denn mit einem alias
in der .bashrc
alias gcc='/usr/bin/gcc -march=pentium -cpu=amdk6'

Gruss,
Dufty

Tosk
30.08.99, 06:49
dufty, das bringt nichts, wenn die parameter, die mir danach angehangen werden, meine parameter überschreiben: gcc -mpentium -m486 kompiliert nur für einen 486er, aber eben nicht pentium optimiert...

es sollte eigentlich gehen mit:

env CFLAGS='-O3 -mpentium -march=pentium' ./configure

aber das funktioniert nur, wenn in den makefiles ebenfalls die cFLAGS-varibale benutzt wird... und dass ist eben nicht immer der fall... die kernel nehmen zum bsp. die HOSTFLAGS-variable, und modifizieren die dann auch noch (s.o.)...

wenn ich schon einen pgcc-habe, dann möchte ich auch pentium-code... dass kann doch nicht so schwer sein! http://www.linuxforen.de/ubb/frown.gif

Tosk

Dufty
30.08.99, 23:27
>> ... .bashrc ...
> dufty, das bringt nichts, ...
Oops, Du hast recht, beim make-Commando wird die bash ja als /bin/sh aufgerufen und hierbei wird ja dann gar keine .bashrc eingelesen http://www.linuxforen.de/ubb/frown.gif

> env CFLAGS='-O3 -mpentium -march=pentium' ./configure
Das reicht aber nicht aus, denn makefile-Variablen haben Vorrang vor environment-Variablen (und die Vorrang vor internen Variablen) im allgemeinen Fall.
Noch "vorrängiger" ist aber 'Kommandozeile', also:
$ make CFLAGS='-O3 -march=pentiumpro'
überschreibt alles!

Den pgcc kann ich nicht so empfehlen, macht ziemlich viele Fehler.
(und verspricht Dir nicht zuviel vom Geschwindigkeitszuwachs)

Gruss,
Dufty

PS
$ make CFLAGS='-O3 -march=pentiumpro'
gilt natürlich auch rekursiv, d.h. sub-make sind auch davon "betroffen" http://www.linuxforen.de/ubb/smile.gif

PPS
Aufpassen mußt Du allerdings bei dieser
override
Direktive im Makefile! http://www.linuxforen.de/ubb/frown.gif


[Diese Nachricht wurde geändert von Dufty (am 03 September 1999).]

Tosk
31.08.99, 06:56
danke, ich werde es ausprobieren...

Tosk

Dufty
01.09.99, 05:28
Was natürlich noch ´ne Möglichkeit wäre,
in den gcc-sourcen die cpu-optionen plattwalzen:

gcc-2.95.1/gcc/config/i386/i386.h

Na dann, viel Spass http://www.linuxforen.de/ubb/smile.gif

Gruss,
Dufty