runtime: use UMTX_OP_WAIT_UINT on FreeBSD

UMTX_OP_WAIT expects that the address points to a uintptr, but
the code in lock_futex.c uses a uint32.  UMTX_OP_WAIT_UINT is
just like UMTX_OP_WAIT, but the address points to a uint32.
This almost certainly makes no difference on a little-endian
system, but since the kernel supports it we should do the
right thing.  And, who knows, maybe it matters.

R=golang-dev, bradfitz, r, ality
CC=golang-dev
https://golang.org/cl/8699043
diff --git a/src/pkg/runtime/defs_freebsd.go b/src/pkg/runtime/defs_freebsd.go
index 0840227..93f0703 100644
--- a/src/pkg/runtime/defs_freebsd.go
+++ b/src/pkg/runtime/defs_freebsd.go
@@ -45,8 +45,8 @@
 	SA_RESTART = C.SA_RESTART
 	SA_ONSTACK = C.SA_ONSTACK
 
-	UMTX_OP_WAIT = C.UMTX_OP_WAIT
-	UMTX_OP_WAKE = C.UMTX_OP_WAKE
+	UMTX_OP_WAIT_UINT = C.UMTX_OP_WAIT_UINT
+	UMTX_OP_WAKE      = C.UMTX_OP_WAKE
 
 	EINTR = C.EINTR
 
diff --git a/src/pkg/runtime/defs_freebsd_386.h b/src/pkg/runtime/defs_freebsd_386.h
index d00c852..8fa37c5 100644
--- a/src/pkg/runtime/defs_freebsd_386.h
+++ b/src/pkg/runtime/defs_freebsd_386.h
@@ -18,8 +18,8 @@
 	SA_RESTART	= 0x2,
 	SA_ONSTACK	= 0x1,
 
-	UMTX_OP_WAIT	= 0x2,
-	UMTX_OP_WAKE	= 0x3,
+	UMTX_OP_WAIT_UINT	= 0xb,
+	UMTX_OP_WAKE		= 0x3,
 
 	EINTR	= 0x4,
 
diff --git a/src/pkg/runtime/defs_freebsd_amd64.h b/src/pkg/runtime/defs_freebsd_amd64.h
index 6348c04..56d849b 100644
--- a/src/pkg/runtime/defs_freebsd_amd64.h
+++ b/src/pkg/runtime/defs_freebsd_amd64.h
@@ -18,8 +18,8 @@
 	SA_RESTART	= 0x2,
 	SA_ONSTACK	= 0x1,
 
-	UMTX_OP_WAIT	= 0x2,
-	UMTX_OP_WAKE	= 0x3,
+	UMTX_OP_WAIT_UINT	= 0xb,
+	UMTX_OP_WAKE		= 0x3,
 
 	EINTR	= 0x4,
 
diff --git a/src/pkg/runtime/defs_freebsd_arm.h b/src/pkg/runtime/defs_freebsd_arm.h
index a744b808..334652e 100644
--- a/src/pkg/runtime/defs_freebsd_arm.h
+++ b/src/pkg/runtime/defs_freebsd_arm.h
@@ -18,8 +18,8 @@
 	SA_RESTART	= 0x2,
 	SA_ONSTACK	= 0x1,
 
-	UMTX_OP_WAIT	= 0x2,
-	UMTX_OP_WAKE	= 0x3,
+	UMTX_OP_WAIT_UINT	= 0xb,
+	UMTX_OP_WAKE		= 0x3,
 
 	EINTR	= 0x4,
 
diff --git a/src/pkg/runtime/os_freebsd.c b/src/pkg/runtime/os_freebsd.c
index 68c0f47..357ad80 100644
--- a/src/pkg/runtime/os_freebsd.c
+++ b/src/pkg/runtime/os_freebsd.c
@@ -60,7 +60,7 @@
 		tsp = &ts;
 	}
 
-	ret = runtime·sys_umtx_op(addr, UMTX_OP_WAIT, val, nil, tsp);
+	ret = runtime·sys_umtx_op(addr, UMTX_OP_WAIT_UINT, val, nil, tsp);
 	if(ret >= 0 || ret == -EINTR)
 		return;