$OpenBSD: patch-libs_coroutine_source_Coro_c,v 1.1.1.1 2012/12/17 23:55:28 jeremy Exp $

On amd64, thread stacks must be 16-byte aligned, it's required by
the ABI.  Without this, a bus error occurs when formatting a
number as a string, inside snprintf, since it uses the movaps
instruction to move data from the xmm0 register to a non 16-byte
aligned memory location.

--- libs/coroutine/source/Coro.c.orig	Thu Oct 11 17:12:01 2012
+++ libs/coroutine/source/Coro.c	Thu Oct 11 17:20:45 2012
@@ -599,7 +599,7 @@ end:
 			if (64 > (- sav[i] + (uintptr_t)&i))
 				break;
 		assert(i < sz);
-		sav[i] = stackend - sizeof(uintptr_t) - 128;
+		sav[i] = stackend - sizeof(uintptr_t)*2 - 128;
 	}
 }
 
