brintos

brintos / llvm-project-archived public Read only

0
0
Text · 962 B · e998ff6 Raw
37 lines · cpp
1// Regression test for PR332062//3// RUN: %clang -DDYN=1 -DMALLOC=1 -fPIC -shared %s -o %t-dso1.so4// RUN: %clang -DDYN=1 -DMALLOC=1 -fPIC -shared %s -o %t-dso2.so %t-dso1.so5// RUN: %clang %s -o %t-1 %t-dso2.so6// RUN: env LD_PRELOAD=%shared_libasan %run %t-1 2>&1 | FileCheck %s7// RUN: %clang -DDYN=1 -DREALLOC=1 -fPIC -shared %s -o %t-dso3.so8// RUN: %clang -DDYN=1 -DREALLOC=1 -fPIC -shared %s -o %t-dso4.so %t-dso3.so9// RUN: %clang %s -o %t-2 %t-dso4.so10// RUN: env LD_PRELOAD=%shared_libasan %run %t-2 2>&1 | FileCheck %s11// REQUIRES: asan-dynamic-runtime12 13// FIXME: Test regressed while android bot was disabled. Needs investigation.14// UNSUPPORTED: android15 16#include <stdlib.h>17#include <stdio.h>18 19#ifdef DYN20__attribute__((constructor)) void foo() {21  void *p;22#ifdef MALLOC23  p = malloc(1 << 20);24#endif25#ifdef REALLOC26  p = realloc (0, 1 << 20);27#endif28  free(p);29}30#else31int main() {32  // CHECK: Success33  printf("Success\n");34  return 0;35}36#endif37