diff options
Diffstat (limited to 'www/node12/files')
14 files changed, 242 insertions, 0 deletions
diff --git a/www/node12/files/extra-patch-common.gypi b/www/node12/files/extra-patch-common.gypi new file mode 100644 index 000000000000..8e817a2959c9 --- /dev/null +++ b/www/node12/files/extra-patch-common.gypi @@ -0,0 +1,13 @@ +--- common.gypi.orig 2019-10-01 15:32:40.000000000 +0200 ++++ common.gypi 2019-10-16 12:47:09.236138000 +0200 +@@ -390,8 +390,8 @@ + 'ldflags': [ '-m32' ], + }], + [ 'target_arch=="ppc64" and OS!="aix"', { +- 'cflags': [ '-m64', '-mminimal-toc' ], +- 'ldflags': [ '-m64' ], ++ 'cflags': [ '-m64' ], ++ 'ldflags': [ '-m64' ], + }], + [ 'target_arch=="s390x"', { + 'cflags': [ '-m64', '-march=z196' ], diff --git a/www/node12/files/extra-patch-tools_v8__gypfiles_v8.gyp b/www/node12/files/extra-patch-tools_v8__gypfiles_v8.gyp new file mode 100644 index 000000000000..56c68f309309 --- /dev/null +++ b/www/node12/files/extra-patch-tools_v8__gypfiles_v8.gyp @@ -0,0 +1,11 @@ +--- tools/v8_gypfiles/v8.gyp.orig 2020-04-25 08:58:14 UTC ++++ tools/v8_gypfiles/v8.gyp +@@ -809,7 +809,7 @@ + }], + # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library + # to implement atomic memory access +- ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm"]', { ++ ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc"]', { + 'link_settings': { + 'libraries': ['-latomic', ], + }, diff --git a/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi b/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi new file mode 100644 index 000000000000..aae558fe58db --- /dev/null +++ b/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi @@ -0,0 +1,11 @@ +--- deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi.orig 2019-08-06 20:46:23 UTC ++++ deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi +@@ -12,7 +12,7 @@ + '-Wall -O3 -fomit-frame-pointer', + ], + 'openssl_ex_libs_linux-elf': [ +- '-ldl -pthread', ++ '-pthread', + ], + 'openssl_cli_srcs_linux-elf': [ + 'openssl/apps/asn1pars.c', diff --git a/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi b/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi new file mode 100644 index 000000000000..552266b703f0 --- /dev/null +++ b/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi @@ -0,0 +1,11 @@ +--- deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi.orig 2019-08-06 20:46:23 UTC ++++ deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi +@@ -696,7 +696,7 @@ + '-Wall -O3 -fomit-frame-pointer', + ], + 'openssl_ex_libs_linux-elf': [ +- '-ldl -pthread', ++ '-pthread', + ], + }, + 'include_dirs': [ diff --git a/www/node12/files/patch-deps_openssl_openssl-cl__no__asm.gypi b/www/node12/files/patch-deps_openssl_openssl-cl__no__asm.gypi new file mode 100644 index 000000000000..5164a41cab19 --- /dev/null +++ b/www/node12/files/patch-deps_openssl_openssl-cl__no__asm.gypi @@ -0,0 +1,17 @@ +--- deps/openssl/openssl-cl_no_asm.gypi.orig 2020-10-06 18:05:13 UTC ++++ deps/openssl/openssl-cl_no_asm.gypi +@@ -1,4 +1,5 @@ + { ++ 'defines': ['OPENSSL_NO_ASM'], + 'conditions': [ + ['target_arch=="ppc" and OS=="aix"', { + 'includes': ['config/archs/aix-gcc/no-asm/openssl-cl.gypi'], +@@ -47,7 +48,7 @@ + 'includes': ['config/archs/linux64-mips64/no-asm/openssl-cl.gypi'], + }, { + # Other architectures don't use assembly +- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'], ++ 'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'], + }], + ], + } diff --git a/www/node12/files/patch-deps_openssl_openssl__no__asm.gypi b/www/node12/files/patch-deps_openssl_openssl__no__asm.gypi new file mode 100644 index 000000000000..aba4a4ff4b66 --- /dev/null +++ b/www/node12/files/patch-deps_openssl_openssl__no__asm.gypi @@ -0,0 +1,11 @@ +--- deps/openssl/openssl_no_asm.gypi.orig 2020-10-06 18:05:13 UTC ++++ deps/openssl/openssl_no_asm.gypi +@@ -48,7 +48,7 @@ + 'includes': ['config/archs/linux64-mips64/no-asm/openssl.gypi'], + }, { + # Other architectures don't use assembly +- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'], ++ 'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'], + }], + ], + } diff --git a/www/node12/files/patch-deps_v8_src_base_platform_platform-freebsd.cc b/www/node12/files/patch-deps_v8_src_base_platform_platform-freebsd.cc new file mode 100644 index 000000000000..d1f61a84b37b --- /dev/null +++ b/www/node12/files/patch-deps_v8_src_base_platform_platform-freebsd.cc @@ -0,0 +1,62 @@ +--- deps/v8/src/base/platform/platform-freebsd.cc.orig 2020-01-07 22:07:49 UTC ++++ deps/v8/src/base/platform/platform-freebsd.cc +@@ -81,8 +81,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib + lib_name = std::string(path); + } + result.push_back(SharedLibraryAddress( +- lib_name, reinterpret_cast<uintptr_t>(map->kve_start), +- reinterpret_cast<uintptr_t>(map->kve_end))); ++ lib_name, static_cast<uintptr_t>(map->kve_start), ++ static_cast<uintptr_t>(map->kve_end))); + } + + start += ssize; +@@ -93,6 +93,48 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib + } + + void OS::SignalCodeMovingGC() {} ++ ++#ifdef __arm__ ++ ++bool OS::ArmUsingHardFloat() { ++// GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify ++// the Floating Point ABI used (PCS stands for Procedure Call Standard). ++// We use these as well as a couple of other defines to statically determine ++// what FP ABI used. ++// GCC versions 4.4 and below don't support hard-fp. ++// GCC versions 4.5 may support hard-fp without defining __ARM_PCS or ++// __ARM_PCS_VFP. ++ ++#define GCC_VERSION \ ++ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) ++#if GCC_VERSION >= 40600 && !defined(__clang__) ++#if defined(__ARM_PCS_VFP) ++ return true; ++#else ++ return false; ++#endif ++ ++#elif GCC_VERSION < 40500 && !defined(__clang__) ++ return false; ++ ++#else ++#if defined(__ARM_PCS_VFP) ++ return true; ++#elif defined(__ARM_PCS) || defined(__SOFTFP__) || defined(__SOFTFP) || \ ++ !defined(__VFP_FP__) ++ return false; ++#else ++#error \ ++ "Your version of compiler does not report the FP ABI compiled for." \ ++ "Please report it on this issue" \ ++ "http://code.google.com/p/v8/issues/detail?id=2140" ++ ++#endif ++#endif ++#undef GCC_VERSION ++} ++ ++#endif // def __arm__ + + void OS::AdjustSchedulingParams() {} + diff --git a/www/node12/files/patch-deps_v8_src_codegen_arm_cpu-arm.cc b/www/node12/files/patch-deps_v8_src_codegen_arm_cpu-arm.cc new file mode 100644 index 000000000000..726f3e7a0d31 --- /dev/null +++ b/www/node12/files/patch-deps_v8_src_codegen_arm_cpu-arm.cc @@ -0,0 +1,22 @@ +--- deps/v8/src/codegen/arm/cpu-arm.cc.orig 2019-08-20 17:14:50 UTC ++++ deps/v8/src/codegen/arm/cpu-arm.cc +@@ -7,6 +7,9 @@ + #ifdef __QNXNTO__ + #include <sys/mman.h> // for cache flushing. + #undef MAP_TYPE // NOLINT ++#elif defined(__FreeBSD__) ++#include <sys/types.h> ++#include <machine/sysarch.h> // for cache flushing. + #else + #include <sys/syscall.h> // for cache flushing. + #endif +@@ -25,6 +28,9 @@ V8_NOINLINE void CpuFeatures::FlushICache(void* start, + #if !defined(USE_SIMULATOR) + #if V8_OS_QNX + msync(start, size, MS_SYNC | MS_INVALIDATE_ICACHE); ++#elif defined(__FreeBSD__) ++ struct arm_sync_icache_args args = { .addr = (uintptr_t)start, .len = size }; ++ sysarch(ARM_SYNC_ICACHE, (void *)&args); + #else + register uint32_t beg asm("r0") = reinterpret_cast<uint32_t>(start); + register uint32_t end asm("r1") = beg + size; diff --git a/www/node12/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h b/www/node12/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h new file mode 100644 index 000000000000..044fd3a292f3 --- /dev/null +++ b/www/node12/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h @@ -0,0 +1,20 @@ +--- deps/v8/src/codegen/ppc/constants-ppc.h.orig 2019-09-09 16:27:17 UTC ++++ deps/v8/src/codegen/ppc/constants-ppc.h +@@ -34,7 +34,7 @@ + #define ABI_PASSES_HANDLES_IN_REGS 0 + #endif + +-#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN || \ ++#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \ + (defined(_CALL_ELF) && _CALL_ELF == 2) + #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1 + #else +@@ -43,7 +43,7 @@ + + #if !V8_HOST_ARCH_PPC || \ + (V8_TARGET_ARCH_PPC64 && \ +- (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2))) ++ (defined(_CALL_ELF) && _CALL_ELF == 2)) + #define ABI_CALL_VIA_IP 1 + #else + #define ABI_CALL_VIA_IP 0 diff --git a/www/node12/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc b/www/node12/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc new file mode 100644 index 000000000000..2038a1e3c910 --- /dev/null +++ b/www/node12/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc @@ -0,0 +1,11 @@ +--- deps/v8/src/compiler/backend/instruction-selector.cc.orig 2020-07-22 15:26:52 UTC ++++ deps/v8/src/compiler/backend/instruction-selector.cc +@@ -2788,7 +2788,7 @@ void InstructionSelector::VisitCall(Node* node, BasicB + switch (call_descriptor->kind()) { + case CallDescriptor::kCallAddress: { + int misc_field = static_cast<int>(call_descriptor->ParameterCount()); +-#if defined(_AIX) ++#if defined(_AIX) || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1)) + // Highest misc_field bit is used on AIX to indicate if a CFunction call + // has function descriptor or not. + misc_field |= call_descriptor->HasFunctionDescriptor() diff --git a/www/node12/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc b/www/node12/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc new file mode 100644 index 000000000000..8a2fd0d75a1a --- /dev/null +++ b/www/node12/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc @@ -0,0 +1,11 @@ +--- deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc.orig 2020-04-21 11:38:50 UTC ++++ deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc +@@ -1026,7 +1026,7 @@ + Label start_call; + bool isWasmCapiFunction = + linkage()->GetIncomingDescriptor()->IsWasmCapiFunction(); +-#if defined(_AIX) ++#if defined(_AIX) || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1)) + // AIX/PPC64BE Linux uses a function descriptor + int kNumParametersMask = kHasFunctionDescriptorBitMask - 1; + num_parameters = kNumParametersMask & misc_field; diff --git a/www/node12/files/patch-deps_v8_src_execution_simulator.h b/www/node12/files/patch-deps_v8_src_execution_simulator.h new file mode 100644 index 000000000000..70b5ae1171bb --- /dev/null +++ b/www/node12/files/patch-deps_v8_src_execution_simulator.h @@ -0,0 +1,11 @@ +--- deps/v8/src/execution/simulator.h.orig 2019-11-21 21:14:01 UTC ++++ deps/v8/src/execution/simulator.h +@@ -122,7 +122,7 @@ + + DISABLE_CFI_ICALL Return Call(Args... args) { + // When running without a simulator we call the entry directly. +-#if V8_OS_AIX ++#if V8_OS_AIX || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1)) + // AIX ABI requires function descriptors (FD). Artificially create a pseudo + // FD to ensure correct dispatch to generated code. The 'volatile' + // declaration is required to avoid the compiler from not observing the diff --git a/www/node12/files/patch-deps_v8_src_libsampler_sampler.cc b/www/node12/files/patch-deps_v8_src_libsampler_sampler.cc new file mode 100644 index 000000000000..9c1992530cfd --- /dev/null +++ b/www/node12/files/patch-deps_v8_src_libsampler_sampler.cc @@ -0,0 +1,19 @@ +--- deps/v8/src/libsampler/sampler.cc.orig 2019-08-20 17:14:50 UTC ++++ deps/v8/src/libsampler/sampler.cc +@@ -477,9 +477,13 @@ void SignalHandler::FillRegisterState(void* context, R + state->sp = reinterpret_cast<void*>(mcontext.mc_rsp); + state->fp = reinterpret_cast<void*>(mcontext.mc_rbp); + #elif V8_HOST_ARCH_ARM +- state->pc = reinterpret_cast<void*>(mcontext.mc_r15); +- state->sp = reinterpret_cast<void*>(mcontext.mc_r13); +- state->fp = reinterpret_cast<void*>(mcontext.mc_r11); ++ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]); ++ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]); ++ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]); ++#elif V8_TARGET_ARCH_PPC_BE ++ state->pc = reinterpret_cast<void*>(mcontext.mc_srr0); ++ state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]); ++ state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]); + #endif // V8_HOST_ARCH_* + #elif V8_OS_NETBSD + #if V8_HOST_ARCH_IA32 diff --git a/www/node12/files/patch-node.gypi b/www/node12/files/patch-node.gypi new file mode 100644 index 000000000000..57c16c71f210 --- /dev/null +++ b/www/node12/files/patch-node.gypi @@ -0,0 +1,12 @@ +--- node.gypi.orig 2020-05-26 11:53:34 UTC ++++ node.gypi +@@ -323,6 +323,9 @@ + ['openssl_fips != "" or openssl_is_fips=="true"', { + 'defines': [ 'NODE_FIPS_MODE' ], + }], ++ ['openssl_no_asm==1', { ++ 'defines': [ 'OPENSSL_NO_ASM' ], ++ }], + [ 'node_shared_openssl=="false"', { + 'dependencies': [ + './deps/openssl/openssl.gyp:openssl', |