diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-22 23:42:29 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-22 23:42:29 +0000 |
commit | 80b3ac77f0924653037cba65c6c8586b98ed57d4 (patch) | |
tree | 10ecbead53280b4940c094f53f5e97866a887014 /base | |
parent | a50634a54e1f4e15735e7bbc5b9de74194247a9a (diff) | |
download | chromium_src-80b3ac77f0924653037cba65c6c8586b98ed57d4.zip chromium_src-80b3ac77f0924653037cba65c6c8586b98ed57d4.tar.gz chromium_src-80b3ac77f0924653037cba65c6c8586b98ed57d4.tar.bz2 |
64-bit support for Mac OS X in base (NSPR).
This integrates file revisions 3.11, 3.12, 3.13, and 3.14 from the upstream
source, encompassing changes made in upstream bugs 404272, 417044, and 370766.
http://bonsai.mozilla.org/cvslog.cgi?file=mozilla/nsprpub/pr/include/md/_darwin.cfg&rev=HEAD&mark=3.14
BUG=44127, 18323
TEST=64-bit base should all (mostly) build
Review URL: http://codereview.chromium.org/6721003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79070 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/third_party/nspr/prcpucfg_mac.h | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/base/third_party/nspr/prcpucfg_mac.h b/base/third_party/nspr/prcpucfg_mac.h index dc7e0e0..60bea8e 100644 --- a/base/third_party/nspr/prcpucfg_mac.h +++ b/base/third_party/nspr/prcpucfg_mac.h @@ -44,7 +44,7 @@ #define PR_AF_INET6 30 /* same as AF_INET6 */ -#if defined(i386) +#ifdef __LITTLE_ENDIAN__ #undef IS_BIG_ENDIAN #define IS_LITTLE_ENDIAN 1 #else @@ -52,10 +52,60 @@ #define IS_BIG_ENDIAN 1 #endif +#ifdef __x86_64__ +#define IS_64 +#endif + +#ifndef HAVE_LONG_LONG #define HAVE_LONG_LONG +#endif #undef HAVE_ALIGNED_DOUBLES #define HAVE_ALIGNED_LONGLONGS 1 +#ifdef 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_DWORD 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_BITS_PER_DWORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 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 8 +#define PR_ALIGN_OF_WORD 8 +#define PR_ALIGN_OF_DWORD 8 + +#else /* IS_64 */ + #define PR_BYTES_PER_BYTE 1 #define PR_BYTES_PER_SHORT 2 #define PR_BYTES_PER_INT 4 @@ -96,6 +146,8 @@ #define PR_ALIGN_OF_POINTER 4 #define PR_ALIGN_OF_WORD 4 +#endif /* IS_64 */ + #ifndef NO_NSPR_10_SUPPORT #define BYTES_PER_BYTE PR_BYTES_PER_BYTE |