diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-10-30 10:03:50 -0700 |
---|---|---|
committer | Armin Kuster <akuster808@gmail.com> | 2021-01-13 08:10:53 -0800 |
commit | 00cf8917dc2a3c76ab7ec73a82c00ff079ddddbc (patch) | |
tree | eae6e243db409d86eb336c58a8a27a1b76b20f60 | |
parent | 3fdb654e51a367a3efaf53bfe9a8e40d19b284f8 (diff) | |
download | meta-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.patch | 53 | ||||
-rw-r--r-- | meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb | 1 |
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 @@ | |||
1 | From be8d3cd6eab4b8f9849133060abb1aba4400276b Mon Sep 17 00:00:00 2001 | ||
2 | From: Amy Huang <akhuang@google.com> | ||
3 | Date: Thu, 23 Apr 2020 11:25:53 -0700 | ||
4 | Subject: [PATCH] Remove use of register r7 because llvm now issues an error | ||
5 | when "r7" is used (starting in commit d85b3877) | ||
6 | |||
7 | Bug: chromium:1073270 | ||
8 | Change-Id: I7ec8112f170b98d2edaf92bc9341e738f8de07a3 | ||
9 | Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163435 | ||
10 | Reviewed-by: Nico Weber <thakis@chromium.org> | ||
11 | Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> | ||
12 | Commit-Queue: Nico Weber <thakis@chromium.org> | ||
13 | Cr-Commit-Position: refs/heads/master@{#67371} | ||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
15 | --- | ||
16 | Upstream-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 | |||
20 | diff --git a/deps/v8/src/codegen/arm/cpu-arm.cc b/deps/v8/src/codegen/arm/cpu-arm.cc | ||
21 | index 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 | -- | ||
52 | 2.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 | " |
25 | SRC_URI_append_class-target = " \ | 26 | SRC_URI_append_class-target = " \ |
26 | file://0002-Using-native-binaries.patch \ | 27 | file://0002-Using-native-binaries.patch \ |