This is the mail archive of the
mailing list for the GCC project.
Re: [RFC PATCH, i386]: Remove special PIC related __cpuid definitions from config/i386/cpuid.h
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 16 Oct 2014 11:28:20 +0200
- Subject: Re: [RFC PATCH, i386]: Remove special PIC related __cpuid definitions from config/i386/cpuid.h
- Authentication-results: sourceware.org; auth=none
- References: <CAFULd4Ze8=Y5vB7oqcOvHZfpu8B9nY4kA1jXMT4hmOsuZoqrtQ at mail dot gmail dot com> <20141016092451 dot GB10376 at tucnak dot redhat dot com>
On Thu, Oct 16, 2014 at 11:24 AM, Jakub Jelinek <firstname.lastname@example.org> wrote:
>> Now that %ebx is also allocatable in PIC modes, we can cleanup
>> config/i386/cpuid considerably. I propose to remove all PIC related
>> specializations of __cpuid and __cpuid_count and protect the
>> compilation with "#if __GNUC__ >= 5".
>> The only drawback would be that non-bootstrapped build with gcc < 5.0
>> will ignore -march=native, but I think this should be acceptable.
> I'm worried about that.
> Can't you instead keep the current cpuid.h stuff as is, just add
> && __GNUC__ < 5
> to that, so it treats GCC 5+ PIC as if __PIC__ wasn't defined?
> Or, at least use cpuid.h even for older GCC if __PIC__ is not defined
> (or __x86_64__ is defined and not medium/large PIC model)?
Do we really care that much about non-bootstrapped build? I don't see
a compelling reason to keep these definitions, and by moving version
to 5.0, it seems like the right time to cut the questionable
compatibility stuff out.