From 43480b2353decc71acd1d4296ea90c9a67565d1b Mon Sep 17 00:00:00 2001 From: Corentin Baron Date: Fri, 7 Mar 2014 15:57:45 +0100 Subject: [PATCH 1/2] Added PPC64 as it works as is in little endian --- src/mongo/platform/bits.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mongo/platform/bits.h b/src/mongo/platform/bits.h index 860bfbdccedad..f3f443209024b 100644 --- a/src/mongo/platform/bits.h +++ b/src/mongo/platform/bits.h @@ -19,7 +19,7 @@ // figure out if we're on a 64 or 32 bit system -#if defined(__x86_64__) || defined(__amd64__) || defined(_WIN64) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__amd64__) || defined(_WIN64) || defined(__aarch64__) || defined(__powerpc64__) #define MONGO_PLATFORM_64 #elif defined(__i386__) || defined(_WIN32) || defined(__arm__) #define MONGO_PLATFORM_32 From 5602ce38edec1dd97207cce67a98b0d9c0fdbe2c Mon Sep 17 00:00:00 2001 From: Corentin Baron Date: Fri, 8 Aug 2014 15:38:15 +0200 Subject: [PATCH 2/2] Disabling alignment check on PPC 64 due to 64kB page size --- src/mongo/util/logfile.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mongo/util/logfile.cpp b/src/mongo/util/logfile.cpp index affbba0a9dda5..0d0d7866b632d 100644 --- a/src/mongo/util/logfile.cpp +++ b/src/mongo/util/logfile.cpp @@ -238,7 +238,10 @@ namespace mongo { fassert( 16144, charsToWrite >= 0 ); fassert( 16142, _fd >= 0 ); +// Linux on PowerPC 64 uses 64kB memory pages, so we need to disable this assert on this platform +#ifndef __PPC64__ fassert( 16143, reinterpret_cast( buf ) % g_minOSPageSizeBytes == 0 ); // aligned +#endif #ifdef POSIX_FADV_DONTNEED const off_t pos = lseek(_fd, 0, SEEK_CUR); // doesn't actually seek, just get current position