This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r242560 - in /branches/ARM/embedded-6-branch/gc...


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]