From e077d10d0d6f4c08cf5a97d61bdf4027fbb9e939 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Sat, 29 Mar 2003 08:15:29 +0000 Subject: * 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/mips/sysdep.h (PSEUDO_NOERRNO, PSEUDO_END_NOERRNO, ret_NOERRNO): New. (ret, PSEUDO_END): Moved past END. (PSEUDO): Moved to... * sysdeps/unix/mips/mips32/sysdep.h: New file. * sysdeps/unix/mips/mips64/n32/sysdep.h: Removed #undef PSEUDO. * sysdeps/unix/mips/mips64/n64/sysdep.h: Likewise. * 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. * 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/mips/sysdep.h (PSEUDO_NOERRNO, PSEUDO_END_NOERRNO, ret_NOERRNO): New. (ret, PSEUDO_END): Moved past END. (PSEUDO): Moved to... * sysdeps/unix/mips/mips32/sysdep.h: New file. * sysdeps/unix/mips/mips64/n32/sysdep.h: Removed #undef PSEUDO. * sysdeps/unix/mips/mips64/n64/sysdep.h: Likewise. * 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. --- sysdeps/mips/Implies | 1 - sysdeps/mips/bits/endian.h | 7 ++++++- sysdeps/mips/mips32/Implies | 2 ++ sysdeps/mips/mips32/Makefile | 3 +++ sysdeps/mips/mips64/n32/Makefile | 4 ++++ sysdeps/mips/mips64/n32/el/bits/endian.h | 8 -------- sysdeps/mips/mips64/n64/Makefile | 4 ++++ sysdeps/mips/mips64/n64/el/bits/endian.h | 8 -------- sysdeps/mips/mipsel/bits/endian.h | 8 -------- 9 files changed, 19 insertions(+), 26 deletions(-) create mode 100644 sysdeps/mips/mips32/Implies create mode 100644 sysdeps/mips/mips32/Makefile delete mode 100644 sysdeps/mips/mips64/n32/el/bits/endian.h delete mode 100644 sysdeps/mips/mips64/n64/el/bits/endian.h delete mode 100644 sysdeps/mips/mipsel/bits/endian.h (limited to 'sysdeps/mips') diff --git a/sysdeps/mips/Implies b/sysdeps/mips/Implies index 9f60963..8c18cb3 100644 --- a/sysdeps/mips/Implies +++ b/sysdeps/mips/Implies @@ -1,4 +1,3 @@ -wordsize-32 # MIPS uses IEEE 754 floating point. ieee754/flt-32 ieee754/dbl-64 diff --git a/sysdeps/mips/bits/endian.h b/sysdeps/mips/bits/endian.h index 40321a2..9586104 100644 --- a/sysdeps/mips/bits/endian.h +++ b/sysdeps/mips/bits/endian.h @@ -5,4 +5,9 @@ # error "Never use directly; include instead." #endif -#define __BYTE_ORDER __BIG_ENDIAN +#if __MIPSEB +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#if __MIPSEL +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif diff --git a/sysdeps/mips/mips32/Implies b/sysdeps/mips/mips32/Implies new file mode 100644 index 0000000..fab98d7 --- /dev/null +++ b/sysdeps/mips/mips32/Implies @@ -0,0 +1,2 @@ +mips +wordsize-32 diff --git a/sysdeps/mips/mips32/Makefile b/sysdeps/mips/mips32/Makefile new file mode 100644 index 0000000..dec0b02 --- /dev/null +++ b/sysdeps/mips/mips32/Makefile @@ -0,0 +1,3 @@ +ifeq ($(filter -mabi=32,$(CC)),) +CC += -mabi=32 +endif diff --git a/sysdeps/mips/mips64/n32/Makefile b/sysdeps/mips/mips64/n32/Makefile index 26f3857..a84d2a5 100644 --- a/sysdeps/mips/mips64/n32/Makefile +++ b/sysdeps/mips/mips64/n32/Makefile @@ -1,2 +1,6 @@ # `long double' is a distinct type we support. long-double-fcts = yes + +ifeq ($(filter -mabi=n32,$(CC)),) +CC += -mabi=n32 +endif diff --git a/sysdeps/mips/mips64/n32/el/bits/endian.h b/sysdeps/mips/mips64/n32/el/bits/endian.h deleted file mode 100644 index 2241190..0000000 --- a/sysdeps/mips/mips64/n32/el/bits/endian.h +++ /dev/null @@ -1,8 +0,0 @@ -/* The MIPS architecture has selectable endianness. - This file is for a machine using little-endian mode. */ - -#ifndef _ENDIAN_H -# error "Never use directly; include instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/sysdeps/mips/mips64/n64/Makefile b/sysdeps/mips/mips64/n64/Makefile index 26f3857..a823f32 100644 --- a/sysdeps/mips/mips64/n64/Makefile +++ b/sysdeps/mips/mips64/n64/Makefile @@ -1,2 +1,6 @@ # `long double' is a distinct type we support. long-double-fcts = yes + +ifeq ($(filter -mabi=64,$(CC)),) +CC += -mabi=64 +endif diff --git a/sysdeps/mips/mips64/n64/el/bits/endian.h b/sysdeps/mips/mips64/n64/el/bits/endian.h deleted file mode 100644 index 2241190..0000000 --- a/sysdeps/mips/mips64/n64/el/bits/endian.h +++ /dev/null @@ -1,8 +0,0 @@ -/* The MIPS architecture has selectable endianness. - This file is for a machine using little-endian mode. */ - -#ifndef _ENDIAN_H -# error "Never use directly; include instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/sysdeps/mips/mipsel/bits/endian.h b/sysdeps/mips/mipsel/bits/endian.h deleted file mode 100644 index 2241190..0000000 --- a/sysdeps/mips/mipsel/bits/endian.h +++ /dev/null @@ -1,8 +0,0 @@ -/* The MIPS architecture has selectable endianness. - This file is for a machine using little-endian mode. */ - -#ifndef _ENDIAN_H -# error "Never use directly; include instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN -- cgit v1.1