View previous topic :: View next topic |
Author |
Message |
ollie n00b
Joined: 24 Nov 2002 Posts: 35
|
Posted: Thu Jun 19, 2003 10:52 am Post subject: |
|
|
Terminal wrote: | Well, the script works, although it is detecting my duron as being -march=athlon instead of being -march=athlon-tbird ... weird. |
a duron is in no way a tbird so why is it wierd? |
|
Back to top |
|
|
bsolar Bodhisattva
Joined: 12 Jan 2003 Posts: 2764
|
Posted: Fri Jun 20, 2003 1:27 pm Post subject: Re: GCC 3.2 problems w/ P4 and SSE2 |
|
|
xunil wrote: | GCC 3.2 (the default GCC in Gentoo 1.4) generates bad SSE2 code. You should use -march=pentium3 for Pentium 4s and also omit -msse2 for GCC 3.2 and below, but GCC 3.3 fixes this. |
gcc-3.2.3 solves the issue too. _________________ I may not agree with what you say, but I'll defend to the death your right to say it. |
|
Back to top |
|
|
xunil n00b
Joined: 18 Jun 2003 Posts: 36 Location: Blacksburg, VA, USA
|
Posted: Fri Jun 20, 2003 2:59 pm Post subject: Re: GCC 3.2 problems w/ P4 and SSE2 |
|
|
bsolar wrote: | xunil wrote: | GCC 3.2 (the default GCC in Gentoo 1.4) generates bad SSE2 code. You should use -march=pentium3 for Pentium 4s and also omit -msse2 for GCC 3.2 and below, but GCC 3.3 fixes this. |
gcc-3.2.3 solves the issue too. |
Oh, then it's time to rebuild. Still, the script should check for this b/c I've personally had some terrible experiences w/ crashing code using earlier versions of GCC 3.2 when I wasn't aware of this bug. |
|
Back to top |
|
|
Arafaen n00b
Joined: 16 Jun 2003 Posts: 8 Location: Kingston, Ontario
|
Posted: Fri Jun 20, 2003 3:23 pm Post subject: |
|
|
cromozon wrote: | Im going to use this in a script that one day should be able to configure the kernel automatic, it's GREAT
|
While I agree that this would be an absolutely fantastic script to have, I really don't think it's possible to make it general enough to work. In particular, I think it will inevitably lead to chicken-and-egg problems. If, for example, USB support is not already compiled into the kernel, then from within Linux no user application will be able to detect that the machine actually supports USB. In essence, there would be a lot of situations where, in order to tell that support for a given type of device is needed in the kernel, that support would already have to be present in the kernel.
-chris |
|
Back to top |
|
|
raid517 l33t
Joined: 06 Mar 2003 Posts: 946
|
Posted: Mon Jun 23, 2003 2:10 pm Post subject: |
|
|
How about this for a total n00b... How exactly do you get that script to work? I've seen executable scripts before, but runing those is easy. What do I do? Make a text file or something and paste the script into it? Also can that script be adapted so that it actually creates a unique make.conf file for each users individual systems? I know some guys are working on a Gentoo installer and would probably appreciate this.
Q |
|
Back to top |
|
|
ChadRock! n00b
Joined: 20 Jun 2003 Posts: 3
|
Posted: Wed Jun 25, 2003 4:02 pm Post subject: Yeah! Good questions Raid517 |
|
|
I had the same thoughts Raid517. I'm a nube. How do you make scripts?
Good questions:
1. "What do I do? Make a text file or something and paste the script into it?"
2. "Can that script be adapted so that it actually creates a unique make.conf file for each users individual systems?" |
|
Back to top |
|
|
s3ntient Guru
Joined: 13 Apr 2003 Posts: 304 Location: Lyon, France
|
Posted: Wed Jun 25, 2003 10:14 pm Post subject: |
|
|
Basically past it all into a file called say cflag_script , put that file into /usr/bin then do
chmod +x /usr/bin/cflag_script
then you can just type cflag_script in a console and i'll execute giving you the output of the script. _________________ http://blog.chaostrophy.org |
|
Back to top |
|
|
gandalf2041 n00b
Joined: 28 Jun 2003 Posts: 47
|
Posted: Sat Jun 28, 2003 3:01 pm Post subject: |
|
|
I've followed the instructions in this thread to get the script up and running; however, I get either:
RAND bin # ./cflags_script
:bad interpreter: No such file or directory OR
RAND bin #bash cflags_script
:command not found 2:
:command not found 4:
:command not found 7:
:command not found 10:
:command not found 12:
cflags_script: line 21: syntax error near unexpected token 'elif'
'flags_script: line 21: ' elif [ "$name" == "cpu family" ]; then
this is a BRAND new Gentoo 1.4 install on a Wintel P4 1.8 GHz (I haven't even installed X). Any help would be greatly appreciated. |
|
Back to top |
|
|
maxilion n00b
Joined: 19 Jun 2002 Posts: 34 Location: Belgium
|
Posted: Sat Jun 28, 2003 7:06 pm Post subject: |
|
|
gandalf2041 wrote: | I've followed the instructions in this thread to get the script up and running; however, I get either:
RAND bin # ./cflags_script
:bad interpreter: No such file or directory OR
RAND bin #bash cflags_script
:command not found 2:
:command not found 4:
:command not found 7:
:command not found 10:
:command not found 12:
cflags_script: line 21: syntax error near unexpected token 'elif'
'flags_script: line 21: ' elif [ "$name" == "cpu family" ]; then
this is a BRAND new Gentoo 1.4 install on a Wintel P4 1.8 GHz (I haven't even installed X). Any help would be greatly appreciated. |
Edit the script and make sure you haven't got any spaces before the commands. By example copy & pasting from konqueror inserts one space in the beginnen of every line. This has to be deleted for the script to work.
Maxillion |
|
Back to top |
|
|
gandalf2041 n00b
Joined: 28 Jun 2003 Posts: 47
|
Posted: Sat Jun 28, 2003 11:31 pm Post subject: |
|
|
That did it. Looks like I had an extra return at the end. Thanks!
BTW: Output ---> -march=pentium4 -mfpmath=sse -msse2 -mmmx |
|
Back to top |
|
|
ChadRock! n00b
Joined: 20 Jun 2003 Posts: 3
|
Posted: Fri Jul 04, 2003 9:00 pm Post subject: course |
|
|
Thanks for the patience people. I took a Redhat Linux course and learned some basics, like chmod and scipts, so I know how to make scripts now.
The class did not go into compiling yet, so I'm afraid Gentoo is a little over my head still.
I compiled Gentoo ok following the ix86 install instructions and got a bootable system. The problem is, I understood what was going on up until compiling the kernel. That was the point at which the instructions lose beginners like me.
It did not specify exactly what to do step by step, so I could understand, and thus I was lost from that point on. I was not sure what to pick in the kernel. Also, I was not sure that if I chose some options, whether or not the defaults apply along with what you change or if they don't apply at all if I make any changes.
I was following along fine until that point. My system booted up but I did not have basic apps and commands working. Maybe it was a pathing problem. I did not know if I had all of the packages I wanted or needed. I did not know what to chose from. I guess that's the way it is huh? It seems like the instructions were step by step dummy proof up until the kernel compile.
I just don't seem to be geek enough to figure it out like you guys do yet. But hopefully in a year or two I will be. |
|
Back to top |
|
|
rinnan Tux's lil' helper
Joined: 24 May 2003 Posts: 138 Location: Honolulu, Hawai`i
|
Posted: Fri Jul 11, 2003 7:04 am Post subject: Okay got it to work |
|
|
Cut-n-paste it into Kate, from Konqueror, which works but will preserve the HTML encoding as control characters. To eliminate them, so that the script can be run, follow these instructions.
First, choose "Select All" from the "Edit" menu in Kate. Then, select "Clean Indentation" from Kate's "Tool" menu. This eliminates the starting blank character on each line. Next we have to change the indents to something that doesn't confuse /bin/sh. On line #15 of the script is "unset IFS", if you cut-n-pasted it exactly from the first text line. It's the middle line in the following list of lines:
Quote: | IFS=":"
while read name value; do
unset IFS
name=`echo $name`
value=`echo $value`
|
Carefully select the whitespace between the beginning of the line and the first character, the "u" on the line. Don't select the "u" however, but be sure to get every blank character including the first one.
Then choose the "Replace Text" from Kate's "Edit" pull-down menu.
The text you want to replace is the indentation itself. It is already entered and highlighted for you, in the "Text to Find" box, so you don't need to do anything else there. Click in the "Replacement Text" box and type four spaces. Then, select the "Ok" button, which will do the work. If you did exactly what I did you will get the message box, "224 replacements made".
Save it (as "cflags.sh" for example), then, in the shell, execute the following command to run it:
Quote: | bash-2.05b$ . cflags.sh
-march=pentium3 -mfpmath=sse -msse -mmmx
bash-2.05b$
|
Don't forget the little period and space before the "cflags.sh". That will cause bash to execute a script without it having to be executable.
Alternatively you can make it executable such that it executes exactly like any other Linux script -- type this:
Quote: | bash-2.05b$ chmod +x cflags.sh
bash-2.05b$
|
My machine is a Nehemiah M10000 from Via. The /cpu/proc is:
Quote: |
bash-2.05b$ cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 9
model name : VIA Nehemiah
stepping : 1
cpu MHz : 999.453
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de tsc msr mtrr pge cmov mmx fxsr sse
bogomips : 1986.56
|
Erik |
|
Back to top |
|
|
fastus eddius n00b
Joined: 19 Jul 2003 Posts: 10
|
Posted: Sat Jul 19, 2003 1:28 am Post subject: working cflags for Eden C3-2/Nehemiah (Via M10000) mini-itx |
|
|
(hope i got all the relevant keywords in there other than epia)
i successfully completed a stage3 install of gentoo 1.4. emerge -u world worked without a hitch and the system seems stable. audio and X work thanks to various members in this forum.
related cpu/compiler settings are as follows:
gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -mfpmath=sse -msse -mmmx -O3 -pipe -fomit-frame-pointer
-fprefetch-loop-arrays -fforce-addr -falign-functions=4"
Eden C3-2/Nehemiah (Via M10000)
$ cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 9
model name : VIA Nehemiah
stepping : 1
cpu MHz : 999.550
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de tsc msr mtrr pge cmov mmx fxsr sse
bogomips : 1992.29
fwiw, the cflags script gave the following output for this cpu - i just added the rest to see if i could get away with it:
-march=pentium3 -mfpmath=sse -msse -mmmx |
|
Back to top |
|
|
regeya Apprentice
Joined: 28 Jul 2002 Posts: 270 Location: Desoto, IL, USA
|
Posted: Fri Oct 31, 2003 11:00 pm Post subject: Re: working cflags for Eden C3-2/Nehemiah (Via M10000) mini- |
|
|
fastus eddius wrote: | (hope i got all the relevant keywords in there other than epia)
i successfully completed a stage3 install of gentoo 1.4. emerge -u world worked without a hitch and the system seems stable. audio and X work thanks to various members in this forum.
related cpu/compiler settings are as follows:
gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -mfpmath=sse -msse -mmmx -O3 -pipe -fomit-frame-pointer
-fprefetch-loop-arrays -fforce-addr -falign-functions=4"
Eden C3-2/Nehemiah (Via M10000) |
I've got an Ezra, which doesn't have the same featureset. The advice I got was to use flags much as one would for a K6-3. If I ever have to emerge -e world, I'm changing one thing: -O3 to -Os. Like your processor, mine has 64kb of cache.
Code: |
bash-2.05b$ cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 8
model name : VIA C3 Ezra
stepping : 9
cpu MHz : 1003.866
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de tsc msr cx8 mtrr pge mmx 3dnow
bogomips : 1966.08
|
|
|
Back to top |
|
|
Autie Guru
Joined: 25 Jul 2003 Posts: 309 Location: Ledegem - Belgium
|
Posted: Thu Dec 18, 2003 8:22 pm Post subject: cflag script |
|
|
i get errors after is set my echo from that script in my make.conf.
Code: |
pentium4 -mfpmath=sse -msse2 -mmmx
|
That was my output from that script, so i set my CFLAG to:
Code: |
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -mfpmath=sse -msse2 -mmmx"
|
So, i emerge -e world, and all go well, until i emerge libvorbis.
there i get errors, which i don't have with CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
Any ideas why i get errors? |
|
Back to top |
|
|
Autie Guru
Joined: 25 Jul 2003 Posts: 309 Location: Ledegem - Belgium
|
Posted: Thu Dec 18, 2003 8:22 pm Post subject: cflag script |
|
|
i get errors after is set my echo from that script in my make.conf.
Code: |
pentium4 -mfpmath=sse -msse2 -mmmx
|
That was my output from that script, so i set my CFLAG to:
Code: |
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -mfpmath=sse -msse2 -mmmx"
|
So, i emerge -e world, and all go well, until i emerge libvorbis.
there i get errors, which i don't have with CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
Any ideas why i get errors? |
|
Back to top |
|
|
Autie Guru
Joined: 25 Jul 2003 Posts: 309 Location: Ledegem - Belgium
|
Posted: Thu Dec 18, 2003 8:24 pm Post subject: cflag script |
|
|
i get errors after is set my echo from that script in my make.conf.
Code: |
pentium4 -mfpmath=sse -msse2 -mmmx
|
That was my output from that script, so i set my CFLAG to:
Code: |
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -mfpmath=sse -msse2 -mmmx"
|
So, i emerge -e world, and all go well, until i emerge libvorbis.
there i get errors, which i don't have with CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
Any ideas why i get errors? |
|
Back to top |
|
|
RikBlankestijn Guru
Joined: 01 May 2003 Posts: 315 Location: Arnhem the Netherlands
|
Posted: Tue Dec 23, 2003 3:31 pm Post subject: doing emerge -e world right now |
|
|
If I've done emerge -e world with these new flags and everything has been successfully compiled does mean your system will be ok? Or are there other things to think of? |
|
Back to top |
|
|
j11888 n00b
Joined: 16 Dec 2003 Posts: 5
|
Posted: Tue Dec 23, 2003 6:22 pm Post subject: |
|
|
am i the only one who nano will indent (untill it gets off teh screen) everything thats copyed into it from gnome-terminal?
anyways, i ran it on a celderon copermine and got:
-march=pentium3 -mfpmath=sse -msse -mmmx
im gonna use "-march=pentium3 -mfpmath=sse,387 -msse -mmmx -O3 -pipe -fomit-frame-pointer" unless anyone can think of a reason not to
being 2 lazy to recompile everything, ill just use the "emerge -Uu -v --oneshot `qpkg -I -nc`" from another topic and wind up recompiling everything sooner or later.
Quote: |
Thanks for the patience people. I took a Redhat Linux course and learned some basics, like chmod and scipts, so I know how to make scripts now.
The class did not go into compiling yet, so I'm afraid Gentoo is a little over my head still.
I compiled Gentoo ok following the ix86 install instructions and got a bootable system. The problem is, I understood what was going on up until compiling the kernel. That was the point at which the instructions lose beginners like me.
It did not specify exactly what to do step by step, so I could understand, and thus I was lost from that point on. I was not sure what to pick in the kernel. Also, I was not sure that if I chose some options, whether or not the defaults apply along with what you change or if they don't apply at all if I make any changes.
I was following along fine until that point. My system booted up but I did not have basic apps and commands working. Maybe it was a pathing problem. I did not know if I had all of the packages I wanted or needed. I did not know what to chose from. I guess that's the way it is huh? It seems like the instructions were step by step dummy proof up until the kernel compile.
|
Tip: dont learn from classes, theres a world of books and howtos more useful then any teacher i no of
to install the kernel just choose wat source u want (gentoo-sources may b best if u dont no teh differances) and then emerge genkernel.
the thing thats confusing me bout ur post is that u couldn't compile the kernel cuz u couldn't figure out how from the instruction, yet u could still boot it>? also, wat do u mean when u say that basic apps and commands dont work? u got to emerge stuff like gnome b4 u use it (this aint redhat w/ the rpm )
BTW: Zyklon, thx for the great script |
|
Back to top |
|
|
fincoop Tux's lil' helper
Joined: 02 Feb 2004 Posts: 143
|
Posted: Sat May 08, 2004 7:27 am Post subject: |
|
|
I edited make.conf, and then emerged a new package (portage), and it didn't use the new settings. I copy/pasted the CFLAGS line from make.conf into my shell and then emerged another package and it worked. Do I need to have the CFLAGS variable loaded into memory for them to apply? |
|
Back to top |
|
|
bravecobra Tux's lil' helper
Joined: 26 Dec 2002 Posts: 130 Location: Planet Earth (sometimes)
|
Posted: Sat May 08, 2004 12:35 pm Post subject: |
|
|
xunil wrote: | GCC 3.2 (the default GCC in Gentoo 1.4) generates bad SSE2 code. You should use -march=pentium3 for Pentium 4s and also omit -msse2 for GCC 3.2 and below, but GCC 3.3 fixes this. |
The script generates this:
Code: | -march=pentium4 -mfpmath=sse -msse2 -mmmx |
Here is my /proc/cpuinfo Code: | bash-2.05b$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 4
cpu MHz : 2400.084
cache size : 512 KB
physical id : 0
siblings : 1
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 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4734.97
|
_________________ Brave Cobra
http://www.bravecobra.com |
|
Back to top |
|
|
vdboor Guru
Joined: 03 Dec 2003 Posts: 592 Location: The Netherlands
|
Posted: Mon May 10, 2004 11:53 am Post subject: |
|
|
Cool script! If this matures, I hope it will be in on the gentoo-install cd by default..
I was wondering if there is any way to specify what kind of usage one has in mind for their system. Because I have an AMD Athlon XP, I used to compile with -O3. Unfortunately, this takes ages to compile, and programs load slow (execute fast). Because I have a desktop, I want programs to load fast, so I use -Os.
There is one thing though, korganizer (kdepim package) seams to give a problem with -Os, this has been reported at bugs.kde.org as well.. That's why I use -O2 today: stable and safe.
Conclusion: could there be three options?
"What would you like to optimize your system for:"
- Slow application startup, fast execution (-O3)
- Small binaries (-Os)
- Safe and stable (-O2) _________________ The best way to accelerate a windows server is by 9.81M/S²
Linux user #311670 and Yet Another Perl Programmer
[ screenies | Coding on KMess ] |
|
Back to top |
|
|
dalek Veteran
Joined: 19 Sep 2003 Posts: 1353 Location: Mississippi USA
|
Posted: Mon May 10, 2004 12:54 pm Post subject: |
|
|
I have a Athlon XP 2500+. Here is what it gave me in case you need to make a adjustment. Looks akay to me but what do I know??
Code: | root@smoker /proc # cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 10
model name : AMD Athlon(tm) XP 2500+
stepping : 0
cpu MHz : 1829.934
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 3620.86
root@smoker /proc # /home/dale/Desktop/CFLAGS-script
-march=athlon-xp -mfpmath=sse -msse -mmmx -m3dnow
root@smoker /proc # |
Oh, make.conf snippets:
Code: | CFLAGS="-O3 -march=athlon-xp -fmove-all-movables -fprefetch-loop-arrays -funroll-loops -fomit-frame-pointer -ffast-math -pipe" |
Read that somewhere in the forum. <shruggs shoulders> It works.
Later
_________________ My rig: Gigabyte GA-970A-UD3P mobo, AMD FX-8350 Eight-Core CPU, ZALMAN CNPS10X Performa CPU cooler,
G.SKILL 32GB DDR3 PC3 12800 Memory Nvidia GTX-650 video card LG W2253 Monitor
60TBs of hard drive space using LVM
Cooler Master HAF-932 Case |
|
Back to top |
|
|
moocha Watchman
Joined: 21 Oct 2003 Posts: 5722
|
Posted: Fri May 21, 2004 1:33 pm Post subject: |
|
|
In fact nobody should ever use the -mmmx, -msse etc etc flags. Just set -march and -mcpu (both, in case an ebuild filters -march out, then at leats you'll have -mcpu left) and let the compiler decide on the -m flags. It will usually make a better decision than you. Assuming you have at least GCC 3.3, of course.
-Os is useful for very old processors, without level 2 cache (or with a very small level 2 cache), and for SMP systems. For normal desktop usage it's slower than -O2 or -O3, and in most cases slower than -O1.
Avoid specifying -mfpmath. -mfpmath=sse always produces horrible code. -mfpmath=sse,387 produces marginally better but quite slow code (GCC's floating point optimizer can't yet make good use of a dual set of registers, SSE and the FP ones). Stick with -mfpmath=387, which is the default. In other words, don't fiddle with -mfpmath unless you're running the latest, bleeding edge CVS version of GCC (and if you do that you don't need anyone to tell you what to use )
Do NOT use -ffast-math. You're asking for it.
To summarize: Other than -march and -mcpu, stay away from the -m switches unless you know *exactly* what you're doing. Very few packages benefit from messing with them, and the corresponding ebuilds and/or configure scripts take care of them in those cases. You can fiddle with the -m flags, of course, but you'll usually end up with slower running code than if you'd just gone with the defaults. _________________ Military Commissions Act of 2006: http://tinyurl.com/jrcto
"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety."
-- attributed to Benjamin Franklin |
|
Back to top |
|
|
vdboor Guru
Joined: 03 Dec 2003 Posts: 592 Location: The Netherlands
|
Posted: Fri May 21, 2004 2:52 pm Post subject: |
|
|
moocha wrote: | In fact nobody should ever use the -mmmx, -msse etc etc flags. Just set -march and -mcpu (both, in case an ebuild filters -march out, then at leats you'll have -mcpu left) and let the compiler decide on the -m flags. It will usually make a better decision than you. Assuming you have at least GCC 3.3, of course.
-Os is useful for very old processors, without level 2 cache (or with a very small level 2 cache), and for SMP systems. For normal desktop usage it's slower than -O2 or -O3, and in most cases slower than -O1.
Avoid specifying -mfpmath. -mfpmath=sse always produces horrible code. -mfpmath=sse,387 produces marginally better but quite slow code (GCC's floating point optimizer can't yet make good use of a dual set of registers, SSE and the FP ones). Stick with -mfpmath=387, which is the default. In other words, don't fiddle with -mfpmath unless you're running the latest, bleeding edge CVS version of GCC (and if you do that you don't need anyone to tell you what to use )
Do NOT use -ffast-math. You're asking for it.
To summarize: Other than -march and -mcpu, stay away from the -m switches unless you know *exactly* what you're doing. Very few packages benefit from messing with them, and the corresponding ebuilds and/or configure scripts take care of them in those cases. You can fiddle with the -m flags, of course, but you'll usually end up with slower running code than if you'd just gone with the defaults. |
Thanks for this useful info I think this should be at the main page somewhere, because everyone seams to play _a lot_ with their flags.. Also, -fomit-framepointer and such are already used for -O2
My CFLAGS seam to get cleaner and shorter each month _________________ The best way to accelerate a windows server is by 9.81M/S²
Linux user #311670 and Yet Another Perl Programmer
[ screenies | Coding on KMess ] |
|
Back to top |
|
|
|