Message ID | DF6DA6BD-A47E-48E7-B519-9A07C8722CB4@bell.net |
---|---|
State | New |
Headers | show |
Series | [committed] hppa: Save return pointer and correct PIC register restore in __getcontext and __setcontext | expand |
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 diff --git a/sysdeps/unix/sysv/linux/hppa/setcontext.S b/sysdeps/unix/sysv/linux/hppa/setcontext.S index 92cb204f8d..78357941b3 100644 --- a/sysdeps/unix/sysv/linux/hppa/setcontext.S +++ b/sysdeps/unix/sysv/linux/hppa/setcontext.S @@ -25,6 +25,8 @@ ENTRY(__setcontext) /* Prologue */ + stw %r2, -20(%sp) + .cfi_offset 2, -20 stwm %r3, 64(%sp) .cfi_def_cfa_offset -64 .cfi_offset 3, 0 @@ -151,7 +153,7 @@ ENTRY(__setcontext) /* Epilogue */ ldw -84(%r30), %r2 #ifdef PIC - ldw -96(%r30), %r19 + ldw -32(%r30), %r19 #endif bv %r0(%r2) ldwm -64(%r30), %r3