diff --git a/go/src/v.io/x/lock/lock.vdl.go b/go/src/v.io/x/lock/lock.vdl.go
index f028659..7e03a3b 100644
--- a/go/src/v.io/x/lock/lock.vdl.go
+++ b/go/src/v.io/x/lock/lock.vdl.go
@@ -38,10 +38,32 @@
 }) {
 }
 
+func (m LockStatus) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
+	if err := t.FromInt(int64(m), __VDLType_lock_v_io_x_lock_LockStatus); err != nil {
+		return err
+	}
+	return nil
+}
+
+func (m LockStatus) MakeVDLTarget() vdl.Target {
+	return nil
+}
+
+func (m LockStatus) IsZero() bool {
+
+	var1 := (m == LockStatus(0))
+	return var1
+}
+
 func init() {
 	vdl.Register((*LockStatus)(nil))
 }
 
+var __VDLType_lock_v_io_x_lock_LockStatus *vdl.Type = vdl.TypeOf(LockStatus(0))
+
+func __VDLEnsureNativeBuilt_lock() {
+}
+
 const Locked = LockStatus(0)
 
 const Unlocked = LockStatus(1)
diff --git a/go/src/v.io/x/lock/lock/errors.vdl.go b/go/src/v.io/x/lock/lock/errors.vdl.go
index 8fd2585..68e1628 100644
--- a/go/src/v.io/x/lock/lock/errors.vdl.go
+++ b/go/src/v.io/x/lock/lock/errors.vdl.go
@@ -14,6 +14,9 @@
 	"v.io/v23/verror"
 )
 
+func __VDLEnsureNativeBuilt_errors() {
+}
+
 var (
 	ErrKeyRejected = verror.Register("v.io/x/lock/lock.KeyRejected", verror.NoRetry, "{1:}{2:} receiver rejected key {3} for lock {4}")
 )
diff --git a/go/src/v.io/x/lock/lockd/errors.vdl.go b/go/src/v.io/x/lock/lockd/errors.vdl.go
index 064e566..8fcf51a 100644
--- a/go/src/v.io/x/lock/lockd/errors.vdl.go
+++ b/go/src/v.io/x/lock/lockd/errors.vdl.go
@@ -14,6 +14,9 @@
 	"v.io/v23/verror"
 )
 
+func __VDLEnsureNativeBuilt_errors() {
+}
+
 var (
 	ErrLockAlreadyClaimed = verror.Register("v.io/x/lock/lockd.LockAlreadyClaimed", verror.NoRetry, "{1:}{2:} lock has already been claimed")
 	ErrInvalidLockName    = verror.Register("v.io/x/lock/lockd.InvalidLockName", verror.NoRetry, "{1:}{2:} invalid lock name ({3}: cannot contain {4})")
