15 lines · c
1#define MakeResolver(name) \2 void * name ## Resolver(void) __asm__("_" #name); \3 void * name ## Resolver(void) { \4 __asm__(".symbol_resolver _" #name); \5 return name ## _hidden; \6 }7 8int 9call_through_indirect_hidden(int arg)10{11 return arg + 5;12}13 14MakeResolver(call_through_indirect)15