diff --git a/src/pkg/runtime/freebsd/thread.c b/src/pkg/runtime/freebsd/thread.c index a4e1e13e51..5f44022365 100644 --- a/src/pkg/runtime/freebsd/thread.c +++ b/src/pkg/runtime/freebsd/thread.c @@ -141,7 +141,7 @@ newosproc(M *m, G *g, void *stk, void (*fn)(void)) param.arg = m; param.stack_base = stk; param.stack_size = g->stackbase - g->stackguard + 256; - param.child_tid = (int32*)&m->procid; + param.child_tid = (intptr*)&m->procid; param.parent_tid = nil; param.tls_base = (int8*)&m->tls[0]; param.tls_size = sizeof m->tls; diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h index 83b47b7a33..df1c45ae1f 100644 --- a/src/pkg/runtime/runtime.h +++ b/src/pkg/runtime/runtime.h @@ -18,8 +18,10 @@ typedef double float64; #ifdef _64BIT typedef uint64 uintptr; +typedef int64 intptr; #else typedef uint32 uintptr; +typedef int32 intptr; #endif /*