svn commit: r520012 - head/www/node/files

Piotr Kubaj pkubaj at FreeBSD.org
Fri Dec 13 10:19:06 UTC 2019


Author: pkubaj
Date: Fri Dec 13 10:19:05 2019
New Revision: 520012
URL: https://svnweb.freebsd.org/changeset/ports/520012

Log:
  www/node: fix build on powerpc64 elfv1
  
  13.2.0 broke powerpc64 elfv1 (again). The problem are those two commits:
  https://github.com/nodejs/node/commit/605cb9f0fcd1d334ec15959bb79ba44b0e9f8186
  https://github.com/nodejs/node/commit/fe99841c88fdb87959a14c7bca81e4cd4582eba6
  
  They added ifdefs for _AIX, but the code they guard should run on all ppc64 elfv1 (not only on AIX).
  
  Widen those ifdefs appriopriately so that node builds again.
  
  PR:		242404
  Approved by:	bhughes (maintainer)

Added:
  head/www/node/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc   (contents, props changed)
  head/www/node/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc   (contents, props changed)

Added: head/www/node/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/node/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc	Fri Dec 13 10:19:05 2019	(r520012)
@@ -0,0 +1,11 @@
+--- deps/v8/src/compiler/backend/instruction-selector.cc.orig	2019-12-03 12:54:01 UTC
++++ deps/v8/src/compiler/backend/instruction-selector.cc
+@@ -2812,7 +2812,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()

Added: head/www/node/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/node/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc	Fri Dec 13 10:19:05 2019	(r520012)
@@ -0,0 +1,11 @@
+--- deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc.orig	2019-12-03 11:33:29 UTC
++++ deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
+@@ -1025,7 +1025,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleAr
+       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;


More information about the svn-ports-all mailing list