| int foo (int) __attribute__ ((ifunc ("resolve_foo"))); | |
| extern void abort (void); | |
| static int | |
| foo_impl (int x) | |
| { | |
| return x; | |
| } | |
| void | |
| bar (void) | |
| { | |
| int (*f)(int) = foo; | |
| if (foo (5) != 5) | |
| abort (); | |
| if (f (42) != 42) | |
| abort (); | |
| } | |
| void * | |
| resolve_foo (void) | |
| { | |
| return (void *) foo_impl; | |
| } |