aboutsummaryrefslogtreecommitdiffstats
path: root/tests/checkasm/checkasm.h
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2020-05-13 21:09:08 +0300
committerMartin Storsjö <martin@martin.st>2020-05-15 21:22:34 +0300
commit6cb2d4d94bab483c7509d21891a010bfdca3e2a5 (patch)
tree7e161f16b3fa79b89d1a1a7efff1cd9dfdcdf7b6 /tests/checkasm/checkasm.h
parent3f266cf49e552423a82b52b800a55a5374f837ec (diff)
downloadffmpeg-6cb2d4d94bab483c7509d21891a010bfdca3e2a5.tar.gz
checkasm: arm: Check for stack overflows
Figure out the number of stack parameters and make sure that the value on the stack after those is untouched. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'tests/checkasm/checkasm.h')
-rw-r--r--tests/checkasm/checkasm.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/checkasm/checkasm.h b/tests/checkasm/checkasm.h
index e98a800c50..de9df31f44 100644
--- a/tests/checkasm/checkasm.h
+++ b/tests/checkasm/checkasm.h
@@ -177,8 +177,10 @@ void checkasm_stack_clobber(uint64_t clobber, ...);
void checkasm_checked_call_vfp(void *func, int dummy, ...);
void checkasm_checked_call_novfp(void *func, int dummy, ...);
extern void (*checkasm_checked_call)(void *func, int dummy, ...);
-#define declare_new(ret, ...) ret (*checked_call)(void *, int dummy, __VA_ARGS__) = (void *)checkasm_checked_call;
-#define call_new(...) checked_call(func_new, 0, __VA_ARGS__)
+#define declare_new(ret, ...) ret (*checked_call)(void *, int dummy, __VA_ARGS__, \
+ int, int, int, int, int, int, int, int, \
+ int, int, int, int, int, int, int) = (void *)checkasm_checked_call;
+#define call_new(...) checked_call(func_new, 0, __VA_ARGS__, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0)
#elif ARCH_AARCH64 && !defined(__APPLE__)
void checkasm_stack_clobber(uint64_t clobber, ...);
void checkasm_checked_call(void *func, ...);