summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-10-30 10:03:50 -0700
committerArmin Kuster <akuster808@gmail.com>2021-01-13 08:10:53 -0800
commit00cf8917dc2a3c76ab7ec73a82c00ff079ddddbc (patch)
treeeae6e243db409d86eb336c58a8a27a1b76b20f60
parent3fdb654e51a367a3efaf53bfe9a8e40d19b284f8 (diff)
downloadmeta-openembedded-00cf8917dc2a3c76ab7ec73a82c00ff079ddddbc.tar.gz
nodejs: Fix arm32/thumb builds with clang
Backport a patch from upstream to take care of build failure e.g. | ../deps/v8/src/codegen/arm/cpu-arm.cc:38:16: error: write to reserved register 'R7' | asm volatile("svc 0\n" | ^ | 1 error generated. Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 45a2dfdd0f16ed6941926e2dca1ad90f36e120bc) Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch53
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb1
2 files changed, 54 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch
new file mode 100644
index 0000000000..a23f1c243e
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch
@@ -0,0 +1,53 @@
1From be8d3cd6eab4b8f9849133060abb1aba4400276b Mon Sep 17 00:00:00 2001
2From: Amy Huang <akhuang@google.com>
3Date: Thu, 23 Apr 2020 11:25:53 -0700
4Subject: [PATCH] Remove use of register r7 because llvm now issues an error
5 when "r7" is used (starting in commit d85b3877)
6
7Bug: chromium:1073270
8Change-Id: I7ec8112f170b98d2edaf92bc9341e738f8de07a3
9Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163435
10Reviewed-by: Nico Weber <thakis@chromium.org>
11Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
12Commit-Queue: Nico Weber <thakis@chromium.org>
13Cr-Commit-Position: refs/heads/master@{#67371}
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16Upstream-Status: Backport [https://chromium.googlesource.com/v8/v8/+/00604cd2806b5d26bef592dd19989a234bd07a4b%5E%21/]
17 deps/v8/src/codegen/arm/cpu-arm.cc | 13 -------------
18 1 file changed, 13 deletions(-)
19
20diff --git a/deps/v8/src/codegen/arm/cpu-arm.cc b/deps/v8/src/codegen/arm/cpu-arm.cc
21index 868f360..654d68f 100644
22--- a/deps/v8/src/codegen/arm/cpu-arm.cc
23+++ b/deps/v8/src/codegen/arm/cpu-arm.cc
24@@ -30,18 +30,6 @@ V8_NOINLINE void CpuFeatures::FlushICache(void* start, size_t size) {
25 register uint32_t end asm("r1") = beg + size;
26 register uint32_t flg asm("r2") = 0;
27
28-#ifdef __clang__
29- // This variant of the asm avoids a constant pool entry, which can be
30- // problematic when LTO'ing. It is also slightly shorter.
31- register uint32_t scno asm("r7") = __ARM_NR_cacheflush;
32-
33- asm volatile("svc 0\n"
34- :
35- : "r"(beg), "r"(end), "r"(flg), "r"(scno)
36- : "memory");
37-#else
38- // Use a different variant of the asm with GCC because some versions doesn't
39- // support r7 as an asm input.
40 asm volatile(
41 // This assembly works for both ARM and Thumb targets.
42
43@@ -59,7 +47,6 @@ V8_NOINLINE void CpuFeatures::FlushICache(void* start, size_t size) {
44 : "r"(beg), "r"(end), "r"(flg), [scno] "i"(__ARM_NR_cacheflush)
45 : "memory");
46 #endif
47-#endif
48 #endif // !USE_SIMULATOR
49 }
50
51--
522.29.2
53
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb b/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
index 8a9f32bce2..7d8fd1db94 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
@@ -21,6 +21,7 @@ SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
21 file://0004-v8-don-t-override-ARM-CFLAGS.patch \ 21 file://0004-v8-don-t-override-ARM-CFLAGS.patch \
22 file://big-endian.patch \ 22 file://big-endian.patch \
23 file://mips-warnings.patch \ 23 file://mips-warnings.patch \
24 file://0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch \
24 " 25 "
25SRC_URI_append_class-target = " \ 26SRC_URI_append_class-target = " \
26 file://0002-Using-native-binaries.patch \ 27 file://0002-Using-native-binaries.patch \