diff --git a/go/ssa/interp/external.go b/go/ssa/interp/external.go
index 34442ca..2c4dcc7 100644
--- a/go/ssa/interp/external.go
+++ b/go/ssa/interp/external.go
@@ -32,118 +32,119 @@
 func init() {
 	// That little dot ۰ is an Arabic zero numeral (U+06F0), categories [Nd].
 	for k, v := range map[string]externalFn{
-		"(*sync.Pool).Get":                 ext۰sync۰Pool۰Get,
-		"(*sync.Pool).Put":                 ext۰nop,
-		"(reflect.Value).Bool":             ext۰reflect۰Value۰Bool,
-		"(reflect.Value).CanAddr":          ext۰reflect۰Value۰CanAddr,
-		"(reflect.Value).CanInterface":     ext۰reflect۰Value۰CanInterface,
-		"(reflect.Value).Elem":             ext۰reflect۰Value۰Elem,
-		"(reflect.Value).Field":            ext۰reflect۰Value۰Field,
-		"(reflect.Value).Float":            ext۰reflect۰Value۰Float,
-		"(reflect.Value).Index":            ext۰reflect۰Value۰Index,
-		"(reflect.Value).Int":              ext۰reflect۰Value۰Int,
-		"(reflect.Value).Interface":        ext۰reflect۰Value۰Interface,
-		"(reflect.Value).IsNil":            ext۰reflect۰Value۰IsNil,
-		"(reflect.Value).IsValid":          ext۰reflect۰Value۰IsValid,
-		"(reflect.Value).Kind":             ext۰reflect۰Value۰Kind,
-		"(reflect.Value).Len":              ext۰reflect۰Value۰Len,
-		"(reflect.Value).MapIndex":         ext۰reflect۰Value۰MapIndex,
-		"(reflect.Value).MapKeys":          ext۰reflect۰Value۰MapKeys,
-		"(reflect.Value).NumField":         ext۰reflect۰Value۰NumField,
-		"(reflect.Value).NumMethod":        ext۰reflect۰Value۰NumMethod,
-		"(reflect.Value).Pointer":          ext۰reflect۰Value۰Pointer,
-		"(reflect.Value).Set":              ext۰reflect۰Value۰Set,
-		"(reflect.Value).String":           ext۰reflect۰Value۰String,
-		"(reflect.Value).Type":             ext۰reflect۰Value۰Type,
-		"(reflect.Value).Uint":             ext۰reflect۰Value۰Uint,
-		"(reflect.error).Error":            ext۰reflect۰error۰Error,
-		"(reflect.rtype).Bits":             ext۰reflect۰rtype۰Bits,
-		"(reflect.rtype).Elem":             ext۰reflect۰rtype۰Elem,
-		"(reflect.rtype).Field":            ext۰reflect۰rtype۰Field,
-		"(reflect.rtype).In":               ext۰reflect۰rtype۰In,
-		"(reflect.rtype).Kind":             ext۰reflect۰rtype۰Kind,
-		"(reflect.rtype).NumField":         ext۰reflect۰rtype۰NumField,
-		"(reflect.rtype).NumIn":            ext۰reflect۰rtype۰NumIn,
-		"(reflect.rtype).NumMethod":        ext۰reflect۰rtype۰NumMethod,
-		"(reflect.rtype).NumOut":           ext۰reflect۰rtype۰NumOut,
-		"(reflect.rtype).Out":              ext۰reflect۰rtype۰Out,
-		"(reflect.rtype).Size":             ext۰reflect۰rtype۰Size,
-		"(reflect.rtype).String":           ext۰reflect۰rtype۰String,
-		"bytes.init":                       ext۰nop, // avoid asm dependency
-		"bytes.Equal":                      ext۰bytes۰Equal,
-		"bytes.IndexByte":                  ext۰bytes۰IndexByte,
-		"hash/crc32.haveSSE42":             ext۰crc32۰haveSSE42,
-		"internal/cpu.cpuid":               ext۰cpu۰cpuid,
-		"math.Abs":                         ext۰math۰Abs,
-		"math.Exp":                         ext۰math۰Exp,
-		"math.Float32bits":                 ext۰math۰Float32bits,
-		"math.Float32frombits":             ext۰math۰Float32frombits,
-		"math.Float64bits":                 ext۰math۰Float64bits,
-		"math.Float64frombits":             ext۰math۰Float64frombits,
-		"math.Ldexp":                       ext۰math۰Ldexp,
-		"math.Log":                         ext۰math۰Log,
-		"math.Min":                         ext۰math۰Min,
-		"math.hasSSE4":                     ext۰math۰hasSSE4,
-		"math.hasVectorFacility":           ext۰math۰hasVectorFacility,
-		"os.runtime_args":                  ext۰os۰runtime_args,
-		"os.runtime_beforeExit":            ext۰nop,
-		"os/signal.init":                   ext۰nop,
-		"reflect.New":                      ext۰reflect۰New,
-		"reflect.SliceOf":                  ext۰reflect۰SliceOf,
-		"reflect.TypeOf":                   ext۰reflect۰TypeOf,
-		"reflect.ValueOf":                  ext۰reflect۰ValueOf,
-		"reflect.Zero":                     ext۰reflect۰Zero,
-		"reflect.init":                     ext۰reflect۰Init,
-		"reflect.valueInterface":           ext۰reflect۰valueInterface,
-		"runtime.Breakpoint":               ext۰runtime۰Breakpoint,
-		"runtime.Caller":                   ext۰runtime۰Caller,
-		"runtime.Callers":                  ext۰runtime۰Callers,
-		"runtime.FuncForPC":                ext۰runtime۰FuncForPC,
-		"runtime.GC":                       ext۰runtime۰GC,
-		"runtime.GOMAXPROCS":               ext۰runtime۰GOMAXPROCS,
-		"runtime.Goexit":                   ext۰runtime۰Goexit,
-		"runtime.Gosched":                  ext۰runtime۰Gosched,
-		"runtime.init":                     ext۰nop,
-		"runtime.KeepAlive":                ext۰nop,
-		"runtime.NumCPU":                   ext۰runtime۰NumCPU,
-		"runtime.NumGoroutine":             ext۰runtime۰NumGoroutine,
-		"runtime.ReadMemStats":             ext۰runtime۰ReadMemStats,
-		"runtime.SetFinalizer":             ext۰nop, // ignore
-		"(*runtime.Func).Entry":            ext۰runtime۰Func۰Entry,
-		"(*runtime.Func).FileLine":         ext۰runtime۰Func۰FileLine,
-		"(*runtime.Func).Name":             ext۰runtime۰Func۰Name,
-		"runtime.environ":                  ext۰runtime۰environ,
-		"runtime.getgoroot":                ext۰runtime۰getgoroot,
-		"strings.init":                     ext۰nop, // avoid asm dependency
-		"strings.Count":                    ext۰strings۰Count,
-		"strings.Index":                    ext۰strings۰Index,
-		"strings.IndexByte":                ext۰strings۰IndexByte,
-		"sync.runtime_Semacquire":          ext۰nop, // unimplementable
-		"sync.runtime_Semrelease":          ext۰nop, // unimplementable
-		"sync.runtime_Syncsemcheck":        ext۰nop, // unimplementable
-		"sync.runtime_notifyListCheck":     ext۰nop,
-		"sync.runtime_registerPoolCleanup": ext۰nop,
-		"sync/atomic.AddInt32":             ext۰atomic۰AddInt32,
-		"sync/atomic.AddUint32":            ext۰atomic۰AddUint32,
-		"sync/atomic.CompareAndSwapInt32":  ext۰atomic۰CompareAndSwapInt32,
-		"sync/atomic.CompareAndSwapUint32": ext۰atomic۰CompareAndSwapUint32,
-		"sync/atomic.LoadInt32":            ext۰atomic۰LoadInt32,
-		"sync/atomic.LoadUint32":           ext۰atomic۰LoadUint32,
-		"sync/atomic.StoreInt32":           ext۰atomic۰StoreInt32,
-		"sync/atomic.StoreUint32":          ext۰atomic۰StoreUint32,
-		"sync/atomic.AddInt64":             ext۰atomic۰AddInt64,
-		"sync/atomic.AddUint64":            ext۰atomic۰AddUint64,
-		"sync/atomic.CompareAndSwapInt64":  ext۰atomic۰CompareAndSwapInt64,
-		"sync/atomic.CompareAndSwapUint64": ext۰atomic۰CompareAndSwapUint64,
-		"sync/atomic.LoadInt64":            ext۰atomic۰LoadInt64,
-		"sync/atomic.LoadUint64":           ext۰atomic۰LoadUint64,
-		"sync/atomic.StoreInt64":           ext۰atomic۰StoreInt64,
-		"sync/atomic.StoreUint64":          ext۰atomic۰StoreUint64,
-		"(*sync/atomic.Value).Load":        ext۰atomic۰ValueLoad,
-		"(*sync/atomic.Value).Store":       ext۰atomic۰ValueStore,
-		"testing.MainStart":                ext۰testing۰MainStart,
-		"time.Sleep":                       ext۰time۰Sleep,
-		"time.now":                         ext۰time۰now,
+		"(*sync.Pool).Get":                    ext۰sync۰Pool۰Get,
+		"(*sync.Pool).Put":                    ext۰nop,
+		"(reflect.Value).Bool":                ext۰reflect۰Value۰Bool,
+		"(reflect.Value).CanAddr":             ext۰reflect۰Value۰CanAddr,
+		"(reflect.Value).CanInterface":        ext۰reflect۰Value۰CanInterface,
+		"(reflect.Value).Elem":                ext۰reflect۰Value۰Elem,
+		"(reflect.Value).Field":               ext۰reflect۰Value۰Field,
+		"(reflect.Value).Float":               ext۰reflect۰Value۰Float,
+		"(reflect.Value).Index":               ext۰reflect۰Value۰Index,
+		"(reflect.Value).Int":                 ext۰reflect۰Value۰Int,
+		"(reflect.Value).Interface":           ext۰reflect۰Value۰Interface,
+		"(reflect.Value).IsNil":               ext۰reflect۰Value۰IsNil,
+		"(reflect.Value).IsValid":             ext۰reflect۰Value۰IsValid,
+		"(reflect.Value).Kind":                ext۰reflect۰Value۰Kind,
+		"(reflect.Value).Len":                 ext۰reflect۰Value۰Len,
+		"(reflect.Value).MapIndex":            ext۰reflect۰Value۰MapIndex,
+		"(reflect.Value).MapKeys":             ext۰reflect۰Value۰MapKeys,
+		"(reflect.Value).NumField":            ext۰reflect۰Value۰NumField,
+		"(reflect.Value).NumMethod":           ext۰reflect۰Value۰NumMethod,
+		"(reflect.Value).Pointer":             ext۰reflect۰Value۰Pointer,
+		"(reflect.Value).Set":                 ext۰reflect۰Value۰Set,
+		"(reflect.Value).String":              ext۰reflect۰Value۰String,
+		"(reflect.Value).Type":                ext۰reflect۰Value۰Type,
+		"(reflect.Value).Uint":                ext۰reflect۰Value۰Uint,
+		"(reflect.error).Error":               ext۰reflect۰error۰Error,
+		"(reflect.rtype).Bits":                ext۰reflect۰rtype۰Bits,
+		"(reflect.rtype).Elem":                ext۰reflect۰rtype۰Elem,
+		"(reflect.rtype).Field":               ext۰reflect۰rtype۰Field,
+		"(reflect.rtype).In":                  ext۰reflect۰rtype۰In,
+		"(reflect.rtype).Kind":                ext۰reflect۰rtype۰Kind,
+		"(reflect.rtype).NumField":            ext۰reflect۰rtype۰NumField,
+		"(reflect.rtype).NumIn":               ext۰reflect۰rtype۰NumIn,
+		"(reflect.rtype).NumMethod":           ext۰reflect۰rtype۰NumMethod,
+		"(reflect.rtype).NumOut":              ext۰reflect۰rtype۰NumOut,
+		"(reflect.rtype).Out":                 ext۰reflect۰rtype۰Out,
+		"(reflect.rtype).Size":                ext۰reflect۰rtype۰Size,
+		"(reflect.rtype).String":              ext۰reflect۰rtype۰String,
+		"bytes.init":                          ext۰nop, // avoid asm dependency
+		"bytes.Equal":                         ext۰bytes۰Equal,
+		"bytes.IndexByte":                     ext۰bytes۰IndexByte,
+		"hash/crc32.haveSSE42":                ext۰crc32۰haveSSE42,
+		"internal/cpu.cpuid":                  ext۰cpu۰cpuid,
+		"internal/syscall/unix.syscall_fcntl": ext۰syscall۰unix۰syscall_fcntl,
+		"math.Abs":                            ext۰math۰Abs,
+		"math.Exp":                            ext۰math۰Exp,
+		"math.Float32bits":                    ext۰math۰Float32bits,
+		"math.Float32frombits":                ext۰math۰Float32frombits,
+		"math.Float64bits":                    ext۰math۰Float64bits,
+		"math.Float64frombits":                ext۰math۰Float64frombits,
+		"math.Ldexp":                          ext۰math۰Ldexp,
+		"math.Log":                            ext۰math۰Log,
+		"math.Min":                            ext۰math۰Min,
+		"math.hasSSE4":                        ext۰math۰hasSSE4,
+		"math.hasVectorFacility":              ext۰math۰hasVectorFacility,
+		"os.runtime_args":                     ext۰os۰runtime_args,
+		"os.runtime_beforeExit":               ext۰nop,
+		"os/signal.init":                      ext۰nop,
+		"reflect.New":                         ext۰reflect۰New,
+		"reflect.SliceOf":                     ext۰reflect۰SliceOf,
+		"reflect.TypeOf":                      ext۰reflect۰TypeOf,
+		"reflect.ValueOf":                     ext۰reflect۰ValueOf,
+		"reflect.Zero":                        ext۰reflect۰Zero,
+		"reflect.init":                        ext۰reflect۰Init,
+		"reflect.valueInterface":              ext۰reflect۰valueInterface,
+		"runtime.Breakpoint":                  ext۰runtime۰Breakpoint,
+		"runtime.Caller":                      ext۰runtime۰Caller,
+		"runtime.Callers":                     ext۰runtime۰Callers,
+		"runtime.FuncForPC":                   ext۰runtime۰FuncForPC,
+		"runtime.GC":                          ext۰runtime۰GC,
+		"runtime.GOMAXPROCS":                  ext۰runtime۰GOMAXPROCS,
+		"runtime.Goexit":                      ext۰runtime۰Goexit,
+		"runtime.Gosched":                     ext۰runtime۰Gosched,
+		"runtime.init":                        ext۰nop,
+		"runtime.KeepAlive":                   ext۰nop,
+		"runtime.NumCPU":                      ext۰runtime۰NumCPU,
+		"runtime.NumGoroutine":                ext۰runtime۰NumGoroutine,
+		"runtime.ReadMemStats":                ext۰runtime۰ReadMemStats,
+		"runtime.SetFinalizer":                ext۰nop, // ignore
+		"(*runtime.Func).Entry":               ext۰runtime۰Func۰Entry,
+		"(*runtime.Func).FileLine":            ext۰runtime۰Func۰FileLine,
+		"(*runtime.Func).Name":                ext۰runtime۰Func۰Name,
+		"runtime.environ":                     ext۰runtime۰environ,
+		"runtime.getgoroot":                   ext۰runtime۰getgoroot,
+		"strings.init":                        ext۰nop, // avoid asm dependency
+		"strings.Count":                       ext۰strings۰Count,
+		"strings.Index":                       ext۰strings۰Index,
+		"strings.IndexByte":                   ext۰strings۰IndexByte,
+		"sync.runtime_Semacquire":             ext۰nop, // unimplementable
+		"sync.runtime_Semrelease":             ext۰nop, // unimplementable
+		"sync.runtime_Syncsemcheck":           ext۰nop, // unimplementable
+		"sync.runtime_notifyListCheck":        ext۰nop,
+		"sync.runtime_registerPoolCleanup":    ext۰nop,
+		"sync/atomic.AddInt32":                ext۰atomic۰AddInt32,
+		"sync/atomic.AddUint32":               ext۰atomic۰AddUint32,
+		"sync/atomic.CompareAndSwapInt32":     ext۰atomic۰CompareAndSwapInt32,
+		"sync/atomic.CompareAndSwapUint32":    ext۰atomic۰CompareAndSwapUint32,
+		"sync/atomic.LoadInt32":               ext۰atomic۰LoadInt32,
+		"sync/atomic.LoadUint32":              ext۰atomic۰LoadUint32,
+		"sync/atomic.StoreInt32":              ext۰atomic۰StoreInt32,
+		"sync/atomic.StoreUint32":             ext۰atomic۰StoreUint32,
+		"sync/atomic.AddInt64":                ext۰atomic۰AddInt64,
+		"sync/atomic.AddUint64":               ext۰atomic۰AddUint64,
+		"sync/atomic.CompareAndSwapInt64":     ext۰atomic۰CompareAndSwapInt64,
+		"sync/atomic.CompareAndSwapUint64":    ext۰atomic۰CompareAndSwapUint64,
+		"sync/atomic.LoadInt64":               ext۰atomic۰LoadInt64,
+		"sync/atomic.LoadUint64":              ext۰atomic۰LoadUint64,
+		"sync/atomic.StoreInt64":              ext۰atomic۰StoreInt64,
+		"sync/atomic.StoreUint64":             ext۰atomic۰StoreUint64,
+		"(*sync/atomic.Value).Load":           ext۰atomic۰ValueLoad,
+		"(*sync/atomic.Value).Store":          ext۰atomic۰ValueStore,
+		"testing.MainStart":                   ext۰testing۰MainStart,
+		"time.Sleep":                          ext۰time۰Sleep,
+		"time.now":                            ext۰time۰now,
 	} {
 		externals[k] = v
 	}
@@ -500,6 +501,10 @@
 	return tuple{uint32(0), uint32(0), uint32(0), uint32(0)}
 }
 
+func ext۰syscall۰unix۰syscall_fcntl(fr *frame, args []value) value {
+	return tuple{int(0), wrapError(nil)}
+}
+
 // Pretend: type runtime.Func struct { entry *ssa.Function }
 
 func ext۰runtime۰Func۰FileLine(fr *frame, args []value) value {
