On Thu, 6 Jul 2006 20:42:27 +0200 "Diego 'Flameeyes' Pettenò"
<[EMAIL PROTECTED]> wrote:
| > Not really. The __MAGIC__ is subject to change whenever any GCC
| > person feels like it.
|
| It's not magic. But if you think that going by that trick you can
| magically turn me in agreeing with you, good luck.

They're a bunch of arbitrary somethings that may or may not be defined
based upon whatever upstream feels like doing to the compiler this
week. It's not like the behaviour of your hello world app, which is
defined by international standards.
 
| > It also doesn't work in cases where people have one of 
| > those nasty corner case CPUs (such as the 4m, which is not an m and
| > not really a 4 either, or the USIV, or the r8k) that's best off
| > with a weird march.
|
| That's what the -m{,no-}{mmx,sse,sse2,sse3,3dnow,3dnowex} flags are
| for.

Which is a horrible hack, and far less elegant than just having a
frickin' variable telling ebuilds what to do.
 
| > Well that's kinda the point. Since ebuild developers don't have
| > access to every kind of CPU, relying upon the ebuilds getting it
| > right isn't a very good idea.
|
| The MMX code either works or don't. Not much to think about different
| CPUs.

And in cases where the choice is "an SSE routine or an MMX routine or a
C routine"? It's not very likely that all possibilities will get tested
by ebuild devs.
 
| > Since when was Gentoo about covering up for idiots who can't get
| > their ricing correct at the expense of those who know what they're
| > doing?
|
| Again, I don't see any loss for who knows what he's doing.

Because you carefully snipped it out of your reply. You said yourself
that it's a regression.
 
| > Sure it's magic. The __DEFINES__ aren't reliable. The GCC people
| > change them around now and again for compatibility with other
| > compilers.
|
| Yeah _some_ of them are unreliable. Not those tho, as they are just
| the same on all the GCC we support. And I doubt that next week GCC
| 4.1.2 changes them around.

Oh, you doubt, do you? Very reassuring.
 
| > Setting CFLAGS and praying is not asking for something. Setting a
| > MY_X86_CPU_DOES_THIS_MKAY variable is asking for something.
|
| And if you know what your CPU does, is it that difficult to tell the
| compiler to use them?
 
Yes. That -msse -mnosse2 stuff is a nasty hack, especially when one
remembers that for years we've been screaming at users for doing just
that.

CFLAGS is not a variable that should be used to control things. It has
a specific purpose, which is providing flags to the compiler that
should be used when compiling C programs. You're trying to give it a
new unrelated meaning. This is bad even if it were not for all the
nasty side cases and added complexity.

-- 
Ciaran McCreesh
Mail            : ciaran dot mccreesh at blueyonder.co.uk


-- 
gentoo-dev@gentoo.org mailing list

Reply via email to