| #define _GNU_SOURCE | |
| #include <stdlib.h> | |
| #include <stdio.h> | |
| #include <dlfcn.h> | |
| extern int foo (void); | |
| extern int __start___verbose[]; | |
| extern int __stop___verbose[]; | |
| int bar (void) | |
| { | |
| static int my_var __attribute__((section("__verbose"), used)) = 6; | |
| int *ptr; | |
| ptr = (int*) dlsym(RTLD_DEFAULT, "__start___verbose"); | |
| if (!ptr || *ptr != 6) | |
| return -1; | |
| return 0; | |
| } | |
| int main() | |
| { | |
| if (bar () == 0) | |
| printf ("PASS\n"); | |
| return 0; | |
| } |