parlib: Make sync objects static (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 20 Apr 2017 13:49:35 +0000 (09:49 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 3 May 2017 16:13:02 +0000 (12:13 -0400)
commitbd84232924dd42e23ff347621eb414293efa6413
treeb8a455e7ab1bc7c6fce3150dee25b46c785d8f54
parent2305878b56111479f93fd642eb93a4ad05b64c6c
parlib: Make sync objects static (XCC)

It turns out that sync objects need to be statically allocated and capable
of initialization without malloc.  We're going to need to use uthread
mutexes for Glibc's locks (libc-lock.h), which get used for malloc.  Thus
we can't call back into malloc. (recursion).

Rebuild the world (especially GCC).

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
user/parlib/include/parlib/uthread.h
user/parlib/mutex.c
user/parlib/thread0_sched.c
user/parlib/uthread.c
user/pthread/pthread.c
user/vmm/sched.c