[Buildroot] [git commit] package/nodejs: fix hard float error

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Mon Jan 12 21:03:17 UTC 2015


commit: http://git.buildroot.net/buildroot/commit/?id=4f09b5b484af374b86af0db9e171f22fffffc8f0
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Add support for building nodejs with hard floating ABI if supported by the
target and remove bogus comment. Buildroot does propose this tuning.

Basically, you have three cases of floating point strategies:

 * soft float, i.e 'soft' in nodejs speak. This is enabled in Buildroot
   when BR2_ARM_EABI=y and BR2_SOFT_FLOAT=y.

 * hard float using integer registers to pass floating point arguments,
   i.e 'softfp' in nodejs speak. This is enabled in Buildroot when
   BR2_ARM_EABI=y and BR2_SOFT_FLOAT is disabled.

 * hard float using floating pointer registers to pass floating point
   arguments, i.e 'hard' in nodejs speak. This is enabled in Buildroot
   when BR2_ARM_EABIHF=y.

This patch fixes "[Buildroot] Float error on SAMA5D3 Xplained using nodejs":
http://lists.busybox.net/pipermail/buildroot/2014-December/114254.html

Tested at run-time by me on a TI Beaglebone Black.

[Thomas: add qstrip call when using the BR2_GCC_TARGET_FLOAT_ABI
variable.]

Signed-off-by: Jörg Krause <jkrause at posteo.de>
Reported-by: Cédric Heyman <c.heyman at til-technologies.fr>
Suggested-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
 package/nodejs/nodejs.mk |   10 ++--------
 1 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk
index ad598d9..c2cb05e 100644
--- a/package/nodejs/nodejs.mk
+++ b/package/nodejs/nodejs.mk
@@ -56,14 +56,8 @@ else ifeq ($(BR2_mipsel),y)
 NODEJS_CPU = mipsel
 else ifeq ($(BR2_arm),y)
 NODEJS_CPU = arm
-# V8 needs to know what floating point ABI the target is using.  There's also
-# a 'hard' option which we're not exposing here at the moment, because
-# buildroot itself doesn't really support it at present.
-ifeq ($(BR2_SOFT_FLOAT),y)
-NODEJS_ARM_FP = soft
-else
-NODEJS_ARM_FP = softfp
-endif
+# V8 needs to know what floating point ABI the target is using.
+NODEJS_ARM_FP = $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
 endif
 
 define NODEJS_CONFIGURE_CMDS


More information about the buildroot mailing list