diff options
3 files changed, 25 insertions, 61 deletions
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch deleted file mode 100644 index 6268d6940e..0000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch +++ /dev/null | |||
| @@ -1,60 +0,0 @@ | |||
| 1 | From bf701e7cb3616631a354ed9ecbed6dd16f60c60d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
| 3 | Date: Wed, 30 Jan 2013 10:43:47 +0100 | ||
| 4 | Subject: [PATCH] gcc has a builtin define to denote hard abi when in use, e.g. | ||
| 5 | when using -mfloat-abi=hard it will define __ARM_PCS_VFP to 1 and therefore | ||
| 6 | we should check that to determine which calling convention is in use and not | ||
| 7 | __VFP_FP__ which merely indicates presence of VFP unit | ||
| 8 | |||
| 9 | The fix has been provided by Khem Raj <raj.khem@gmail.com> | ||
| 10 | |||
| 11 | Upstream-Status: Forwarded | ||
| 12 | |||
| 13 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
| 14 | --- | ||
| 15 | deps/v8/src/arm/assembler-arm.cc | 4 ++-- | ||
| 16 | deps/v8/src/platform-linux.cc | 4 ++-- | ||
| 17 | 2 files changed, 4 insertions(+), 4 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/deps/v8/src/arm/assembler-arm.cc b/deps/v8/src/arm/assembler-arm.cc | ||
| 20 | index 1787d15..c64ef58 100644 | ||
| 21 | --- a/deps/v8/src/arm/assembler-arm.cc | ||
| 22 | +++ b/deps/v8/src/arm/assembler-arm.cc | ||
| 23 | @@ -71,10 +71,10 @@ static unsigned CpuFeaturesImpliedByCompiler() { | ||
| 24 | // If the compiler is allowed to use VFP then we can use VFP too in our code | ||
| 25 | // generation even when generating snapshots. ARMv7 and hardware floating | ||
| 26 | // point support implies VFPv3, see ARM DDI 0406B, page A1-6. | ||
| 27 | -#if defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__VFP_FP__) \ | ||
| 28 | +#if defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__ARM_PCS_VFP) \ | ||
| 29 | && !defined(__SOFTFP__) | ||
| 30 | answer |= 1u << VFP3 | 1u << ARMv7 | 1u << VFP2; | ||
| 31 | -#endif // defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__VFP_FP__) | ||
| 32 | +#endif // defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__ARM_PCS_VFP) | ||
| 33 | // && !defined(__SOFTFP__) | ||
| 34 | #endif // _arm__ | ||
| 35 | |||
| 36 | diff --git a/deps/v8/src/platform-linux.cc b/deps/v8/src/platform-linux.cc | ||
| 37 | index ed9eb79..10d1879 100644 | ||
| 38 | --- a/deps/v8/src/platform-linux.cc | ||
| 39 | +++ b/deps/v8/src/platform-linux.cc | ||
| 40 | @@ -170,7 +170,7 @@ bool OS::ArmCpuHasFeature(CpuFeature feature) { | ||
| 41 | // calling this will return 1.0 and otherwise 0.0. | ||
| 42 | static void ArmUsingHardFloatHelper() { | ||
| 43 | asm("mov r0, #0":::"r0"); | ||
| 44 | -#if defined(__VFP_FP__) && !defined(__SOFTFP__) | ||
| 45 | +#if defined(__ARM_PCS_VFP) && !defined(__SOFTFP__) | ||
| 46 | // Load 0x3ff00000 into r1 using instructions available in both ARM | ||
| 47 | // and Thumb mode. | ||
| 48 | asm("mov r1, #3":::"r1"); | ||
| 49 | @@ -195,7 +195,7 @@ static void ArmUsingHardFloatHelper() { | ||
| 50 | #else | ||
| 51 | asm("vmov d0, r0, r1"); | ||
| 52 | #endif // __thumb__ | ||
| 53 | -#endif // defined(__VFP_FP__) && !defined(__SOFTFP__) | ||
| 54 | +#endif // defined(__ARM_PCS_VFP) && !defined(__SOFTFP__) | ||
| 55 | asm("mov r1, #0":::"r1"); | ||
| 56 | } | ||
| 57 | |||
| 58 | -- | ||
| 59 | 1.8.1 | ||
| 60 | |||
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch b/meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch new file mode 100644 index 0000000000..cc7c9ab570 --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | Building for qemuarm without thumb enabled is using -march=armv5e which isn't | ||
| 2 | recognized here. Fix it by adding __ARM_ARCH_5E__. | ||
| 3 | |||
| 4 | v0.12.2 branch of node doesn't seem to be affected, because it's using | ||
| 5 | different version of v8 | ||
| 6 | |||
| 7 | Upstream-Status: Pending | ||
| 8 | |||
| 9 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 10 | |||
| 11 | diff -uNr node-v0.12.2/deps/v8/src/base/atomicops_internals_arm_gcc.h node-v0.12.2-fix/deps/v8/src/base/atomicops_internals_arm_gcc.h | ||
| 12 | --- node-v0.12.2/deps/v8/src/base/atomicops_internals_arm_gcc.h 2015-04-01 00:13:01.000000000 +0200 | ||
| 13 | +++ node-v0.12.2-fix/deps/v8/src/base/atomicops_internals_arm_gcc.h 2015-04-28 14:30:43.119509207 +0200 | ||
| 14 | @@ -156,7 +156,7 @@ | ||
| 15 | |||
| 16 | // This tests against any known ARMv5 variant. | ||
| 17 | #elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \ | ||
| 18 | - defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) | ||
| 19 | + defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) | ||
| 20 | |||
| 21 | // The kernel also provides a helper function to perform an atomic | ||
| 22 | // compare-and-swap operation at the hard-wired address 0xffff0fc0. | ||
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.12.2.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.12.2.bb index 945d9b4025..0e789f976c 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_0.12.2.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.12.2.bb | |||
| @@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=14115ff11211df04b031ec7d40b6d31b" | |||
| 5 | 5 | ||
| 6 | DEPENDS = "openssl" | 6 | DEPENDS = "openssl" |
| 7 | 7 | ||
| 8 | SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz" | 8 | SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ |
| 9 | file://enable-armv5e-build.patch \ | ||
| 10 | " | ||
| 9 | SRC_URI[md5sum] = "b7f4a9f2e361a7026789a7d6c45a6d30" | 11 | SRC_URI[md5sum] = "b7f4a9f2e361a7026789a7d6c45a6d30" |
| 10 | SRC_URI[sha256sum] = "ac7e78ade93e633e7ed628532bb8e650caba0c9c33af33581957f3382e2a772d" | 12 | SRC_URI[sha256sum] = "ac7e78ade93e633e7ed628532bb8e650caba0c9c33af33581957f3382e2a772d" |
| 11 | 13 | ||
