| View previous topic :: View next topic |
| Author |
Message |
C1REX l33t


Joined: 02 Jan 2004 Posts: 617 Location: London
|
Posted: Wed Feb 04, 2004 10:07 am Post subject: CFLAGS/CXXFLAGS |
|
|
Mało pytań, węc coś napisać trzeba. Wiem, ze na tym forum jest coś takiego, ale ja pytam Polaków.
IMO: Bo są mądrzejsi.
Na dobry początek podaję swoje:
| Code: |
CFLAGS="-O2 -march=athlon-tbird -mcpu=athlon-tbird -pipe -fomit-frame-pointer -funroll-all-loops -ffast-math -mmmx -m3dnow -s -DNDEBUG -DG_DISABLE_ASSERT"
CXXFLAGS="-O2 -march=athlon-tbird -mcpu=athlon-tbird -pipe -ffast-math -fomit-frame-pointer -funroll-all-loops -mmmx -m3dnow -s -DNDEBUG -DG_DISABLE_ASSERT"
USE="3dnow mmx -docs -cups"
LINGUAS="pl"
ACCEPT_KEYWORDS="~x86"
|
Część softu kompiluję z innymi flagami.
Mam nadzieję, że forum się rozkręci.
Pozdrawiam. _________________ I'm sorry for language mistakes. My native language is polish.
Last edited by C1REX on Sun Feb 08, 2004 2:20 pm; edited 2 times in total |
|
| Back to top |
|
 |
Daemon42 n00b


Joined: 26 Jan 2004 Posts: 18 Location: Ciechanów, Poland
|
Posted: Wed Feb 04, 2004 12:06 pm Post subject: |
|
|
Ok, po kolei - na temat flag:
http://lubuska.zapto.org/~hoppke/too_much_to_learn/kompilat.html - tutaj znajdziesz wyjaśnienie kolejnych flag i wytłumaczenie dlaczego należy ich używać. Właściwie, to pozostaje tylko wybór poziomu optymalizacji i tak:
-O2 jak narazie najbezpieczniejsza optymalizacja, binarki średniej wielkości, optymalizacja też srednia, ale kod się w żaden sposób nie rozrasta
-Os teoretycznie powinien być tak samo dobry jak -O2 tylko, że procedury zmniejszające objętość binarek (w rzeczywistości, może być słaba optymalizacja i 2-3 razy większa binarka)
-O3 teoretycznie powinno dawać najlepszą optymalizację - w praktyce częściej to oznacza znacznie dłuższą kompilację, rozrośniete binarki i (nie zawsze) słabo zoptymalizowany kod.
To jest kwestia gustu.
Flagi USE to jest kwestia indywidualna każdego użytkownika. Jako, że ja np. lubie QT, to ustawiam sobie QT, poza tym wolę GTK2 od GTK, co też mam w flagach ustawione. Polecam użyć ufed'a (dostępny w portage do przejrzenia) - czasami brak jakiejś USE-flagi może spowodować błędy w kompilacji. Wszystko wedle wyboru.
LINGUAS? Nie wiem, ja używam LC_ALL="pl_PL", słyszałem, że najbardziej skuteczne.
ACCEPT_KEYWORDS=~x86 może Ci dać niestabilny system. Ale jeśli jest to rozwiązanie desktopowe to ACCEPT_KEYWORDS nie jest złym pomysłem. _________________ The Golden Rule of Arts and Sciences:
Whoever has the gold makes the rules. |
|
| Back to top |
|
 |
btower n00b

Joined: 31 Jul 2003 Posts: 70 Location: Poland
|
Posted: Wed Feb 04, 2004 2:44 pm Post subject: |
|
|
CFLAGS="-mcpu=athlon-xp -march=athlon-xp -O2 -pipe -DNDEBUG -DG_DISABLE_ASSERT -s"
CXXFLAGS="-march=athlon-xp -mcpu=athlon-xp -O2 -pipe -DNDEBUG -DG_DISABLE_ASSERT -s"
COMPILER="gcc3" |
|
| Back to top |
|
 |
arab79 n00b


Joined: 29 Dec 2003 Posts: 17 Location: Poland
|
Posted: Wed Feb 04, 2004 2:50 pm Post subject: |
|
|
athlon xp:
CFLAGS="-O3 -mcpu=athlon-xp -march=athlon-xp -pipe -falign-functions=4 -falign-jumps -falign-loops -fmove-all-movables -fprefetch-loop-arrays -funroll-loops -frerun-loop-opt -ffast-math -mmmx -m3dnow -msse"
--
swojego czasu lecialem na -O2 z tym samym zestawem flag ale mi sie znudzilo.
generalnie wszystko bryka
co do USE... blah.. temat rzeka... _________________ I'm the ONE Bruce. I'm GOD. |
|
| Back to top |
|
 |
btower n00b

Joined: 31 Jul 2003 Posts: 70 Location: Poland
|
Posted: Wed Feb 04, 2004 2:54 pm Post subject: |
|
|
Po co macie takie opcje jak: -mmmx -m3dnow -msse?
Myslalem ze okreslenie typu procesora jednoznacznie dodaje wszystkie dostępne optymalizacje.
Moze ktoś zapoda fragment z $ man gcc który by potwierdzał to co powiedziałem powyzej bo sam juz nie jestem pewien.
Last edited by btower on Wed Feb 04, 2004 3:05 pm; edited 1 time in total |
|
| Back to top |
|
 |
arab79 n00b


Joined: 29 Dec 2003 Posts: 17 Location: Poland
|
Posted: Wed Feb 04, 2004 2:57 pm Post subject: |
|
|
| btower wrote: | Po co macie takie opcje jak: -mmmx -m3dnow -msse?
Myslalem ze okreslenie typu procesora jednoznacznie dodaje wszystkie dostępne optymalizacje. |
hmm.. nie wiem, ja tak na wszelki wypadek te 3 akurat :) _________________ I'm the ONE Bruce. I'm GOD. |
|
| Back to top |
|
 |
C1REX l33t


Joined: 02 Jan 2004 Posts: 617 Location: London
|
Posted: Wed Feb 04, 2004 3:24 pm Post subject: |
|
|
Dokladnie tak - skoro nie moze zaszkodzic, to moze byc jedynie dla swietego spokoju. _________________ I'm sorry for language mistakes. My native language is polish. |
|
| Back to top |
|
 |
grzewho l33t


Joined: 31 Dec 2002 Posts: 626 Location: /home/g
|
Posted: Thu Feb 05, 2004 11:44 am Post subject: |
|
|
CFLAGS="-march=pentium3 -mcpu=pentium3 -mmmx -msse -O3 -pipe -fomit-frame-pointe
r -fforce-addr -s -DNDEBUG -DG_DISSABLE_ASSERT -mfpmath=sse,387 -ffast-math"
procesor to:
g@hal g $ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Celeron (Coppermine)
stepping : 6
cpu MHz : 717.590
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1417.21 _________________
| Code: | | USE="freedom -software_patents" emerge --deep --update world |
|
|
| Back to top |
|
 |
Gohan_ n00b

Joined: 30 Jan 2004 Posts: 9 Location: Knurów, Poland
|
Posted: Thu Feb 05, 2004 12:00 pm Post subject: |
|
|
CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args"
CXXFLAGS="${CFLAGS}"
Te flagi mam dopiero 2 dni ale zrobilem na nich glibc i gcc bez problemu
PS. moze to komus pomoze http://www.freehackers.org/gentoo/gccflags/flag_gcc3.html |
|
| Back to top |
|
 |
no4b Bodhisattva


Joined: 18 Jan 2004 Posts: 773 Location: Tarnów, Poland
|
Posted: Thu Feb 05, 2004 7:00 pm Post subject: |
|
|
| Code: | | CFLAGS="-Os -march=athlon -mcpu=athlon -pipe -fomit-frame-pointer -ffast-math -mmmx -m3dnow -s -DNDEBUG -DG_DISABLE_ASSERT" |
Duron 800 mhz. |
|
| Back to top |
|
 |
Yarecki n00b

Joined: 26 Dec 2003 Posts: 58 Location: Poland - 3City
|
Posted: Thu Feb 05, 2004 7:41 pm Post subject: |
|
|
| CFLAGS="-march=athlon-xp -Os -pipe -fomit-frame-pointer -mmmx -m3dnow -msse -s" |
|
| Back to top |
|
 |
Jabbas n00b

Joined: 23 Jun 2003 Posts: 22 Location: Poland, Cracow
|
Posted: Thu Feb 05, 2004 11:50 pm Post subject: |
|
|
| Daemon42 wrote: | Ok, po kolei - na temat flag:
LINGUAS? Nie wiem, ja używam LC_ALL="pl_PL", słyszałem, że najbardziej skuteczne.
|
LINGUAS używane jest (o ile moja pamięć mnie nie zawodzi) przy koffice albo kde-i18n... _________________ Half my life is in books' written pages
Live and learn from fools and from sages
You know it's true
All the things you do, come back to you
Greetings!
JaBBaS |
|
| Back to top |
|
 |
C1REX l33t


Joined: 02 Jan 2004 Posts: 617 Location: London
|
Posted: Sun Feb 08, 2004 2:26 pm Post subject: |
|
|
Ja podam link do jednego tematu z jednego z najlepszych for linuksowych w Polsce.
http://linuxweb.cyb3r.org/viewtopic.php?p=24317&highlight=falgi#24317
Jak niektórzy zauważyli Os nie jest takie wspaniałe, na jakie wskazywałyby niektóre opisy. Co więcej, ta flaga bardzo źle reauguje z -fomit-frame-pointer.
Dzięki takim osobom jak pluto mój gentoo jest coraz lepszy.
Pozdrawiam _________________ I'm sorry for language mistakes. My native language is polish. |
|
| Back to top |
|
 |
no4b Bodhisattva


Joined: 18 Jan 2004 Posts: 773 Location: Tarnów, Poland
|
Posted: Sun Feb 08, 2004 5:01 pm Post subject: |
|
|
| Ja mam -Os i -fomit-frame-pointer, -fomit-frame-pointer nie jest zalecane dla aplikacji w c++, bo moze rozdmuchiwac kod i ogolnie zle kompilowac. Czesto sypaly mi sie, albo nie wlaczaly wogole (segfalout) programy w c++ zkompilowane z -fomit... natomiast przy programach napisanych w c nie mam problemow. |
|
| Back to top |
|
 |
C1REX l33t


Joined: 02 Jan 2004 Posts: 617 Location: London
|
Posted: Sun Feb 08, 2004 7:04 pm Post subject: |
|
|
Czytałem, że -fomit... rozdmuchuje jedynie kod w kombinacji z Os. czytałem również, że -fomit... sporo daje w c++ o ile wie się, których programów nie powinno się komppilować z tą flagą.
Mógłby ktoś odnieść się to tego info? Większość wyczytałem na http://linuxweb.cyb3r.org _________________ I'm sorry for language mistakes. My native language is polish. |
|
| Back to top |
|
 |
C1REX l33t


Joined: 02 Jan 2004 Posts: 617 Location: London
|
Posted: Fri Feb 20, 2004 9:57 am Post subject: |
|
|
Jakby kogoś interesowało to podaję link do tematu
http://forums.gentoo.org/viewtopic.php?t=5717
W nowym stage'u domyślnie jest ustawione O2, fomit-frame-pointer i pipe _________________ I'm sorry for language mistakes. My native language is polish. |
|
| Back to top |
|
 |
C1REX l33t


Joined: 02 Jan 2004 Posts: 617 Location: London
|
Posted: Sat Feb 21, 2004 8:40 pm Post subject: |
|
|
Nudziło mi się i sobie nowe flagi zawiesiłem
Duron800
CFLAGS="-O2 -march=athlon-tbird -mcpu=athlon-tbird -pipe -fomit-frame-pointer -ffast-math -funroll-all-loops -frename-registers -mmmx -m3dnow -s -DNDEBUG -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS" _________________ I'm sorry for language mistakes. My native language is polish. |
|
| Back to top |
|
 |
krzysz n00b

Joined: 19 Feb 2004 Posts: 56
|
Posted: Sat Feb 21, 2004 10:52 pm Post subject: |
|
|
| -mmmx -m3dnow nie jest włączane domyślnie gdy podasz march=athlon-tbird ? |
|
| Back to top |
|
 |
C1REX l33t


Joined: 02 Jan 2004 Posts: 617 Location: London
|
Posted: Sun Feb 22, 2004 12:34 am Post subject: |
|
|
powinne być, ale różnie w kompilacji bywa. Daję je głównie dla świętego spokoju.
(gdzieś wyczytałem, że jednak te flagi są czasami pomijane i trzeba je dopisać do make.conf) _________________ I'm sorry for language mistakes. My native language is polish. |
|
| Back to top |
|
 |
C1REX l33t


Joined: 02 Jan 2004 Posts: 617 Location: London
|
Posted: Sun Feb 22, 2004 7:58 pm Post subject: |
|
|
Czy te same flagi będa działać w LFS?
Gdzieś wyczytałem, ze w ebuild-ach są ustawione pewne flagi i te z make.conf nie zawsze są uwzględniane.
Wie ktoś coś na ten temat? _________________ I'm sorry for language mistakes. My native language is polish. |
|
| Back to top |
|
 |
fallow Bodhisattva


Joined: 08 Jan 2004 Posts: 2206 Location: Poland
|
Posted: Tue Feb 24, 2004 10:42 am Post subject: |
|
|
wydaje mi sie ( hehe) , ze
specyfikacja flag jest zalezna tylko od posiadanej wersji gcc
no a co do ustawienia flag w ebuildach , no to wlasnie mnie to zaciekowilo .
sam jak cos emerguje to widze, ze nie zawsze sa brane pod uwage te flagi ktore ja mam ustawione , tylko inne...
przegladaem troche ebuildow ale nie znalazlem w nich zadnych ustawien flag ( moe kurde za malo szukalem) ?
wiec skad sie biore zmiany w ustawien flag , przy emergowaniu ?
moze ktros cos wie : ) ?, a jesli to jest ustawiane w ebuildach , to jak : ) ? |
|
| Back to top |
|
 |
btower n00b

Joined: 31 Jul 2003 Posts: 70 Location: Poland
|
Posted: Tue Feb 24, 2004 11:51 am Post subject: |
|
|
| fallow wrote: |
wiec skad sie biore zmiany w ustawien flag , przy emergowaniu ?
moze ktros cos wie : ) ?, a jesli to jest ustawiane w ebuildach , to jak : ) ? |
Nie domyślasz się dlaczego flagi są zmieniane w ebuildach?
To chyba oczywiste że po abyś nie ustawił zbyt agresywnych flag i potem dziwił się dlaczego pakiet się nie merguje lub działa ale się wywraca.
Czasami takie jest zalecenie tworców oprogramowania, czasami bugi w samych programach lub niedopracowane opcje w gcc. Duzo pisze w samych ebuildach, zagladales? |
|
| Back to top |
|
 |
fallow Bodhisattva


Joined: 08 Jan 2004 Posts: 2206 Location: Poland
|
Posted: Tue Feb 24, 2004 12:15 pm Post subject: |
|
|
hehe po co sie tak unosic , lepiej zapasy adrenaliny spozytkuj na cos innego
, nie musisz mi wyjasniac po co sie zmienia flagi , to chyba oczywiste , jak i oczywiste jest to po co ja zmienilem swoje w make.conf
| Quote: |
moze ktros cos wie : ) ?, a jesli to jest ustawiane w ebuildach , to jak : ) ?
|
nie chodzi mi o to dlaczego , tylko jak .[ jak na koncu zdania[
moje pytanie odnosi sie do koknretnej specyfikacji skladni aby zmienic flagi kompilacji w ebuildzie .
co do zagladania , zagladalem , jednakze malo
wlasnie ida zagladnac  |
|
| Back to top |
|
 |
btower n00b

Joined: 31 Jul 2003 Posts: 70 Location: Poland
|
Posted: Tue Feb 24, 2004 12:49 pm Post subject: |
|
|
fragment ebuilda
| Code: |
# Compile problems with these ...
filter-flags "-funroll-loops"
filter-flags "-fomit-frame-pointer"
filter-flags "-fprefetch-loop-arrays"
append-flags "-fno-strict-aliasing"
replace-flags "-O3" "-O2"
replace-flags "-Os" "-O2"
|
|
|
| Back to top |
|
 |
fallow Bodhisattva


Joined: 08 Jan 2004 Posts: 2206 Location: Poland
|
Posted: Tue Feb 24, 2004 1:42 pm Post subject: |
|
|
nooooo..... teraz widze
wreszcie spotkalem np. to w xfree-4.3.99.902-r2.ebuild
| Code: |
filter-flags "-funroll-loops"
ALLOWED_FLAGS="-fstack-protector -march -mcpu -O -O1 -O2 -O3 -pipe -fomit-frame-pointer"
|
no i to co napisal btower ...
mnostwo tego jest hehe: )
ja po prostu chyba jestem slepy ... a i sama skladnia jest prosta hehe
wczesniej nic nie widzialem hehe , jednak komu sie spieszy ....temu cos tam nie wiem co , ale dobrze sie na tym nie wychodzi hehe
ps.moze przyszedl czas wybrac sie do okulisty ? hehehehe |
|
| Back to top |
|
 |
|