ifuncvar1.c 316 B

1234567891011121314151617181920
  1. /* Test global variable initialized to hidden STT_GNU_IFUNC symbol. */
  2. int didit;
  3. extern void doit (void);
  4. void
  5. doit (void)
  6. {
  7. didit = 1;
  8. }
  9. void (*get_foo (void)) (void) __asm__ ("foo");
  10. __asm__ (".type foo, %gnu_indirect_function");
  11. __asm__ (".hidden foo");
  12. void (*get_foo (void)) (void)
  13. {
  14. return &doit;
  15. }