[CI][Github] Do not fail premerge job
[llvm-project.git] / compiler-rt / test / asan / TestCases / Linux / asan_preload_test-3.cpp
blobe998ff647b20cd1af3c5e25222fa0c47272e2f63
1 // Regression test for PR33206
2 //
3 // RUN: %clang -DDYN=1 -DMALLOC=1 -fPIC -shared %s -o %t-dso1.so
4 // RUN: %clang -DDYN=1 -DMALLOC=1 -fPIC -shared %s -o %t-dso2.so %t-dso1.so
5 // RUN: %clang %s -o %t-1 %t-dso2.so
6 // RUN: env LD_PRELOAD=%shared_libasan %run %t-1 2>&1 | FileCheck %s
7 // RUN: %clang -DDYN=1 -DREALLOC=1 -fPIC -shared %s -o %t-dso3.so
8 // RUN: %clang -DDYN=1 -DREALLOC=1 -fPIC -shared %s -o %t-dso4.so %t-dso3.so
9 // RUN: %clang %s -o %t-2 %t-dso4.so
10 // RUN: env LD_PRELOAD=%shared_libasan %run %t-2 2>&1 | FileCheck %s
11 // REQUIRES: asan-dynamic-runtime
13 // FIXME: Test regressed while android bot was disabled. Needs investigation.
14 // UNSUPPORTED: android
16 #include <stdlib.h>
17 #include <stdio.h>
19 #ifdef DYN
20 __attribute__((constructor)) void foo() {
21 void *p;
22 #ifdef MALLOC
23 p = malloc(1 << 20);
24 #endif
25 #ifdef REALLOC
26 p = realloc (0, 1 << 20);
27 #endif
28 free(p);
30 #else
31 int main() {
32 // CHECK: Success
33 printf("Success\n");
34 return 0;
36 #endif