Skip to content

Commit 64dce15

Browse files
authored
Merge pull request #167 from chantra/arm64
ci: Enable CI on aarch64
2 parents 9ca1b92 + c3bd06f commit 64dce15

File tree

3 files changed

+52
-2
lines changed

3 files changed

+52
-2
lines changed

.github/workflows/test.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ jobs:
3636
"""
3737
CPU architecture supported by CI.
3838
"""
39-
x86_64 = "x86_64"
39+
aarch64 = "aarch64"
4040
s390x = "s390x"
41+
x86_64 = "x86_64"
4142
4243
def set_output(name, value):
4344
"""Write an output variable to the GitHub output file."""
@@ -66,6 +67,8 @@ jobs:
6667
matrix = [
6768
{"kernel": "LATEST", "runs_on": [], "arch": Arch.x86_64.value, "toolchain": "gcc"},
6869
{"kernel": "LATEST", "runs_on": [], "arch": Arch.x86_64.value, "toolchain": "${{ needs.llvm-toolchain.outputs.llvm }}"},
70+
{"kernel": "LATEST", "runs_on": [], "arch": Arch.aarch64.value, "toolchain": "gcc"},
71+
{"kernel": "LATEST", "runs_on": [], "arch": Arch.aarch64.value, "toolchain": "${{ needs.llvm-toolchain.outputs.llvm }}"},
6972
{"kernel": "LATEST", "runs_on": [], "arch": Arch.s390x.value, "toolchain": "gcc"},
7073
]
7174
self_hosted_repos = [
@@ -168,7 +171,7 @@ jobs:
168171
# zstd is installed by default in the runner images.
169172
tar -cf - \
170173
"${KBUILD_OUTPUT}"/.config \
171-
"${KBUILD_OUTPUT}"/arch/*/boot/bzImage \
174+
"${KBUILD_OUTPUT}"/$(KBUILD_OUTPUT="${KBUILD_OUTPUT}" make -s image_name) \
172175
"${KBUILD_OUTPUT}"/include/config/auto.conf \
173176
"${KBUILD_OUTPUT}"/include/generated/autoconf.h \
174177
"${KBUILD_OUTPUT}"/vmlinux \
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Recently, ld.lld moved from '--undefined-version' to
2+
'--no-undefined-version' as the default, which breaks building the vDSO
3+
when CONFIG_X86_SGX is not set:
4+
5+
ld.lld: error: version script assignment of 'LINUX_2.6' to symbol '__vdso_sgx_enter_enclave' failed: symbol not defined
6+
7+
__vdso_sgx_enter_enclave is only included in the vDSO when
8+
CONFIG_X86_SGX is set. Only export it if it will be present in the final
9+
object, which clears up the error.
10+
11+
Link: https://github.com/ClangBuiltLinux/linux/issues/1756
12+
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
13+
---
14+
15+
It would be nice if this could be picked up for an -rc release but I
16+
won't argue otherwise.
17+
18+
Alternatively, we could add '--undefined-version' to the vDSO ldflags
19+
but this does not seem unreasonable to me.
20+
21+
arch/x86/entry/vdso/vdso.lds.S | 2 ++
22+
1 file changed, 2 insertions(+)
23+
24+
diff --git a/arch/x86/entry/vdso/vdso.lds.S b/arch/x86/entry/vdso/vdso.lds.S
25+
index 4bf48462fca7..e8c60ae7a7c8 100644
26+
--- a/arch/x86/entry/vdso/vdso.lds.S
27+
+++ b/arch/x86/entry/vdso/vdso.lds.S
28+
@@ -27,7 +27,9 @@ VERSION {
29+
__vdso_time;
30+
clock_getres;
31+
__vdso_clock_getres;
32+
+#ifdef CONFIG_X86_SGX
33+
__vdso_sgx_enter_enclave;
34+
+#endif
35+
local: *;
36+
};
37+
}
38+
39+
base-commit: f0c4d9fc9cc9462659728d168387191387e903cc
40+
41+
--
42+
2.38.1
43+
44+

ci/vmtest/configs/DENYLIST.aarch64

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
cgrp_local_storage # libbpf: prog 'update_cookie_tracing': failed to attach: ERROR: strerror_r(-524)=22
2+
usdt/multispec # usdt_300_bad_attach unexpected pointer: 0x558c63d8f0
3+
core_reloc_btfgen # run_core_reloc_tests:FAIL:run_btfgen unexpected error: 32512 (errno 22)

0 commit comments

Comments
 (0)