]> git.ipfire.org Git - thirdparty/glibc.git/commit
powerpc64: Always restore TOC on longjmp [BZ #21895]
authorRogerio Alves <rcardoso@linux.vnet.ibm.com>
Mon, 16 Jul 2018 18:07:10 +0000 (15:07 -0300)
committerTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Mon, 16 Jul 2018 19:08:41 +0000 (16:08 -0300)
commit52b2a80fae89d2a99ac3d1866a73c8bbf7b608ff
treec861930d393bdd30c0cbdc7346aa388cee7eebf2
parent3ae725dfb6d7f61447d27d00ed83e573bd5454f4
powerpc64: Always restore TOC on longjmp [BZ #21895]

This patch changes longjmp to always restore the TOC pointer (r2 register)
to the caller frame on powerpc64 and powerpc64le.  This is related to bug
21895 that reports a situation where you have a static longjmp to a
shared object file.

[BZ #21895]
* sysdeps/powerpc/powerpc64/__longjmp-common.S: Remove condition code for
restoring r2 in longjmp.
* sysdeps/powerpc/powerpc64/Makefile: Added tst-setjmp-bug21895-static to
test list.
Added rules to build test tst-setjmp-bug21895-static.
Added module setjmp-bug21895 and rules to build a shared object from it.
* sysdeps/powerpc/powerpc64/setjmp-bug21895.c: New test file.
* sysdeps/powerpc/powerpc64/tst-setjmp-bug21895-static.c: New test file.

Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
ChangeLog
sysdeps/powerpc/powerpc64/Makefile
sysdeps/powerpc/powerpc64/__longjmp-common.S
sysdeps/powerpc/powerpc64/setjmp-bug21895.c [new file with mode: 0644]
sysdeps/powerpc/powerpc64/tst-setjmp-bug21895-static.c [new file with mode: 0644]