Skip to content

Commit

Permalink
testsuite: Fix gcc.target/arm/stack-protector-1.c for Cortex-M
Browse files Browse the repository at this point in the history
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, gcc-mirror#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.

(cherry picked from commit 6606fdc)
  • Loading branch information
Christophe Lyon committed Aug 12, 2020
1 parent 11ccbb7 commit 071cfcb
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions gcc/testsuite/gcc.target/arm/stack-protector-1.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -51,7 +52,6 @@ asm (
CHECK (r10)
CHECK (r11)
CHECK (r12)
CHECK (r13)
CHECK (r14)
" ldr r1, [sp, #4]\n"
CHECK (r1)
Expand Down

0 comments on commit 071cfcb

Please sign in to comment.