mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
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.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2017-10-01 John David Anglin <danglin@gcc.gnu.org>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2017-09-30 John David Anglin <danglin@gcc.gnu.org>
|
2017-09-30 John David Anglin <danglin@gcc.gnu.org>
|
||||||
|
|
||||||
[BZ libc/22165]
|
[BZ libc/22165]
|
||||||
|
@ -129,6 +129,8 @@ ENTRY(__getcontext)
|
|||||||
fstds %fr31, 0(%r1)
|
fstds %fr31, 0(%r1)
|
||||||
|
|
||||||
/* Prologue */
|
/* Prologue */
|
||||||
|
stw %r2, -20(%sp)
|
||||||
|
.cfi_offset 2, -20
|
||||||
stwm %r4, 64(%sp)
|
stwm %r4, 64(%sp)
|
||||||
.cfi_def_cfa_offset -64
|
.cfi_def_cfa_offset -64
|
||||||
.cfi_offset 4, 0
|
.cfi_offset 4, 0
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
|
|
||||||
ENTRY(__setcontext)
|
ENTRY(__setcontext)
|
||||||
/* Prologue */
|
/* Prologue */
|
||||||
|
stw %r2, -20(%sp)
|
||||||
|
.cfi_offset 2, -20
|
||||||
stwm %r3, 64(%sp)
|
stwm %r3, 64(%sp)
|
||||||
.cfi_def_cfa_offset -64
|
.cfi_def_cfa_offset -64
|
||||||
.cfi_offset 3, 0
|
.cfi_offset 3, 0
|
||||||
@ -151,7 +153,7 @@ ENTRY(__setcontext)
|
|||||||
/* Epilogue */
|
/* Epilogue */
|
||||||
ldw -84(%r30), %r2
|
ldw -84(%r30), %r2
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
ldw -96(%r30), %r19
|
ldw -32(%r30), %r19
|
||||||
#endif
|
#endif
|
||||||
bv %r0(%r2)
|
bv %r0(%r2)
|
||||||
ldwm -64(%r30), %r3
|
ldwm -64(%r30), %r3
|
||||||
|
Reference in New Issue
Block a user