diff options
Diffstat (limited to 'sysdeps/mips')
-rw-r--r-- | sysdeps/mips/Implies | 1 | ||||
-rw-r--r-- | sysdeps/mips/bits/endian.h | 7 | ||||
-rw-r--r-- | sysdeps/mips/mips32/Implies | 2 | ||||
-rw-r--r-- | sysdeps/mips/mips32/Makefile | 3 | ||||
-rw-r--r-- | sysdeps/mips/mips64/n32/Makefile | 4 | ||||
-rw-r--r-- | sysdeps/mips/mips64/n32/el/bits/endian.h | 8 | ||||
-rw-r--r-- | sysdeps/mips/mips64/n64/Makefile | 4 | ||||
-rw-r--r-- | sysdeps/mips/mips64/n64/el/bits/endian.h | 8 | ||||
-rw-r--r-- | sysdeps/mips/mipsel/bits/endian.h | 8 |
9 files changed, 19 insertions, 26 deletions
diff --git a/sysdeps/mips/Implies b/sysdeps/mips/Implies index 9f60963329..8c18cb3034 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 40321a2866..9586104ccd 100644 --- a/sysdeps/mips/bits/endian.h +++ b/sysdeps/mips/bits/endian.h @@ -5,4 +5,9 @@ # error "Never use <bits/endian.h> directly; include <endian.h> 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 0000000000..fab98d7312 --- /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 0000000000..dec0b024c3 --- /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 26f38570d7..a84d2a51bd 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 2241190a70..0000000000 --- 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 <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/sysdeps/mips/mips64/n64/Makefile b/sysdeps/mips/mips64/n64/Makefile index 26f38570d7..a823f32b53 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 2241190a70..0000000000 --- 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 <bits/endian.h> directly; include <endian.h> 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 2241190a70..0000000000 --- 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 <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN |