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 6268d6940..000000000 --- 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 000000000..cc7c9ab57 --- /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 945d9b402..0e789f976 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 | ||