| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
Also fill x8-x17 with garbage before calling the function.
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>
|
|
|
|
|
|
|
| |
This makes it easier to share code with e.g. the dav1d implementation
of checkasm.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|\
| |
| |
| |
| |
| |
| | |
* commit 'd05c9cde0e87c23ca42957646bea483dfc09d6bf':
checkasm: aarch64: Specify alignment for the register_init const array
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
Loads from this strictly doesn't require alignment, but specify it
just for consistency with the arm version.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
| |
| |
| |
| |
| | |
Avoids overriding the v0 register (which containins the result of the
tested function) in checkasm_call_checked.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'dd5d4a0e1e3a30a254d1a57ecbdcedf230c6014b':
checkasm: aarch64: Don't clobber x29 in checkasm_stack_clobber
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
x29 (FP) is a callee saved register and should be restored on
return. Instead of backing up x29 and restoring it here, back up
sp in a register that we are allowed to overwrite.
This fixes crashes in checkasm on aarch64 since f1b3e1313851.
For some reason, gcc builds didn't crash, but clang builds do.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '2816f8a8bb33bd67fec5e94f5d357918caf4e055':
build: Drop arch-specific checkasm Makefiles
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| | |
They only contain one line and will never contain more.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'c91d6a33f872574c95c8784277cf60ffcf6bff4f':
checkasm: aarch64: Add filler args to make sure all parameters are passed on the stack
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the stack
This, combined with clobbering the stack space prior to the call,
increases the chances of finding cases where 32 bit parameters
are erroneously treated as 64 bit.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'f1b3e131385176c3c9d9783b25047856a0dcebf6':
checkasm: aarch64: Clobber the stack before calling functions
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'a05cc56124b4f1237f6355784de821e3290ddb44':
checkasm: arm/aarch64: Fix the amount of space reserved for stack parameters
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Even if MAX_ARGS - 2 (for arm) or MAX_ARGS - 7 (for aarch64) parameters
are passed on the stack to checkasm_checked_call, we actually only
need to store MAX_ARGS - 4 (for arm) or MAX_ARGS - 8 (for aarch64)
parameters on the stack when calling the tested function.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|/
|
|
|
|
|
| |
* commit 'fec76cd430f3c865183a6e5b4caec0743e055605':
checkasm: Check register clobbering on aarch64
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
|
This is disabled on iOS, since iOS uses a slightly different ABI
for vararg parameters.
Signed-off-by: Martin Storsjö <martin@martin.st>
|