commit - 6b9887c7e5e26a4f7254104a9552e9a79c5489f7
commit + ef609927ddc476a061f137185794330b340b067a
blob - a8aaaa795524a553f0b8f183a1d2f20d57745e81
blob + 2b6d8f52756caef5c7f6ab1b6a5a20ed1738918d
--- src/cmd/venti/srv/arena.c
+++ src/cmd/venti/srv/arena.c
int
initarenasum(void)
{
+ needzeroscore(); /* OS X */
+
sumwait.l = &sumlock;
if(vtproc(sumproc, nil) < 0){
blob - 1c9dce3d1a7b6afe571df296ba8142a4710b0eec
blob + 07be62f4c0f5d2249fbd4f42c55b4ec5043f903c
--- src/cmd/venti/srv/dat.h
+++ src/cmd/venti/srv/dat.h
#pragma varargck type "V" uchar*
#define ODIRECT 0
#endif
+
blob - 263ccd30e8cc7e2df2b9853a73fb4c1f43044e3b
blob + 032e4b3b1bd71b5d3dc7275563e9a45c0a9654ad
--- src/cmd/venti/srv/fns.h
+++ src/cmd/venti/srv/fns.h
int namecmp(char *s, char *t);
void namecp(char *dst, char *src);
int nameok(char *name);
+void needzeroscore(void);
Arena *newarena(Part *part, u32int, char *name, u64int base, u64int size, u32int blocksize);
ArenaPart *newarenapart(Part *part, u32int blocksize, u32int tabsize);
ISect *newisect(Part *part, u32int vers, char *name, u32int blocksize, u32int tabsize);
blob - 0809e84f6468380cf41efd74b55daab069c16ae6
blob + f150fd78e2d68df2b138182ad06477696818e49b
--- src/cmd/venti/srv/score.c
+++ src/cmd/venti/srv/score.c
u8int zeroscore[VtScoreSize];
+/* Call this function to force linking of score.o for zeroscore on OS X */
+void needzeroscore(void) { }
+
void
scoremem(u8int *score, u8int *buf, int n)
{
blob - eb63d15d731afd5ca4b938d60a2c807c7dd461c6
blob + fbaff9cab345e558da07ade1fab15b156e13b302
--- src/cmd/venti/srv/verifyarena.c
+++ src/cmd/venti/srv/verifyarena.c
vlong start, stop;
ArenaPart ap;
+ needzeroscore();
ventifmtinstall();
blocksize = MaxIoSize;
ARGBEGIN{