1 /* Test 3 STT_GNU_IFUNC symbols. */
6 /* Can't use __attribute__((visibility("protected"))) until the GCC bug:
8 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65248
11 asm (".protected global");
31 void * foo1_ifunc (void) __asm__ ("foo1");
32 __asm__(".type foo1, %gnu_indirect_function");
35 inhibit_stack_protector
38 return ifunc_sel (one
, minus_one
, zero
);
41 void * foo2_ifunc (void) __asm__ ("foo2");
42 __asm__(".type foo2, %gnu_indirect_function");
45 inhibit_stack_protector
48 return ifunc_sel (minus_one
, one
, zero
);
51 void * foo3_ifunc (void) __asm__ ("foo3");
52 __asm__(".type foo3, %gnu_indirect_function");
55 inhibit_stack_protector
58 return ifunc_sel (one
, zero
, minus_one
);