|
|
| 19 |
#define NATIVE_WITH_ALIAS DCE_WITH_ALIAS |
19 |
#define NATIVE_WITH_ALIAS DCE_WITH_ALIAS |
| 20 |
#define NATIVE_WITH_ALIAS2 DCE_WITH_ALIAS2 |
20 |
#define NATIVE_WITH_ALIAS2 DCE_WITH_ALIAS2 |
| 21 |
|
21 |
|
|
|
22 |
#define GCC_BT_NUM_ARGS 72 |
| 23 |
//#define GCC_BT_NUM_ARGS 128 |
| 24 |
|
| 22 |
#define GCC_BUILTIN_APPLY(export_symbol, func_to_call) \ |
25 |
#define GCC_BUILTIN_APPLY(export_symbol, func_to_call) \ |
| 23 |
void export_symbol (...) { \ |
26 |
void export_symbol (...) { \ |
| 24 |
void *args = __builtin_apply_args (); \ |
27 |
void *args = __builtin_apply_args (); \ |
| 25 |
void *result = __builtin_apply (g_libc.func_to_call ## _fn, args, 128); \ |
28 |
void *result = __builtin_apply (g_libc.func_to_call ## _fn, args, GCC_BT_NUM_ARGS); \ |
| 26 |
__builtin_return (result); \ |
29 |
__builtin_return (result); \ |
| 27 |
} |
30 |
} |
| 28 |
|
31 |
|
| 29 |
#define GCC_BUILTIN_APPLYT(rtype, export_symbol, func_to_call) \ |
32 |
#define GCC_BUILTIN_APPLYT(rtype, export_symbol, func_to_call) \ |
| 30 |
rtype export_symbol (...) { \ |
33 |
rtype export_symbol (...) { \ |
| 31 |
void *args = __builtin_apply_args (); \ |
34 |
void *args = __builtin_apply_args (); \ |
| 32 |
void *result = __builtin_apply ((void (*) (...)) g_libc.func_to_call ## _fn, args, 128); \ |
35 |
void *result = __builtin_apply ((void (*) (...)) g_libc.func_to_call ## _fn, args, GCC_BT_NUM_ARGS); \ |
| 33 |
__builtin_return (result); \ |
36 |
__builtin_return (result); \ |
| 34 |
} |
37 |
} |
| 35 |
|
38 |
|