File add_ppc64le_arch.patch of Package v8

From: Michel Normand <normand@linux.vnet.ibm.com>
Subject: add ppc64le arch
Date: Wed, 18 Nov 2015 17:43:29 +0100

add ppc64le architecture support

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
---
 Makefile                |    4 ++--
 gypfiles/toolchain.gypi |    4 ++--
 src/base/build_config.h |    4 ++++
 src/v8.gyp              |    2 +-
 4 files changed, 9 insertions(+), 5 deletions(-)

Index: v8-5.3.332.49/gypfiles/toolchain.gypi
===================================================================
--- v8-5.3.332.49.orig/gypfiles/toolchain.gypi
+++ v8-5.3.332.49/gypfiles/toolchain.gypi
@@ -320,12 +320,12 @@
           }],
           ],
       }],  # s390
-      ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
+      ['v8_target_arch=="ppc" or v8_target_arch=="ppc64" or v8_target_arch=="ppc64le"', {
         'defines': [
           'V8_TARGET_ARCH_PPC',
         ],
         'conditions': [
-          ['v8_target_arch=="ppc64"', {
+          ['v8_target_arch=="ppc64" or v8_target_arch=="ppc64le"', {
             'defines': [
               'V8_TARGET_ARCH_PPC64',
             ],
Index: v8-5.3.332.49/Makefile
===================================================================
--- v8-5.3.332.49.orig/Makefile
+++ v8-5.3.332.49/Makefile
@@ -250,8 +250,8 @@ endif
 
 # Architectures and modes to be compiled. Consider these to be internal
 # variables, don't override them (use the targets instead).
-ARCHES = ia32 x64 arm arm64 mips mipsel mips64 mips64el x87 ppc ppc64 s390 \
-         s390x
+ARCHES = ia32 x64 arm arm64 mips mipsel mips64 mips64el x87 ppc ppc64 ppc64le \
+	 s390 s390x
 ARCHES32 = ia32 arm mips mipsel x87 ppc s390
 DEFAULT_ARCHES = ia32 x64 arm
 MODES = release debug optdebug
Index: v8-5.3.332.49/src/base/build_config.h
===================================================================
--- v8-5.3.332.49.orig/src/base/build_config.h
+++ v8-5.3.332.49/src/base/build_config.h
@@ -192,6 +192,8 @@
 #define V8_TARGET_LITTLE_ENDIAN 1
 #elif V8_TARGET_ARCH_PPC_BE
 #define V8_TARGET_BIG_ENDIAN 1
+#elif defined(__PPC64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+#define V8_TARGET_LITTLE_ENDIAN 1
 #elif V8_TARGET_ARCH_S390
 #if V8_TARGET_ARCH_S390_LE_SIM
 #define V8_TARGET_LITTLE_ENDIAN 1
@@ -214,6 +216,8 @@
 #if V8_HOST_ARCH_PPC && V8_TARGET_ARCH_PPC && V8_OS_LINUX
 // Bump up for Power Linux due to larger (64K) page size.
 const int kPageSizeBits = 22;
+#elif defined(__PPC64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+const int kPageSizeBits = 22;
 #else
 const int kPageSizeBits = 20;
 #endif
Index: v8-5.3.332.49/src/v8.gyp
===================================================================
--- v8-5.3.332.49.orig/src/v8.gyp
+++ v8-5.3.332.49/src/v8.gyp
@@ -1508,7 +1508,7 @@
             'compiler/x64/instruction-selector-x64.cc',
           ],
         }],
-        ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
+        ['v8_target_arch=="ppc" or v8_target_arch=="ppc64" or v8_target_arch=="ppc64le"', {
           'sources': [  ### gcmole(arch:ppc) ###
             'compiler/ppc/code-generator-ppc.cc',
             'compiler/ppc/instruction-codes-ppc.h',
openSUSE Build Service is sponsored by