[compiler-rt] 20f508e - Update Sanitizer tests for Android R.
Mitch Phillips via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 27 14:15:47 PST 2020
Author: Mitch Phillips
Date: 2020-02-27T14:15:21-08:00
New Revision: 20f508efc0122173980fc9607ccd694938ddf79f
URL: https://github.com/llvm/llvm-project/commit/20f508efc0122173980fc9607ccd694938ddf79f
DIFF: https://github.com/llvm/llvm-project/commit/20f508efc0122173980fc9607ccd694938ddf79f.diff
LOG: Update Sanitizer tests for Android R.
Summary:
Sanitizer tests don't entirely pass on an R device. Fix up all the
incompatibilities with the new system.
Reviewers: eugenis, pcc
Reviewed By: eugenis
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D75303
Added:
Modified:
compiler-rt/test/asan/TestCases/Posix/no-fd.cpp
compiler-rt/test/asan/TestCases/strstr_strict.c
compiler-rt/test/sanitizer_common/TestCases/Posix/feof_fileno_ferror.cpp
Removed:
################################################################################
diff --git a/compiler-rt/test/asan/TestCases/Posix/no-fd.cpp b/compiler-rt/test/asan/TestCases/Posix/no-fd.cpp
index 086b01412ddb..ee355b5dc101 100644
--- a/compiler-rt/test/asan/TestCases/Posix/no-fd.cpp
+++ b/compiler-rt/test/asan/TestCases/Posix/no-fd.cpp
@@ -4,6 +4,11 @@
// Test ASan initialization
+// This test closes the 0, 1, and 2 file descriptors before an exec() and relies
+// on them remaining closed across an execve(). This is not the case on newer
+// versions of Android.
+// UNSUPPORTED: android
+
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
diff --git a/compiler-rt/test/asan/TestCases/strstr_strict.c b/compiler-rt/test/asan/TestCases/strstr_strict.c
index 63e6b25a017c..7d2c4ec2f325 100644
--- a/compiler-rt/test/asan/TestCases/strstr_strict.c
+++ b/compiler-rt/test/asan/TestCases/strstr_strict.c
@@ -1,6 +1,12 @@
// Test strict_string_checks option in strstr function
// RUN: %clang_asan %s -o %t && %run %t 2>&1
+
+// Newer versions of Android's strstr() uses memchr() internally, which actually
+// does trigger a heap-buffer-overflow (as it tries to find the
+// null-terminator).
+// UNSUPPORTED: android
// RUN: %env_asan_opts=strict_string_checks=false %run %t 2>&1
+
// RUN: %env_asan_opts=strict_string_checks=true not %run %t 2>&1 | FileCheck %s
#include <assert.h>
diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/feof_fileno_ferror.cpp b/compiler-rt/test/sanitizer_common/TestCases/Posix/feof_fileno_ferror.cpp
index cfcf0e3970a4..b8c1a5f04575 100644
--- a/compiler-rt/test/sanitizer_common/TestCases/Posix/feof_fileno_ferror.cpp
+++ b/compiler-rt/test/sanitizer_common/TestCases/Posix/feof_fileno_ferror.cpp
@@ -1,5 +1,9 @@
// RUN: %clangxx -g %s -o %t && %run %t
+// Newer versions of Android have FDSan, and will fail this test as FDSan will
+// catch the error instead.
+// UNSUPPORTED: android
+
#include <assert.h>
#include <stdio.h>
#include <unistd.h>
More information about the llvm-commits
mailing list