summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-22 23:42:29 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-22 23:42:29 +0000
commit80b3ac77f0924653037cba65c6c8586b98ed57d4 (patch)
tree10ecbead53280b4940c094f53f5e97866a887014 /base
parenta50634a54e1f4e15735e7bbc5b9de74194247a9a (diff)
downloadchromium_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.h54
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