Home | History | Annotate | Download | only in Linux
      1 // RUN: %clangxx_asan %s -o %t && %run %t | FileCheck %s
      2 
      3 #include <stdio.h>
      4 
      5 static void foo() {
      6   printf("foo\n");
      7 }
      8 
      9 int main() {
     10   return 0;
     11 }
     12 
     13 __attribute__((section(".preinit_array")))
     14 void (*call_foo)(void) = &foo;
     15 
     16 __attribute__((section(".init_array")))
     17 void (*call_foo_2)(void) = &foo;
     18 
     19 __attribute__((section(".fini_array")))
     20 void (*call_foo_3)(void) = &foo;
     21 
     22 // CHECK: foo
     23 // CHECK: foo
     24 // CHECK: foo
     25