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                |    2 +-
 build/toolchain.gypi    |    4 ++--
 src/gypfiles/build_config.h |    4 ++++
 src/v8.gyp        |    2 +-
 4 files changed, 8 insertions(+), 4 deletions(-)

diff -urB v8-5.2.361/gypfiles/toolchain.gypi new/gypfiles/toolchain.gypi
--- v8-5.2.361/gypfiles/toolchain.gypi	2016-06-07 21:04:11.000000000 +0200
+++ new/gypfiles/toolchain.gypi	2016-06-08 09:51:06.257354717 +0200
@@ -315,12 +315,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',
             ],
diff -urB v8-5.2.361/Makefile new/Makefile
--- v8-5.2.361/Makefile	2016-06-07 21:04:11.000000000 +0200
+++ new/Makefile	2016-06-08 09:49:17.328728548 +0200
@@ -250,7 +250,7 @@
 
 # Architectures and modes to be compiled. Consider these to be internal
 # variables, don't override them (use the targets instead).
-ARCHES = ia32 x64 x32 arm arm64 mips mipsel mips64 mips64el x87 ppc ppc64 \
+ARCHES = ia32 x64 x32 arm arm64 mips mipsel mips64 mips64el x87 ppc ppc64 ppc64le \
 		 s390 s390x
 DEFAULT_ARCHES = ia32 x64 arm
 MODES = release debug optdebug
diff -urB v8-5.2.361/src/base/build_config.h new/src/base/build_config.h
--- v8-5.2.361/src/base/build_config.h	2016-06-07 21:04:10.000000000 +0200
+++ new/src/base/build_config.h	2016-06-08 09:53:55.210525937 +0200
@@ -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
diff -urB v8-5.2.361/src/v8.gyp new/src/v8.gyp
--- v8-5.2.361/src/v8.gyp	2016-06-07 21:04:11.000000000 +0200
+++ new/src/v8.gyp	2016-06-08 09:54:35.962796740 +0200
@@ -1492,7 +1492,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