mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-10 07:10:06 +00:00
Restore r31 setting in powerpc32 swapcontext.
Commit ffe8a9a831
, "powerpc: Remove
rt_sigreturn usage on context function", removed from powerpc32
swapcontext a setting of r31 that is relied upon in subsequent code.
I'm not sure why this didn't produce test failures in Adhemerval's
32-bit testing; in my (soft-float) testing in preparation for 2.30
release, I see several context-related failures
FAIL: stdlib/tst-makecontext2
FAIL: stdlib/tst-makecontext3
FAIL: stdlib/tst-setcontext
FAIL: stdlib/tst-setcontext2
FAIL: stdlib/tst-setcontext4
FAIL: stdlib/tst-setcontext7
FAIL: stdlib/tst-setcontext9
FAIL: stdlib/tst-swapcontext1
that did not appear in 2.29 testing. This patch restores the removed
register setting in question, and thus fixes those failures.
Tested for powerpc (soft-float).
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
(__CONTEXT_FUNC_NAME): Restore setting of r31.
This commit is contained in:
parent
8a814e20d4
commit
c86b8e7579
@ -1,3 +1,8 @@
|
||||
2019-07-30 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
|
||||
(__CONTEXT_FUNC_NAME): Restore setting of r31.
|
||||
|
||||
2019-07-30 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* nptl/tst-pthread-getattr.c (allocate_and_test): Change return
|
||||
|
@ -276,6 +276,9 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
cmpwi r3,0
|
||||
bne 3f /* L(error_exit) */
|
||||
|
||||
lwz r4,_FRAME_PARM_SAVE2(r1)
|
||||
lwz r31,_UC_REGS_PTR(r4)
|
||||
|
||||
#ifdef __CONTEXT_ENABLE_FPRS
|
||||
# ifdef __CONTEXT_ENABLE_VRS
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user