"Hemmann, Volker Armin" <[EMAIL PROTECTED]>
24/01/2008 20:39
Por favor, responda a gentoo-user
 
        Para:   gentoo-user@lists.gentoo.org
        cc: 
        Asunto: Re: [gentoo-user] Re: firewall make.conf settings

On Donnerstag, 24. Januar 2008, James wrote:
> Hemmann, Volker Armin <volker.armin.hemmann <at> tu-clausthal.de> 
writes:
> > > -mcpu is deprecated, according to the examples file as of gcc 3.4, 
SO:
> > >
> > > CFLAGS="-Os -march=i586 -pipe -fomit-frame-pointer"
> > > CHOST="i586-pc-linux-gnu"
> > >
> > > changed to:
> > > CFLAGS="-Os -mtune=i586 -pipe -fomit-frame-pointer"
> > > or
> > > CFLAGS="-Os -march=i586 -mtune=i586 -pipe -fomit-frame-pointer"
> >
> > sure about that? doesn't march include everything mtune would do?
>
> No, I'm not sure. The more I read the more I see different opinions!
> That's why I'm asking. Remember the goals are:
> 1) keep executible (binaries) as small as possible
> 2) use one make.conf on a master system to generate binaries
> for most old pentiums and the K6(amd) systems....
>
> My gut tells me that
>
> CFLAGS="-Os -march=i586 -pipe -fomit-frame-pointer"
> CHOST="i586-pc-linux-gnu"
>
> is the best choice in this cause. However, my 'gut' is more focused
> on the 'kiss' principal:  (kiss whoever does the cooking and cleans
> the dishes)........ aka keep it simple.

well, I like your line ;)
-- 
gentoo-user@lists.gentoo.org mailing list


I like it too!!

-march is more specific than -mtune, that means that it takes profit of 
processor-specific instructions to increase performance, but breaking 
compatiblity with other processors as a side effect. Since you will be 
using the same code for different processors you don't want to be *that* 
specific, so you'll have to stick on the more general -march option.

That's my theory, however, there's some dark point: gcc guides usually 
state that the main difference between -march and -mtune is _backwards_ 
compatibility, but doesn't say anything about _family_ compatibility. 
Quoting Gentoo GCC Optimization guide:

>>
On x86 and x86-64 CPUs, -march will generate code specifically for that 
CPU using all its available instruction sets and the correct ABI; it will 
have no backwards compatibility for older/different CPUs. If you don't 
need to execute code on anything other than the system you're running 
Gentoo on, continue to use -march. You should only consider using -mtune 
when you need to generate code for older CPUs such as i386 and i486. 
-mtune produces more generic code than -march; though it will tune code 
for a certain CPU, it doesn't take into account available instruction sets 
and ABI. Don't use -mcpu on x86 or x86-64 systems, as it is deprecated for 
those arches. 
<<

So I guess it depends on how much time you have before your firewalls are 
production-ready. If you have plenty of time, I'd try -march out and see 
if no horrible crashes appear; if you don't want to play the 
crazy-lab-folk role, go for the safer -mtune.

My two cents :-).
Abraham

-- 
gentoo-user@lists.gentoo.org mailing list

Reply via email to