@ -184,12 +184,15 @@ extern void (*checkasm_checked_call)(void *func, int dummy, ...);
# elif ARCH_AARCH64 && !defined(__APPLE__)
# elif ARCH_AARCH64 && !defined(__APPLE__)
void checkasm_stack_clobber ( uint64_t clobber , . . . ) ;
void checkasm_stack_clobber ( uint64_t clobber , . . . ) ;
void checkasm_checked_call ( void * func , . . . ) ;
void checkasm_checked_call ( void * func , . . . ) ;
# define declare_new(ret, ...) ret (*checked_call)(void *, int, int, int, int, int, int, int, __VA_ARGS__)\
# define declare_new(ret, ...) ret (*checked_call)(void *, int, int, int, int, int, int, int, __VA_ARGS__,\
int , int , int , int , int , int , int , int , \
int , int , int , int , int , int , int ) \
= ( void * ) checkasm_checked_call ;
= ( void * ) checkasm_checked_call ;
# define CLOB (UINT64_C(0xdeadbeefdeadbeef))
# define CLOB (UINT64_C(0xdeadbeefdeadbeef))
# define call_new(...) (checkasm_stack_clobber(CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,\
# define call_new(...) (checkasm_stack_clobber(CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,CLOB,\
CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB ) , \
CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB , CLOB ) , \
checked_call ( func_new , 0 , 0 , 0 , 0 , 0 , 0 , 0 , __VA_ARGS__ ) )
checked_call ( func_new , 0 , 0 , 0 , 0 , 0 , 0 , 0 , __VA_ARGS__ , \
7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) )
# else
# else
# define declare_new(ret, ...)
# define declare_new(ret, ...)
# define declare_new_float(ret, ...)
# define declare_new_float(ret, ...)