From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1FyZBv-0002E2-Ag for garchives@archives.gentoo.org; Thu, 06 Jul 2006 19:07:11 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.7/8.13.6) with SMTP id k66J4JaO008667; Thu, 6 Jul 2006 19:04:19 GMT Received: from smtp-out2.blueyonder.co.uk (smtp-out2.blueyonder.co.uk [195.188.213.5]) by robin.gentoo.org (8.13.7/8.13.6) with ESMTP id k66J1JRr005850 for ; Thu, 6 Jul 2006 19:01:19 GMT Received: from [172.23.170.138] (helo=anti-virus01-09) by smtp-out2.blueyonder.co.uk with smtp (Exim 4.52) id 1FyZ6F-0000Nv-AK for gentoo-dev@lists.gentoo.org; Thu, 06 Jul 2006 20:01:19 +0100 Received: from [82.41.57.20] (helo=snowdrop.home) by asmtp-out1.blueyonder.co.uk with esmtpa (Exim 4.52) id 1FyZ6E-0006mO-OP for gentoo-dev@lists.gentoo.org; Thu, 06 Jul 2006 20:01:18 +0100 Date: Thu, 6 Jul 2006 20:01:15 +0100 From: Ciaran McCreesh To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] Replacing cpu-feature USE flags Message-ID: <20060706200115.361256b4@snowdrop.home> In-Reply-To: <200607062042.27919@enterprise.flameeyes.is-a-geek.org> References: <200607061252.33028@enterprise.flameeyes.is-a-geek.org> <200607062007.00422@enterprise.flameeyes.is-a-geek.org> <20060706192932.23ec087a@snowdrop.home> <200607062042.27919@enterprise.flameeyes.is-a-geek.org> X-Mailer: Sylpheed-Claws 2.3.1 (GTK+ 2.8.19; i686-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by robin.gentoo.org id k66J4JcE008667 X-Archives-Salt: 434ffcdf-e482-48a0-9e98-f18053af55f5 X-Archives-Hash: 6e3b4e94bd4967a8b107802b57c3ac71 On Thu, 6 Jul 2006 20:42:27 +0200 "Diego 'Flameeyes' Petten=C3=B2" 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. =20 | > It also doesn't work in cases where people have one of=20 | > 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. =20 | > 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. =20 | > 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. =20 | > 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. =20 | > 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? =20 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. --=20 Ciaran McCreesh Mail : ciaran dot mccreesh at blueyonder.co.uk --=20 gentoo-dev@gentoo.org mailing list