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 
8 int
call_through_indirect_hidden(int arg)9 call_through_indirect_hidden(int arg)
10 {
11   return arg + 5;
12 }
13 
14 MakeResolver(call_through_indirect)
15