summaryrefslogtreecommitdiff
path: root/test/hwasan/TestCases/Posix/system-allocator-fallback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/hwasan/TestCases/Posix/system-allocator-fallback.cpp')
-rw-r--r--test/hwasan/TestCases/Posix/system-allocator-fallback.cpp54
1 files changed, 0 insertions, 54 deletions
diff --git a/test/hwasan/TestCases/Posix/system-allocator-fallback.cpp b/test/hwasan/TestCases/Posix/system-allocator-fallback.cpp
deleted file mode 100644
index 8678d906d..000000000
--- a/test/hwasan/TestCases/Posix/system-allocator-fallback.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// RUN: %clangxx %s -o %t -ldl
-// RUN: %clangxx_hwasan -shared %s -o %t.so -DSHARED_LIB -shared-libsan -Wl,-rpath,%compiler_rt_libdir
-// RUN: %env_hwasan_opts=disable_allocator_tagging=0 %run %t
-
-// The dynamic loader on Android O appears to have a bug where it crashes when
-// dlopening DF_1_GLOBAL libraries.
-// REQUIRES: android-28
-
-#include <stddef.h>
-
-// Test that allocations made by the system allocator can be realloc'd and freed
-// by the hwasan allocator.
-
-typedef void run_test_fn(void *(*system_malloc)(size_t size));
-
-#ifdef SHARED_LIB
-
-// Call the __sanitizer_ versions of these functions so that the test
-// doesn't require the Android dynamic loader.
-extern "C" void *__sanitizer_realloc(void *ptr, size_t size);
-extern "C" void __sanitizer_free(void *ptr);
-
-extern "C" run_test_fn run_test;
-void run_test(void *(*system_malloc)(size_t size)) {
- void *mem = system_malloc(64);
- mem = __sanitizer_realloc(mem, 128);
- __sanitizer_free(mem);
-}
-
-#else
-
-#include <dlfcn.h>
-#include <stdlib.h>
-#include <string>
-
-int main(int argc, char **argv) {
- std::string path = argv[0];
- path += ".so";
- void *lib = dlopen(path.c_str(), RTLD_NOW);
- if (!lib) {
- printf("error in dlopen(): %s\n", dlerror());
- return 1;
- }
-
- auto run_test = reinterpret_cast<run_test_fn *>(dlsym(lib, "run_test"));
- if (!run_test) {
- printf("failed dlsym\n");
- return 1;
- }
-
- run_test(malloc);
-}
-
-#endif