This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: enable n32 and n64, and move o32 into mips/mips32
Alexandre Oliva <aoliva at redhat dot com> writes:
> On Mar 20, 2003, Alexandre Oliva <aoliva at redhat dot com> wrote:
>
>> I have another idea that I'm exploring right now. I'll let you know
>> when I've got it working.
>
> Seems to have worked, indeed. It can now pick the ABI choice from
> either the tuple (say mips64-linux-gnuabin64) or from the compiler
> flags (-mabi=64 in CC, CFLAGS or CPPFLAGS). The detected ABI is added
> to CPPFLAGS such that it's used in configure tests, but CPPFLAGS
> doesn't make it to config.make (and it doesn't seem to be used
> uniformly anyway), so I explicitly add the chosen ABI to CC in the
> sysdeps Makefile. This is working beautifully, it's limited to
> mips64-specific code in configure.in, and it's robust to conflicting
> specifications.
>
> I went ahead and made it bi-endian as well. Ok to install, if it
> doesn't regress o32? (I intend to get at least o32 to a point in
> which it builds and works again before putting this in, but it would
> be nice to get approval first, such that it doesn't break again
> between my fixing it and my getting approval.).
>
>
> This can't go in before the following patch either:
>
> * sysdeps/mips/elf/ldsodefs.h: Add mips-specific elf64 relocation
> data structures and macros. Protect from multiple inclusion.
I let Roland have a final yes on this one but will look briefly at it
now.
> and I'd rather not put it in before :
>
> * sysdeps/unix/sysv/linux/mips/mips64/n32/dl-librecon.h: New file.
> * sysdeps/unix/sysv/linux/mips/mips64/n64/dl-librecon.h: New file.
> * elf/rtld.c (process_envvars): Handle
> EXTRA_LD_PROCESS_ENVVARS_DECLS, EXTRA_LD_LEN14_ENVVARS and
> EXTRA_LD_AFTER_PROCESS_ENVVARS.
I cannot approve this one since it changes elf/rtld.c.
> These are the only pending patches from my local 2.3.1-based tree for
> the mips64-linux-gnu port to be complete. I'm sure there's at least
> one major issue that has to be addressed before it works in mainline
> again: the recent atomicity->atomic patches (*), and probably
> INLINE_SYSCALLS for n32 and n64.
>
> (*) I find it odd that Uli uses global changes as an argument against
> accepting changes that are mips-specific, given that he doesn't care
> to make changes to mips-specific code anyway, and he doesn't even
> apologize for leaving it out, probably breaking the port. I take it
> that this argument was as much of an attempt to obscure his prejudice
> against mips with an argument that would be valid only if he actually
> tried to keep mips working when making global changes.
>
>
>
> Index: ChangeLog
> from Alexandre Oliva <aoliva at redhat dot com>
> * configure.in: Add mips64* support.
> * configure: Rebuilt.
> * sysdeps/mips/bits/endian.h: Make it bi-endian.
> * sysdeps/mips/mipsel/bits/endian.h: Removed.
> * sysdeps/mips/mips64/n32/el/bits/endian.h: Removed.
> * sysdeps/mips/mips64/n64/el/bits/endian.h: Removed.
> * sysdeps/mips/mips32/Makefile (CC): Add -mabi=32.
> * sysdeps/mips/mips64/n32/Makefile (CC): Add -mabi=n32.
> * sysdeps/mips/mips64/n64/Makefile (CC): Add -mabi=64.
> * sysdeps/mips/Implies: Moved wordsize-32 to...
> * sysdeps/mips/mips32/Implies: New file.
> * sysdeps/unix/sysv/linux/mips/sysdep.h: Move to...
> * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: New file.
> * sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h: New file.
This one looks fine. Thanks,
Andreas
--
Andreas Jaeger
SuSE Labs aj at suse dot de
private aj at arthur dot inka dot de
http://www.suse.de/~aj