fix powerpc asm not to store data in volatile space below stack pointer
authorRich Felker <dalias@aerifal.cx>
Mon, 19 Nov 2012 03:57:32 +0000 (22:57 -0500)
committerRich Felker <dalias@aerifal.cx>
Mon, 19 Nov 2012 03:57:32 +0000 (22:57 -0500)
commit9565a349f217fb6f532fac06b7ef458a32c2ad2e
tree8c04bf07adcdc61315d71796331c971f281d5103
parent0004ea613ac310daaee30c167112d796db33fa70
fix powerpc asm not to store data in volatile space below stack pointer

it's essential to decrement the stack pointer before writing to new
stack space, rather than afterwards. otherwise there is a race
condition during which asynchronous code (signals) could clobber the
data being stored.

it may be possible to optimize the code further using stwu, but I
wanted to avoid making any changes to the actual stack layout in this
commit. further improvements can be made separately if desired.
src/signal/powerpc/sigsetjmp.s
src/thread/powerpc/clone.s