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