summaryrefslogtreecommitdiffhomepage
path: root/test/syscalls/linux/rseq/BUILD
diff options
context:
space:
mode:
authorHaibo Xu <haibo.xu@arm.com>2020-02-28 09:14:57 +0000
committerHaibo Xu <haibo.xu@arm.com>2020-04-01 09:50:49 +0800
commitc71e97784cfc57a0664a07cb798aca3d39d6bb11 (patch)
tree479aaec0091c603acc0aed6e8859217b60371381 /test/syscalls/linux/rseq/BUILD
parent57e67e32b59a30365a79f6dceb3e0cb772407029 (diff)
Enable rseq syscall test on arm64.
Signed-off-by: Haibo Xu <haibo.xu@arm.com> Change-Id: If30154a2d73e98f211cfe589853b232019b9e130
Diffstat (limited to 'test/syscalls/linux/rseq/BUILD')
-rw-r--r--test/syscalls/linux/rseq/BUILD41
1 files changed, 22 insertions, 19 deletions
diff --git a/test/syscalls/linux/rseq/BUILD b/test/syscalls/linux/rseq/BUILD
index ed488dbc2..ee5b0a11b 100644
--- a/test/syscalls/linux/rseq/BUILD
+++ b/test/syscalls/linux/rseq/BUILD
@@ -1,7 +1,7 @@
# This package contains a standalone rseq test binary. This binary must not
# depend on libc, which might use rseq itself.
-load("//tools:defs.bzl", "cc_flags_supplier", "cc_library", "cc_toolchain")
+load("//tools:defs.bzl", "cc_flags_supplier", "cc_library", "cc_toolchain", "select_arch")
package(licenses = ["notice"])
@@ -9,32 +9,35 @@ genrule(
name = "rseq_binary",
srcs = [
"critical.h",
- "critical.S",
+ "critical_amd64.S",
+ "critical_arm64.S",
"rseq.cc",
"syscalls.h",
- "start.S",
+ "start_amd64.S",
+ "start_arm64.S",
"test.h",
"types.h",
"uapi.h",
],
outs = ["rseq"],
- cmd = " ".join([
- "$(CC)",
- "$(CC_FLAGS) ",
- "-I.",
- "-Wall",
- "-Werror",
- "-O2",
- "-std=c++17",
- "-static",
- "-nostdlib",
- "-ffreestanding",
- "-o",
- "$(location rseq)",
- "$(location critical.S)",
+ cmd = "$(CC) " +
+ "$(CC_FLAGS) " +
+ "-I. " +
+ "-Wall " +
+ "-Werror " +
+ "-O2 " +
+ "-std=c++17 " +
+ "-static " +
+ "-nostdlib " +
+ "-ffreestanding " +
+ "-o " +
+ "$(location rseq) " +
+ select_arch(
+ amd64 = "$(location critical_amd64.S) $(location start_amd64.S) ",
+ arm64 = "$(location critical_arm64.S) $(location start_arm64.S) ",
+ no_match_error = "unsupported architecture",
+ ) +
"$(location rseq.cc)",
- "$(location start.S)",
- ]),
toolchains = [
cc_toolchain,
":no_pie_cc_flags",