View | Details | Raw Unified | Return to bug 247433
Collapse All | Expand All

(-)Makefile (+2 lines)
Lines 82-87 Link Here
82
82
83
.if ${ARCH} == armv6 || ${ARCH} == armv7
83
.if ${ARCH} == armv6 || ${ARCH} == armv7
84
EXTRA_PATCHES=	${PATCHDIR}/extra-patch-tools_v8__gypfiles_v8.gyp
84
EXTRA_PATCHES=	${PATCHDIR}/extra-patch-tools_v8__gypfiles_v8.gyp
85
.elif defined(PPC_ABI) && ${PPC_ABI} == ELFv2
86
EXTRA_PATCHES=	${PATCHDIR}/extra-patch-common.gypi
85
.endif
87
.endif
86
88
87
.if ${PORT_OPTIONS:MBUNDLED_SSL} && ${ARCH} != amd64
89
.if ${PORT_OPTIONS:MBUNDLED_SSL} && ${ARCH} != amd64
(-)files/extra-patch-common.gypi (+13 lines)
Line 0 Link Here
1
--- common.gypi.orig	2019-10-01 15:32:40.000000000 +0200
2
+++ common.gypi	2019-10-16 12:47:09.236138000 +0200
3
@@ -390,8 +390,8 @@
4
             'ldflags': [ '-m32' ],
5
           }],
6
           [ 'target_arch=="ppc64" and OS!="aix"', {
7
-            'cflags': [ '-m64', '-mminimal-toc' ],
8
-            'ldflags': [ '-m64' ],
9
+            'cflags': [ '-m64' ],
10
+            'ldflags': [ '-m64' ],
11
           }],
12
           [ 'target_arch=="s390x"', {
13
             'cflags': [ '-m64', '-march=z196' ],
(-)files/patch-deps_v8_src_codegen_ppc_constants-ppc.h (+20 lines)
Line 0 Link Here
1
--- deps/v8/src/codegen/ppc/constants-ppc.h.orig	2019-09-09 16:27:17 UTC
2
+++ deps/v8/src/codegen/ppc/constants-ppc.h
3
@@ -34,7 +34,7 @@
4
 #define ABI_PASSES_HANDLES_IN_REGS 0
5
 #endif
6
 
7
-#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN || \
8
+#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \
9
     (defined(_CALL_ELF) && _CALL_ELF == 2)
10
 #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
11
 #else
12
@@ -43,7 +43,7 @@
13
 
14
 #if !V8_HOST_ARCH_PPC ||     \
15
     (V8_TARGET_ARCH_PPC64 && \
16
-     (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)))
17
+     (defined(_CALL_ELF) && _CALL_ELF == 2))
18
 #define ABI_CALL_VIA_IP 1
19
 #else
20
 #define ABI_CALL_VIA_IP 0
(-)files/patch-deps_v8_src_compiler_backend_instruction-selector.cc (+11 lines)
Line 0 Link Here
1
--- deps/v8/src/compiler/backend/instruction-selector.cc.orig	2020-04-21 11:38:50 UTC
2
+++ deps/v8/src/compiler/backend/instruction-selector.cc
3
@@ -2783,7 +2783,7 @@ void InstructionSelector::VisitCall(Node* node, BasicB
4
   switch (call_descriptor->kind()) {
5
     case CallDescriptor::kCallAddress: {
6
       int misc_field = static_cast<int>(call_descriptor->ParameterCount());
7
-#if defined(_AIX)
8
+#if defined(_AIX) || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1))
9
       // Highest misc_field bit is used on AIX to indicate if a CFunction call
10
       // has function descriptor or not.
11
       if (!call_descriptor->NoFunctionDescriptor()) {
(-)files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc (+11 lines)
Line 0 Link Here
1
--- deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc.orig	2020-04-21 11:38:50 UTC
2
+++ deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
3
@@ -1026,7 +1026,7 @@
4
       Label start_call;
5
       bool isWasmCapiFunction =
6
           linkage()->GetIncomingDescriptor()->IsWasmCapiFunction();
7
-#if defined(_AIX)
8
+#if defined(_AIX) || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1))
9
       // AIX/PPC64BE Linux uses a function descriptor
10
       int kNumParametersMask = kHasFunctionDescriptorBitMask - 1;
11
       num_parameters = kNumParametersMask & misc_field;
(-)files/patch-deps_v8_src_execution_simulator.h (-3 / +3 lines)
Lines 1-11 Link Here
1
--- deps/v8/src/execution/simulator.h.orig	2020-04-28 09:45:23 UTC
1
--- deps/v8/src/execution/simulator.h.orig	2019-11-21 21:14:01 UTC
2
+++ deps/v8/src/execution/simulator.h
2
+++ deps/v8/src/execution/simulator.h
3
@@ -122,7 +122,7 @@ class GeneratedCode {
3
@@ -122,7 +122,7 @@
4
 
4
 
5
   DISABLE_CFI_ICALL Return Call(Args... args) {
5
   DISABLE_CFI_ICALL Return Call(Args... args) {
6
     // When running without a simulator we call the entry directly.
6
     // When running without a simulator we call the entry directly.
7
-#if V8_OS_AIX
7
-#if V8_OS_AIX
8
+#if V8_TARGET_ARCH_PPC_BE
8
+#if V8_OS_AIX || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1))
9
     // AIX ABI requires function descriptors (FD).  Artificially create a pseudo
9
     // AIX ABI requires function descriptors (FD).  Artificially create a pseudo
10
     // FD to ensure correct dispatch to generated code.  The 'volatile'
10
     // FD to ensure correct dispatch to generated code.  The 'volatile'
11
     // declaration is required to avoid the compiler from not observing the
11
     // declaration is required to avoid the compiler from not observing the

Return to bug 247433