summaryrefslogtreecommitdiffhomepage
path: root/test/syscalls/linux
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2020-06-07 09:56:53 -0700
committergVisor bot <gvisor-bot@google.com>2020-06-07 09:56:53 -0700
commit62603041792021f654cfb3418e9a728220feaf60 (patch)
tree6282fddb9d27d87e1fe5f5e1b4d8260ffc7b8360 /test/syscalls/linux
parent427d2082165e0949a00631a50cf5f6834d3d626d (diff)
parent744e8d6e4311f0aef47215a227b0eef582034cfd (diff)
Merge pull request #2788 from lubinszARM:pr_exec_2
PiperOrigin-RevId: 315166991
Diffstat (limited to 'test/syscalls/linux')
-rw-r--r--test/syscalls/linux/exec_binary.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/syscalls/linux/exec_binary.cc b/test/syscalls/linux/exec_binary.cc
index 1a9f203b9..18d2f22c1 100644
--- a/test/syscalls/linux/exec_binary.cc
+++ b/test/syscalls/linux/exec_binary.cc
@@ -438,7 +438,12 @@ TEST(ElfTest, MissingText) {
ASSERT_THAT(RetryEINTR(waitpid)(child, &status, 0),
SyscallSucceedsWithValue(child));
// It runs off the end of the zeroes filling the end of the page.
+#if defined(__x86_64__)
EXPECT_TRUE(WIFSIGNALED(status) && WTERMSIG(status) == SIGSEGV) << status;
+#elif defined(__aarch64__)
+ // 0 is an invalid instruction opcode on arm64.
+ EXPECT_TRUE(WIFSIGNALED(status) && WTERMSIG(status) == SIGILL) << status;
+#endif
}
// Typical ELF with a data + bss segment