Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Dec 2019 10:19:05 +0000 (UTC)
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r520012 - head/www/node/files
Message-ID:  <201912131019.xBDAJ5xI037310@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912131019.xBDAJ5xI037310>