This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Disable building with i386-*, -march=i386 or -mcpu=i386.
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>, Roland McGrath <roland at hack dot frob dot com>, Andreas Jaeger <aj at suse dot com>, Thomas Schwinge <thomas at codesourcery dot com>
- Date: Thu, 04 Apr 2013 19:08:48 -0400
- Subject: Re: [PATCH] Disable building with i386-*, -march=i386 or -mcpu=i386.
- References: <513FE49D dot 3050406 at redhat dot com> <Pine dot LNX dot 4 dot 64 dot 1303131610540 dot 19781 at digraph dot polyomino dot org dot uk> <51526E77 dot 4040801 at redhat dot com> <Pine dot LNX dot 4 dot 64 dot 1303271431550 dot 23096 at digraph dot polyomino dot org dot uk> <5154668A dot 6000700 at redhat dot com> <Pine dot LNX dot 4 dot 64 dot 1303281556570 dot 11331 at digraph dot polyomino dot org dot uk>
On 03/28/2013 11:59 AM, Joseph S. Myers wrote:
> On Thu, 28 Mar 2013, Carlos O'Donell wrote:
>
>> On 03/27/2013 10:35 AM, Joseph S. Myers wrote:
>>> On Tue, 26 Mar 2013, Carlos O'Donell wrote:
>>>
>>>> +# Configure for i686 if the user asks for i386. We don't support
>>>> +# i386 any more but it continues to be common for users to configure
>>>> +# 32-bit x86 as i386. We build for i686 instead.
>>>> +if test "$machine" = i386; then
>>>> + machine="i686"
>>>
>>> Wouldn't i486 be more conservative?
>>
>> It would be, but in truth *everyone* I've talked to wants i686.
>>
>> The distros build for i686, users use i686, there is no real use
>> of i486 or i586 that I can see.
>
> Is it really common for people to configure for i386 at all, rather than
> explicitly i686? One option would simply be to give an error.
Unfortunately for RPM based distros it is. On 32-bit systems the
configure triplet is actually i386-*, without any options, which
leads automatically to i386-based code generation.
I can't easily fix the rpm glibc.spec file to override this, since
everything is expecting "i386" to mean something other than what
it should mean.
>> Therefore I would like the elision of i386 to be to a value i686
>> which has real value for users and is a sensible default in 99%
>> of the cases. Defaulting to i486 or i586 might be more conservative
>> but is less useful.
>>
>> What do you think? Is it valid to balance usefullness in this way?
>
> What do other architectures do, when configuring for generic versions of
> the architecture name?
They don't. In RPM based distros you are technically required to
install some customization packages that make RPM build for i686-*
instead of i386-*, but for several historical reasons those customizations
are not required. So users do attempt to build things for i386 all
the time and file bugs.
Does that answer your question?
>> I agree. I'd actually like to rename i386 to x86 and merge i486 down
>> in two steps.
>
> ix86? x86 is taken for things shared between 32-bit and 64-bit....
Yes, ix86 might be reasonable.
I wanted to investigate if I could use x86/ia32/, like the linux kernel does.
Cheers,
Carlos.