diff options
author | wtc%google.com <devnull@localhost> | 2008-10-11 15:26:22 +0000 |
---|---|---|
committer | wtc%google.com <devnull@localhost> | 2008-10-11 15:26:22 +0000 |
commit | 7fbc82f8123385fc8272bd897408db7fd45d7f90 (patch) | |
tree | fe80df2b8f5780c6c0c36029cf5eef3c87e30e70 | |
parent | ecad6a872f153e5be8ee481a1d6b8829d0aef03c (diff) | |
download | nspr-hg-7fbc82f8123385fc8272bd897408db7fd45d7f90.tar.gz |
Bug 459304: added support for Linux/SPARC64 (64-bit). The patch is
contributed by Tom "spot" Callaway <tcallawa@redhat.com>.
r=wtc,julien.pierre
Modified files: _linux.cfg _linux.h
-rw-r--r-- | pr/include/md/_linux.cfg | 46 | ||||
-rw-r--r-- | pr/include/md/_linux.h | 2 |
2 files changed, 48 insertions, 0 deletions
diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg index d02ab21f..1999d3cf 100644 --- a/pr/include/md/_linux.cfg +++ b/pr/include/md/_linux.cfg @@ -331,6 +331,52 @@ #define PR_BYTES_PER_WORD_LOG2 2 #define PR_BYTES_PER_DWORD_LOG2 3 +#elif defined(__sparc__) && defined (__arch64__) + +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 +#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 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#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 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#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 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_LONG 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_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + #elif defined(__sparc__) #undef IS_LITTLE_ENDIAN diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h index 58399716..33fc1325 100644 --- a/pr/include/md/_linux.h +++ b/pr/include/md/_linux.h @@ -63,6 +63,8 @@ #define _PR_SI_ARCHITECTURE "x86-64" #elif defined(__mc68000__) #define _PR_SI_ARCHITECTURE "m68k" +#elif defined(__sparc__) && defined(__arch64__) +#define _PR_SI_ARCHITECTURE "sparc64" #elif defined(__sparc__) #define _PR_SI_ARCHITECTURE "sparc" #elif defined(__i386__) |