| int | |
| library_func1 (void) | |
| { | |
| return 2; | |
| } | |
| int global = 1; | |
| #ifdef WITH_IFUNC | |
| static int minus_one (void) { return -1; } | |
| static int zero (void) { return 0; } | |
| void * library_func2_ifunc (void) __asm__ ("library_func2"); | |
| void * library_func2_ifunc (void) { return global ? minus_one : zero ; } | |
| __asm__(".type library_func2, %gnu_indirect_function"); | |
| extern int library_func2 (int); | |
| extern __typeof (library_func2) library_func2 __asm__ ("__GI_library_func2"); | |
| __asm__(".global __GI_library_func2"); | |
| __asm__(".hidden __GI_library_func2"); | |
| __asm__("__GI_library_func2 = library_func2"); | |
| int | |
| library_func (int x) | |
| { | |
| return library_func2 (x); | |
| } | |
| #else /* WITHOUT_IFUNC */ | |
| int | |
| library_func2 (void) | |
| { | |
| return 3; | |
| } | |
| #endif |