Fixes pthread exit with -O2
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 19 Apr 2010 00:56:28 +0000 (17:56 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:35:43 +0000 (17:35 -0700)
commit8abf46a0e3101e611410a2c7a2dbc8b94afd301b
treed1ec7e01a8a7039d2991f3cc557b7660b6cd9e1e
parent4b79b247aa5257e36f8138d4a289eb20cc0714a8
Fixes pthread exit with -O2

-O2 was breaking the delicate balance in "set_stack_pointer() and then
call a function."  Setting __pthread_exit to noreturn keeps the compiler
from trying to use the stack to save info.

Saving space at the top of the stack needs to happen in an
arch-dependent manner in set_stack_pointer().  If you have page faults
around 0x20009000, it's because you are walking off the top of a
transition stack, and it's because you don't have enough room.
user/include/i686/arch.h
user/parlib/pthread.c