ifunc-lib.c 352 B

123456789101112131415161718192021222324252627282930
  1. static int
  2. one (void)
  3. {
  4. return 1;
  5. }
  6. static int
  7. minus_one (void)
  8. {
  9. return -1;
  10. }
  11. void * foo_ifunc (void) __asm__ ("foo");
  12. __asm__(".type foo, %gnu_indirect_function");
  13. void *
  14. foo_ifunc (void)
  15. {
  16. return one;
  17. }
  18. void * bar_ifunc (void) __asm__ ("bar");
  19. __asm__(".type bar, %gnu_indirect_function");
  20. void *
  21. bar_ifunc (void)
  22. {
  23. return minus_one;
  24. }