summaryrefslogtreecommitdiff
path: root/tests/checkasm/aarch64
Commit message (Collapse)AuthorAge
* checkasm: aarch64: Check for stack overflowsMartin Storsjö2020-05-15
| | | | | | | | | 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>
* checkasm: arm: Make the indentation consistent with other filesMartin Storsjö2020-05-15
| | | | | | | This makes it easier to share code with e.g. the dav1d implementation of checkasm. Signed-off-by: Martin Storsjö <martin@martin.st>
* Merge commit 'd05c9cde0e87c23ca42957646bea483dfc09d6bf'James Almer2017-10-30
|\ | | | | | | | | | | | | * commit 'd05c9cde0e87c23ca42957646bea483dfc09d6bf': checkasm: aarch64: Specify alignment for the register_init const array Merged-by: James Almer <jamrial@gmail.com>
| * checkasm: aarch64: Specify alignment for the register_init const arrayMartin Storsjö2017-05-15
| | | | | | | | | | | | | | 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>
* | checkasm/aarch64: fix tests returning a floatMatthieu Bouron2017-06-22
| | | | | | | | | | Avoids overriding the v0 register (which containins the result of the tested function) in checkasm_call_checked.
* | Merge commit 'dd5d4a0e1e3a30a254d1a57ecbdcedf230c6014b'James Almer2017-03-23
|\| | | | | | | | | | | | | * commit 'dd5d4a0e1e3a30a254d1a57ecbdcedf230c6014b': checkasm: aarch64: Don't clobber x29 in checkasm_stack_clobber Merged-by: James Almer <jamrial@gmail.com>
| * checkasm: aarch64: Don't clobber x29 in checkasm_stack_clobberMartin Storsjö2016-10-18
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '2816f8a8bb33bd67fec5e94f5d357918caf4e055'James Almer2017-03-23
|\| | | | | | | | | | | | | * commit '2816f8a8bb33bd67fec5e94f5d357918caf4e055': build: Drop arch-specific checkasm Makefiles Merged-by: James Almer <jamrial@gmail.com>
| * build: Drop arch-specific checkasm MakefilesDiego Biurrun2016-10-17
| | | | | | | | They only contain one line and will never contain more.
* | Merge commit 'c91d6a33f872574c95c8784277cf60ffcf6bff4f'James Almer2017-03-23
|\| | | | | | | | | | | | | * commit 'c91d6a33f872574c95c8784277cf60ffcf6bff4f': checkasm: aarch64: Add filler args to make sure all parameters are passed on the stack Merged-by: James Almer <jamrial@gmail.com>
| * checkasm: aarch64: Add filler args to make sure all parameters are passed on ↵Martin Storsjö2016-10-16
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit 'f1b3e131385176c3c9d9783b25047856a0dcebf6'James Almer2017-03-23
|\| | | | | | | | | | | | | * commit 'f1b3e131385176c3c9d9783b25047856a0dcebf6': checkasm: aarch64: Clobber the stack before calling functions Merged-by: James Almer <jamrial@gmail.com>
| * checkasm: aarch64: Clobber the stack before calling functionsMartin Storsjö2016-10-16
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'a05cc56124b4f1237f6355784de821e3290ddb44'James Almer2017-03-23
|\| | | | | | | | | | | | | * commit 'a05cc56124b4f1237f6355784de821e3290ddb44': checkasm: arm/aarch64: Fix the amount of space reserved for stack parameters Merged-by: James Almer <jamrial@gmail.com>
| * checkasm: arm/aarch64: Fix the amount of space reserved for stack parametersMartin Storsjö2016-10-16
| | | | | | | | | | | | | | | | | | 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>
* | Merge commit 'fec76cd430f3c865183a6e5b4caec0743e055605'Hendrik Leppkes2016-01-19
|/ | | | | | | * commit 'fec76cd430f3c865183a6e5b4caec0743e055605': checkasm: Check register clobbering on aarch64 Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
* checkasm: Check register clobbering on aarch64Martin Storsjö2016-01-07
This is disabled on iOS, since iOS uses a slightly different ABI for vararg parameters. Signed-off-by: Martin Storsjö <martin@martin.st>