//===----------- dlclose-test-so.cc -----------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file is a part of AddressSanitizer, an address sanity checker. // // Regression test for // http://code.google.com/p/address-sanitizer/issues/detail?id=19 //===----------------------------------------------------------------------===// #include static int pad1; static int static_var; static int pad2; extern "C" int *get_address_of_static_var() { return &static_var; } __attribute__((constructor)) void at_dlopen() { printf("%s: I am being dlopened\n", __FILE__); } __attribute__((destructor)) void at_dlclose() { printf("%s: I am being dlclosed\n", __FILE__); }