diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2020-08-12 09:22:38 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2020-08-12 09:22:38 +0000 |
commit | 6606fdc0aad85cbca1bb58e1b2ffe05611aabd7a (patch) | |
tree | 57d8f1f82731b5d7d73b230c2482ff3c94765c96 | |
parent | 73d2b6d4a3f0db82b2bfaba6c275412e5830680d (diff) | |
download | gcc-6606fdc0aad85cbca1bb58e1b2ffe05611aabd7a.zip gcc-6606fdc0aad85cbca1bb58e1b2ffe05611aabd7a.tar.gz gcc-6606fdc0aad85cbca1bb58e1b2ffe05611aabd7a.tar.bz2 |
testsuite: Fix gcc.target/arm/stack-protector-1.c for Cortex-M
The stack-protector-1.c test fails when compiled for Cortex-M:
- for Cortex-M0/M1, str r0, [sp #-8]! is not supported
- for Cortex-M3/M4..., the assembler complains that "use of r13 is
deprecated"
This patch replaces the str instruction with
sub sp, sp, #8
str r0, [sp]
and removes the check for r13, which is unlikely to leak the canary
value.
2020-08-11 Christophe Lyon <christophe.lyon@linaro.org>
gcc/testsuite/
* gcc.target/arm/stack-protector-1.c: Adapt code to Cortex-M
restrictions.
-rw-r--r-- | gcc/testsuite/gcc.target/arm/stack-protector-1.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/testsuite/gcc.target/arm/stack-protector-1.c b/gcc/testsuite/gcc.target/arm/stack-protector-1.c index b03ea14..8d28b0a 100644 --- a/gcc/testsuite/gcc.target/arm/stack-protector-1.c +++ b/gcc/testsuite/gcc.target/arm/stack-protector-1.c @@ -34,7 +34,8 @@ asm ( " .type main, %function\n" "main:\n" " bl get_ptr\n" -" str r0, [sp, #-8]!\n" +" sub sp, sp, #8\n" +" str r0, [sp]\n" " bl f\n" " str r0, [sp, #4]\n" " ldr r0, [sp]\n" @@ -51,7 +52,6 @@ asm ( CHECK (r10) CHECK (r11) CHECK (r12) - CHECK (r13) CHECK (r14) " ldr r1, [sp, #4]\n" CHECK (r1) |