From: Devon H. O'Dell Date: Wed, 18 Nov 2009 17:11:39 +0000 (-0800) Subject: Add an intptr type to runtime; needed in FreeBSD X-Git-Tag: weekly.2009-12-07~222 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=659780b64323a5da3ff739c82d7d4c8efec21c39;p=gostls13.git Add an intptr type to runtime; needed in FreeBSD In thread.c, we need to cast to whatever the native size of intptr is on the system, but we only have uintptr available. They're the same size, but can't do signed casts without this one :). R=rsc CC=golang-dev https://golang.org/cl/156073 --- 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 /*