Commit Diff


commit - 760f2fb6a9d0ce3b3deffae2ddcd799a9347337c
commit + 6519f89515fdc8a30ff45209a9f25bf2992707de
blob - d829578ecb48467e56e2e06b531b6fd161efa3a1
blob + 834c1acc2721262839f367a28dc877a05b2664ed
--- src/libdiskfs/file.c
+++ src/libdiskfs/file.c
@@ -3,6 +3,7 @@
 #include <diskfs.h>
 
 int nfilereads;
+void _nfilereads_darwin_sucks(void) { }
 
 typedef struct DiskFile DiskFile;
 struct DiskFile
blob - f0e8a841f4425dc6d32983c2f926c7e8fc6f1f81
blob + 4830439c404d3356b1cc25938b62d2e6bae9623b
--- src/libdiskfs/venti.c
+++ src/libdiskfs/venti.c
@@ -14,6 +14,7 @@ struct DiskVenti
 };
 
 extern int nfilereads;
+extern void _nfilereads_darwin_sucks(void);
 
 /*
  * This part is like file.c but doesn't require storing the root block
@@ -155,6 +156,8 @@ diskopenventi(VtCache *c, uchar score[VtScoreSize])
 Err:
 	if(b)
 		vtblockput(b);
+
+	_nfilereads_darwin_sucks();  /* force Darwin ld to pull in file.o */
 	return nil;
 }