node: depends on availability of fpu
authorYousong Zhou <yszhou4tech@gmail.com>
Fri, 26 Jan 2018 08:05:58 +0000 (16:05 +0800)
committerYousong Zhou <yszhou4tech@gmail.com>
Fri, 9 Feb 2018 07:47:50 +0000 (15:47 +0800)
It requires either hardware or software emulated fpu, otherwise program
can fail with SIGILL for fp instructions emitted by the JIT compiler

See #1937, #2633, #2442, FS#1257 for details

From code snippet at deps/v8/src/mips/constants-mips.h

    #elif(defined(__mips_soft_float) && __mips_soft_float != 0)
    // This flag is raised when -msoft-float is passed to the compiler.
    // // Although FPU is a base requirement for v8, soft-float ABI is used
    // // on soft-float systems with FPU kernel emulation.
    // const bool IsMipsSoftFloatABI = true;

[1] https://bugs.chromium.org/p/v8/issues/detail?id=4704

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
lang/node/Makefile

index 929bf41f55ba10362d816092bb89bd5843d8a00f..d8a6ebff0313c19608e639f2857d51c3f5596e5e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=node
 PKG_VERSION:=v6.11.2
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_SOURCE:=node-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://nodejs.org/dist/${PKG_VERSION}
 PKG_HASH:=04af4992238b19124ea56f1bcfda36827613a24eb3b00fc3b50f261a415a26e4
@@ -36,7 +36,7 @@ define Package/node
   SUBMENU:=Node.js
   TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
   URL:=http://nodejs.org/
-  DEPENDS:=+libstdcpp +libopenssl +zlib +USE_UCLIBC:libpthread +USE_UCLIBC:librt +NODEJS_ICU:icu
+  DEPENDS:=@(HAS_FPU||KERNEL_MIPS_FPU_EMULATOR) +libstdcpp +libopenssl +zlib +USE_UCLIBC:libpthread +USE_UCLIBC:librt +NODEJS_ICU:icu
 endef
 
 define Package/node/description