This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]