pr21964-5.c 446 B

1234567891011121314151617181920212223242526
  1. #define _GNU_SOURCE
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <dlfcn.h>
  5. extern int foo (void);
  6. extern int __start___verbose[];
  7. extern int __stop___verbose[];
  8. int bar (void)
  9. {
  10. static int my_var __attribute__((section("__verbose"), used)) = 6;
  11. int *ptr;
  12. ptr = (int*) dlsym(RTLD_DEFAULT, "__start___verbose");
  13. if (!ptr || *ptr != 6)
  14. return -1;
  15. return 0;
  16. }
  17. int main()
  18. {
  19. if (bar () == 0)
  20. printf ("PASS\n");
  21. return 0;
  22. }