r242560 - in /branches/ARM/embedded-6-branch/gc...
thopre01@gcc.gnu.org
thopre01@gcc.gnu.org
Thu Nov 17 20:30:00 GMT 2016
Author: thopre01
Date: Thu Nov 17 20:30:41 2016
New Revision: 242560
URL: https://gcc.gnu.org/viewcvs?rev=242560&root=gcc&view=rev
Log:
Fix PR77933: stack corruption on ARM when using high registers and LR
2016-11-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
Backport from mainline
2016-11-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR target/77933
* config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr
being live in the function and lr needing to be saved. Distinguish
between already saved pushable registers and registers to push.
Check for LR being an available pushable register.
gcc/testsuite/
PR target/77933
* gcc.target/arm/pr77933-1.c: New test.
* gcc.target/arm/pr77933-2.c: Likewise.
Added:
branches/ARM/embedded-6-branch/gcc/testsuite/gcc.target/arm/pr77933-1.c
branches/ARM/embedded-6-branch/gcc/testsuite/gcc.target/arm/pr77933-2.c
Modified:
branches/ARM/embedded-6-branch/gcc/ChangeLog.arm
branches/ARM/embedded-6-branch/gcc/config/arm/arm.c
branches/ARM/embedded-6-branch/gcc/testsuite/ChangeLog.arm
More information about the Gcc-cvs
mailing list