diff options
author | Haibo Xu <haibo.xu@arm.com> | 2020-02-28 09:14:57 +0000 |
---|---|---|
committer | Haibo Xu <haibo.xu@arm.com> | 2020-04-01 09:50:49 +0800 |
commit | c71e97784cfc57a0664a07cb798aca3d39d6bb11 (patch) | |
tree | 479aaec0091c603acc0aed6e8859217b60371381 /test/syscalls/linux/rseq/BUILD | |
parent | 57e67e32b59a30365a79f6dceb3e0cb772407029 (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/BUILD | 41 |
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", |