parlib: Align the stack when saving FP state

We need the sigdata struct to be aligned properly for the FPU save/restore.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
diff --git a/user/parlib/signal.c b/user/parlib/signal.c
index 2900694..e44516e 100644
--- a/user/parlib/signal.c
+++ b/user/parlib/signal.c
@@ -162,6 +162,7 @@
 		assert(current_uthread == uthread);
 		ctx = &vcpd_of(vcore_id())->uthread_ctx;
 		stack = get_user_ctx_sp(ctx) - sizeof(struct sigdata);
+		stack = ROUNDDOWN(stack, __alignof__(struct sigdata));
 		assert(stack_ptr_is_sane(stack));
 		uthread->sigstate.data = (struct sigdata*)stack;
 		save_fp_state(&uthread->sigstate.data->as);