summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDevon H. O'Dell <devon.odell@gmail.com>2009-11-18 09:11:39 -0800
committerDevon H. O'Dell <devon.odell@gmail.com>2009-11-18 09:11:39 -0800
commit5ab78dd22eab6cf9431bd49f96998adce0d91b6b (patch)
tree9d34b165549fa15fe1281afb2a6053c79aeea9af /src
parent0d15a5437697094f9165b63b933192b36193a2df (diff)
downloadgolang-5ab78dd22eab6cf9431bd49f96998adce0d91b6b.tar.gz
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 http://codereview.appspot.com/156073 Committer: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/pkg/runtime/freebsd/thread.c2
-rw-r--r--src/pkg/runtime/runtime.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg/runtime/freebsd/thread.c b/src/pkg/runtime/freebsd/thread.c
index a4e1e13e5..5f4402236 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 83b47b7a3..df1c45ae1 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
/*