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
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: "Maciej W. Rozycki" <macro at mips dot com>
- Cc: libc-alpha at sources dot redhat dot com, Nigel Stephens <nigel at mips dot com>, "Maciej W. Rozycki" <macro at linux-mips dot org>
- Date: 06 Nov 2004 09:34:51 -0200
- Subject: Re: [patch] MIPS/Linux: Clean up cpp ABI dependencies
- Organization: Red Hat Global Engineering Services Compiler Team
- References: <Pine.LNX.4.61.0411051948480.15239@perivale.mips.com>
On Nov 5, 2004, "Maciej W. Rozycki" <macro@mips.com> wrote:
> As of GCC 3.4 the preprocessor does not use any of _MIPS_SIM_* macros
> anymore. Glibc still depends on them and depending on your setup building
> may succeed or not
Err... I went through this some time ago, and I think the patch to
fix these issues is already in. Is your patch against mainline?
> 1. Glibc can only be built with GCC 3.2 or higher. That version already
> knew of _ABIN32 and _ABI64, but not about _ABIO32 (probably due to an
> omission).
_ABIO32 was not defined back then. And, in fact, we shouldn't rely on
the compiler defining any of these macros, since they are GCC-internal
and subject to change. We'd better rely on the macros defined by the
MIPS ABI specs, that are only available after inclusion of sgidefs.h.
I've changed all of the files in CVS some time ago to use _MIPS_SIM_*
macros. With this change, glibc would build not only with GCC 3.4ish,
but also with earlier versions. We should probably stick with this
approach, instead of risking being bitten again by relying on
compiler-internal undocumented macros.
--
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}