Skocz do zawartości

Gcc Cflags Gdzie Definiować?


arman

Rekomendowane odpowiedzi

Panowie,

 

Domyślnie jest :

[root@arman net]# gcc -v

Using built-in specs.

 

a co jeśli ktoś zecce by we wszystkich przypadkach gcc było z :

CFLAGS="-O3 -Wall -march=i686 -mtune=686 -mfpmath-sse -msse2 -fomit-frame-pointer -funroll-loops"

 

Kiedyś był pliczek "specs" z którego gcc zaciągało całe ustawienia.

Jeszcze dawniej wpisywało się to w /etc/profile

Ale teraz już to nie działa, więc może znacie miejsce gdzie należy sobie takową linijkę c CFLAGS dodać ( nie piszczie tylko, że dla każdego źródła w Makefile:-) ?

 

pozdr,

 

ArMan

PS. Dla niedowiarków:

[root@arman ~]# export -p

declare -x CFLAGS="-O3 -Wall -march=i686 -mtune=686 -mfpmath-sse -msse2 -fomit-frame-pointer -funroll-loops"

declare -x DISPLAY=":0.0"

declare -x G_BROKEN_FILENAMES="1"

declare -x HISTSIZE="1000"

declare -x HOME="/root"

declare -x HOSTNAME="arman.sldx.com.pl"

declare -x INPUTRC="/etc/inputrc"

declare -x LANG="pl_PL.UTF-8"

declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"

declare -x LOGNAME="root"

declare -x LS_COLORS="no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;

32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;

32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.

z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;

31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;

35:*.png=00;35:*.tif=00;35:"

declare -x MAIL="/var/spool/mail/root"

declare -x OLDPWD

declare -x PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin"

declare -x PWD="/root"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"

declare -x TERM="xterm"

declare -x USER="root"

declare -x XAUTHORITY="/root/.xauthkJkSz1"

[root@arman ~]# touch cpu.c

[root@arman ~]# gcc -S -fverbose-asm cpu.c

[root@arman ~]# more cpu.s

.file "cpu.c"

# GNU C version 4.0.0 20050519 (Red Hat 4.0.0-8) (i386-redhat-linux)

# compiled by GNU C version 4.0.0 20050519 (Red Hat 4.0.0-8).

# GGC heuristics: --param ggc-min-expand=42 --param ggc-min-heapsize=23873

# options passed: -auxbase -fverbose-asm

# options enabled: -falign-loops -fargument-alias -fbranch-count-reg

# -fcommon -feliminate-unused-debug-types -ffunction-cse -fgcse-lm -fident

# -fivopts -fkeep-static-consts -fleading-underscore -floop-optimize2

# -fmath-errno -fpcc-struct-return -fpeephole -fsched-interblock

# -fsched-spec -fsched-stalled-insns-dep -fsplit-ivs-in-unroller

# -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize

# -fverbose-asm -fzero-initialized-in-bss -m80387 -mhard-float

# -mno-soft-float -mieee-fp -mfp-ret-in-387 -mno-red-zone

# -mtls-direct-seg-refs -mtune=i386 -march=i386

 

.ident "GCC: (GNU) 4.0.0 20050519 (Red Hat 4.0.0-8)"

.section .note.GNU-stack,"",@progbits

Edytowane przez lszk
Odnośnik do komentarza
Udostępnij na innych stronach

Tu jest sporo: http://www.cda.pl/gry-online/g/f_toya2.htm

I jakbyś tak jeszcze trochę zawijał długie linie...

 

Pozdr,

W.

Do WalDo

 

Kolega widzę dowcipny ( potrafię szukać, potrafię, wiem również jak się googla), ale problem nie jest

banalny poza tym widzę, że każdy robi to w inny sposób,

a z tego co pamiętam to do powyższych rzeczy powinno się chyba użyć plików z katalogu:

 

/usr/lib/rpm/

np: /usr/lib/rpm/athlon-linux/macro

 

wtedy działa --target w/g tego co tam napiszemy, w tym pliku mamy optflags'y, proszę więc nie

piszcie ludzikom, że mają sobie tworzyć exporty i jakieś pliki *.sh:-) kiedyś tak może było ale teraz

redhat tłumaczy to inaczej.

 

Mnie natomiast nie chodzi o rpm'y i inne przebudowywanie ale poprostu kompilacja własnych apsów

za pomocą gcc. Na redhacie niestety tego nie udało mi się odnaleźć. Można oczywiście zrobić sobe

to przez aliasowanie komendy gcc : gcc -spec /root/spec_files/moj.spec gdzie sobie napiszemy

własny plik spec dla gcc ale chyba nie o to chodzi.

 

pozdrawaim,

ArMan

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...