about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/hppa/getcontext.S
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2017-10-01 11:58:04 -0400
committerJohn David Anglin <danglin@gcc.gnu.org>2017-10-01 11:58:04 -0400
commit8da92e722ca66e35003abf64a77ae529f9989e6a (patch)
tree0e56ce3883a28656ff27c9ded225f3a300fd75b1 /sysdeps/unix/sysv/linux/hppa/getcontext.S
parent388784cfddc20ada56d3e52f830d6445b14aa3af (diff)
downloadglibc-8da92e722ca66e35003abf64a77ae529f9989e6a.tar.gz
glibc-8da92e722ca66e35003abf64a77ae529f9989e6a.tar.xz
glibc-8da92e722ca66e35003abf64a77ae529f9989e6a.zip
Fix return pointer save and PIC register restore in __getcontext and
__setcontext on hppa.

	* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Save return
	pointer in frame.
	* sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext): Likewise.
	Correct offset used to restore PIC register.
Diffstat (limited to 'sysdeps/unix/sysv/linux/hppa/getcontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/getcontext.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/getcontext.S b/sysdeps/unix/sysv/linux/hppa/getcontext.S
index b201d8fda2..79a59cd557 100644
--- a/sysdeps/unix/sysv/linux/hppa/getcontext.S
+++ b/sysdeps/unix/sysv/linux/hppa/getcontext.S
@@ -129,6 +129,8 @@ ENTRY(__getcontext)
 	fstds	 %fr31, 0(%r1)
 
 	/* Prologue */
+	stw	%r2, -20(%sp)
+	.cfi_offset 2, -20
 	stwm	%r4, 64(%sp)
 	.cfi_def_cfa_offset -64
 	.cfi_offset 4, 0