]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r234115:
authornwhitehorn <nwhitehorn@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 21 Apr 2012 00:26:03 +0000 (00:26 +0000)
committernwhitehorn <nwhitehorn@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 21 Apr 2012 00:26:03 +0000 (00:26 +0000)
commit4d5d1d1947f61f69b5c69f51dca1908caa65a739
treebc94cdd6dd89f92c80d42ee089aca1756767eb24
parent134fa75f7f85ba164f266ba022ce0e5258b6901b
MFC r234115:
Do not restore the register holding the TLS pointer when doing various
usermode context switches (long jumps and ucontext operations). If these
are used across threads, multiple threads can end up with the same TLS base.
Madness will then result.

This makes behavior on PPC match that on x86 systems and on Linux.

git-svn-id: svn://svn.freebsd.org/base/stable/9@234520 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
lib/libc/powerpc/gen/_setjmp.S
lib/libc/powerpc/gen/setjmp.S
lib/libc/powerpc/gen/sigsetjmp.S
lib/libc/powerpc64/gen/_setjmp.S
lib/libc/powerpc64/gen/setjmp.S
lib/libc/powerpc64/gen/sigsetjmp.S
sys/powerpc/powerpc/exec_machdep.c