1*95d609b5SMatt Morehouse // Test that HWASan shadow is initialized before .preinit_array functions run. 2*95d609b5SMatt Morehouse 3*95d609b5SMatt Morehouse // RUN: %clang_hwasan %s -o %t 4*95d609b5SMatt Morehouse // RUN: %run %t 5*95d609b5SMatt Morehouse 6*95d609b5SMatt Morehouse volatile int Global; StoreToGlobal()7*95d609b5SMatt Morehousevoid StoreToGlobal() { Global = 42; } 8*95d609b5SMatt Morehouse 9*95d609b5SMatt Morehouse __attribute__((section(".preinit_array"), used)) 10*95d609b5SMatt Morehouse void (*__StoreToGlobal_preinit)() = StoreToGlobal; 11*95d609b5SMatt Morehouse main()12*95d609b5SMatt Morehouseint main() { return Global != 42; } 13