From 1ae1c63748b9603baa04208633e463a362fbdbfa Mon Sep 17 00:00:00 2001 From: Alan Donovan Date: Fri, 18 Apr 2014 15:58:12 -0400 Subject: [PATCH] go.tools/go/ssa/interp: add wrappers for Sysctl{,Uint32} intrinsics on FreeBSD (Speculative fix---I can't test it directly.) LGTM=gri R=gri CC=golang-codereviews https://golang.org/cl/89320043 --- go/ssa/interp/external_freebsd.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 go/ssa/interp/external_freebsd.go diff --git a/go/ssa/interp/external_freebsd.go b/go/ssa/interp/external_freebsd.go new file mode 100644 index 00000000..52033038 --- /dev/null +++ b/go/ssa/interp/external_freebsd.go @@ -0,0 +1,24 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd + +package interp + +import "syscall" + +func init() { + externals["syscall.Sysctl"] = ext۰syscall۰Sysctl + externals["syscall.SysctlUint32"] = ext۰syscall۰SysctlUint32 +} + +func ext۰syscall۰Sysctl(fr *frame, args []value) value { + r, err := syscall.Sysctl(args[0].(string)) + return tuple{r, wrapError(err)} +} + +func ext۰syscall۰SysctlUint32(fr *frame, args []value) value { + r, err := syscall.SysctlUint32(args[0].(string)) + return tuple{r, wrapError(err)} +}