diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2015-05-12 13:36:35 -0700 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2015-05-12 13:36:35 -0700 |
commit | 646c75f4a7b3dd415e802a6b9cd56611af52dbf2 (patch) | |
tree | 6e2ffbac43ecc8b85c9a9f2d7eb6752f5afb71b8 | |
parent | 845c50f1df5946c2610f84c24fb73efa6f23d858 (diff) | |
download | nspr-hg-646c75f4a7b3dd415e802a6b9cd56611af52dbf2.tar.gz |
Bug 1163346: Fix up support for mips64 and mips*el on FreeBSD. r=wtc.
-rw-r--r-- | pr/include/md/_freebsd.cfg | 57 | ||||
-rw-r--r-- | pr/include/md/_freebsd.h | 4 |
2 files changed, 36 insertions, 25 deletions
diff --git a/pr/include/md/_freebsd.cfg b/pr/include/md/_freebsd.cfg index cc0e6b1e..3265ed3d 100644 --- a/pr/include/md/_freebsd.cfg +++ b/pr/include/md/_freebsd.cfg @@ -392,95 +392,106 @@ #define PR_BYTES_PER_WORD_LOG2 2 #define PR_BYTES_PER_DWORD_LOG2 3 -#elif defined(__mips__) +#elif defined(__mips64__) +#if defined(__MIPSEB__) || defined(_MIPSEB) #undef IS_LITTLE_ENDIAN #define IS_BIG_ENDIAN 1 +#else +#undef IS_BIG_ENDIAN +#define IS_LITTLE_ENDIAN 1 +#endif + +#define IS_64 #define PR_BYTES_PER_BYTE 1 #define PR_BYTES_PER_SHORT 2 #define PR_BYTES_PER_INT 4 #define PR_BYTES_PER_INT64 8 -#define PR_BYTES_PER_LONG 4 +#define PR_BYTES_PER_LONG 8 #define PR_BYTES_PER_FLOAT 4 #define PR_BYTES_PER_DOUBLE 8 -#define PR_BYTES_PER_WORD 4 +#define PR_BYTES_PER_WORD 8 #define PR_BYTES_PER_DWORD 8 #define PR_BITS_PER_BYTE 8 #define PR_BITS_PER_SHORT 16 #define PR_BITS_PER_INT 32 #define PR_BITS_PER_INT64 64 -#define PR_BITS_PER_LONG 32 +#define PR_BITS_PER_LONG 64 #define PR_BITS_PER_FLOAT 32 #define PR_BITS_PER_DOUBLE 64 -#define PR_BITS_PER_WORD 32 +#define PR_BITS_PER_WORD 64 #define PR_BITS_PER_BYTE_LOG2 3 #define PR_BITS_PER_SHORT_LOG2 4 #define PR_BITS_PER_INT_LOG2 5 #define PR_BITS_PER_INT64_LOG2 6 -#define PR_BITS_PER_LONG_LOG2 5 +#define PR_BITS_PER_LONG_LOG2 6 #define PR_BITS_PER_FLOAT_LOG2 5 #define PR_BITS_PER_DOUBLE_LOG2 6 -#define PR_BITS_PER_WORD_LOG2 5 +#define PR_BITS_PER_WORD_LOG2 6 #define PR_ALIGN_OF_SHORT 2 #define PR_ALIGN_OF_INT 4 -#define PR_ALIGN_OF_LONG 4 +#define PR_ALIGN_OF_LONG 8 #define PR_ALIGN_OF_INT64 8 #define PR_ALIGN_OF_FLOAT 4 #define PR_ALIGN_OF_DOUBLE 8 -#define PR_ALIGN_OF_POINTER 4 -#define PR_ALIGN_OF_WORD 4 +#define PR_ALIGN_OF_POINTER 8 +#define PR_ALIGN_OF_WORD 8 -#define PR_BYTES_PER_WORD_LOG2 2 +#define PR_BYTES_PER_WORD_LOG2 3 #define PR_BYTES_PER_DWORD_LOG2 3 -#elif defined(__mips64__) +#elif defined(__mips__) +#if defined(__MIPSEB__) || defined(_MIPSEB) #undef IS_LITTLE_ENDIAN #define IS_BIG_ENDIAN 1 -#define IS_64 +#else +#undef IS_BIG_ENDIAN +#define IS_LITTLE_ENDIAN 1 +#endif #define PR_BYTES_PER_BYTE 1 #define PR_BYTES_PER_SHORT 2 #define PR_BYTES_PER_INT 4 #define PR_BYTES_PER_INT64 8 -#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_LONG 4 #define PR_BYTES_PER_FLOAT 4 #define PR_BYTES_PER_DOUBLE 8 -#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_WORD 4 #define PR_BYTES_PER_DWORD 8 #define PR_BITS_PER_BYTE 8 #define PR_BITS_PER_SHORT 16 #define PR_BITS_PER_INT 32 #define PR_BITS_PER_INT64 64 -#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_LONG 32 #define PR_BITS_PER_FLOAT 32 #define PR_BITS_PER_DOUBLE 64 -#define PR_BITS_PER_WORD 64 +#define PR_BITS_PER_WORD 32 #define PR_BITS_PER_BYTE_LOG2 3 #define PR_BITS_PER_SHORT_LOG2 4 #define PR_BITS_PER_INT_LOG2 5 #define PR_BITS_PER_INT64_LOG2 6 -#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 5 #define PR_BITS_PER_FLOAT_LOG2 5 #define PR_BITS_PER_DOUBLE_LOG2 6 -#define PR_BITS_PER_WORD_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 5 #define PR_ALIGN_OF_SHORT 2 #define PR_ALIGN_OF_INT 4 -#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_LONG 4 #define PR_ALIGN_OF_INT64 8 #define PR_ALIGN_OF_FLOAT 4 #define PR_ALIGN_OF_DOUBLE 8 -#define PR_ALIGN_OF_POINTER 8 -#define PR_ALIGN_OF_WORD 8 +#define PR_ALIGN_OF_POINTER 4 +#define PR_ALIGN_OF_WORD 4 -#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_WORD_LOG2 2 #define PR_BYTES_PER_DWORD_LOG2 3 #else diff --git a/pr/include/md/_freebsd.h b/pr/include/md/_freebsd.h index 4c2201e8..68de133c 100644 --- a/pr/include/md/_freebsd.h +++ b/pr/include/md/_freebsd.h @@ -31,10 +31,10 @@ #define _PR_SI_ARCHITECTURE "powerpc" #elif defined(__arm__) #define _PR_SI_ARCHITECTURE "arm" -#elif defined(__mips__) -#define _PR_SI_ARCHITECTURE "mips" #elif defined(__mips64__) #define _PR_SI_ARCHITECTURE "mips64" +#elif defined(__mips__) +#define _PR_SI_ARCHITECTURE "mips" #else #error "Unknown CPU architecture" #endif |