diff --git a/go/ssa/interp/external.go b/go/ssa/interp/external.go
index 65fe4ba..84c1dd8 100644
--- a/go/ssa/interp/external.go
+++ b/go/ssa/interp/external.go
@@ -113,6 +113,7 @@
 		"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
@@ -136,6 +137,7 @@
 		"sync/atomic.LoadUint64":           ext۰atomic۰LoadUint64,
 		"sync/atomic.StoreInt64":           ext۰atomic۰StoreInt64,
 		"sync/atomic.StoreUint64":          ext۰atomic۰StoreUint64,
+		"testing.callerEntry":              ext۰testing۰callerEntry,
 		"testing.runExample":               ext۰testing۰runExample,
 		"time.Sleep":                       ext۰time۰Sleep,
 		"time.now":                         ext۰time۰now,
@@ -279,7 +281,7 @@
 		}
 	}
 	i := 0
-	for fr != nil {
+	for fr != nil && i < len(pc) {
 		pc[i] = uintptr(unsafe.Pointer(fr.fn))
 		i++
 		fr = fr.caller
@@ -308,6 +310,11 @@
 	return os.Getenv("GOROOT")
 }
 
+func ext۰strings۰Count(fr *frame, args []value) value {
+	// Call compiled version to avoid asm dependency.
+	return strings.Count(args[0].(string), args[1].(string))
+}
+
 func ext۰strings۰IndexByte(fr *frame, args []value) value {
 	// Call compiled version to avoid asm dependency.
 	return strings.IndexByte(args[0].(string), args[1].(byte))
@@ -515,6 +522,10 @@
 	return true
 }
 
+func ext۰testing۰callerEntry(fr *frame, args []value) value {
+	return uintptr(0) // bogus implementation for now
+}
+
 func ext۰time۰now(fr *frame, args []value) value {
 	nano := time.Now().UnixNano()
 	return tuple{int64(nano / 1e9), int32(nano % 1e9), int64(0)}
