This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [patch] MIPS/Linux: Clean up cpp ABI dependencies
On Nov 23, 2004, Richard Sandiford <rsandifo@redhat.com> wrote:
> Alexandre Oliva <aoliva@redhat.com> writes:
>>> -#if (_MIPS_SIM == _MIPS_SIM_ABI32 && _MIPS_SZPTR == 64 /* o64??? */) \
>>> - || _MIPS_SIM == _MIPS_SIM_ABI64
>>> +#if _MIPS_SIM == _MIPS_SIM_ABI64
>>
>> I'm a bit worried about these changes. I think they were in place as
>> a tentative o64 port that never got completed. I don't exactly oppose
>> the change, but I don't want us to unintentionally remove it.
> Pointers are 32 bits in o64, not 64, so I don't see how this ever
> made sense. Perhaps o64 with -mlong64?
Possibly. There was a lot of stuff in the mips port in glibc that
didn't make sense to me either. I tried to leave it intact.
>> As I wrote before, using GCC-internal macros is a sure way to
>> get burnt when they change. Since they changed once and broke our use
>> thereof, I'd rather steer away from them and stick with well-defined
>> ABI macros, that GCC is not going to mess with, ever.
> Can you just remind me what change you mean here?
The change from defining _MIPS_SIM to _MIPS_SIM_ABI32, mostly. That
enabled one to test for the o32 ABI without including sgidefs.h,
because, even with _MIPS_SIM_ABI32 undefined, comparing the two macros
for equality would still yield true. I made the bad decision of
relying on this for some tests.
--
Alexandre Oliva http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}