void foo() __attribute__((ifunc("resolve_foo"))); | |
static void foo_impl() {} | |
extern void abort (void); | |
void test() | |
{ | |
void (*pg)(void) = foo; | |
if (pg != foo_impl) | |
abort (); | |
pg(); | |
} | |
static void* resolve_foo() | |
{ | |
extern void zoo(void); | |
void (*pz)(void) = zoo; | |
pz(); | |
return foo_impl; | |
} |