From ef609927ddc476a061f137185794330b340b067a Mon Sep 17 00:00:00 2001 From: rsc Date: Thu, 3 May 2007 02:22:49 +0000 Subject: OS X linker crap (John Nowak) --- src/cmd/venti/srv/arena.c | 2 ++ src/cmd/venti/srv/dat.h | 1 + src/cmd/venti/srv/fns.h | 1 + src/cmd/venti/srv/score.c | 3 +++ src/cmd/venti/srv/verifyarena.c | 1 + 5 files changed, 8 insertions(+) (limited to 'src/cmd/venti') diff --git a/src/cmd/venti/srv/arena.c b/src/cmd/venti/srv/arena.c index a8aaaa79..2b6d8f52 100644 --- a/src/cmd/venti/srv/arena.c +++ b/src/cmd/venti/srv/arena.c @@ -28,6 +28,8 @@ int arenasumsleeptime; int initarenasum(void) { + needzeroscore(); /* OS X */ + sumwait.l = &sumlock; if(vtproc(sumproc, nil) < 0){ diff --git a/src/cmd/venti/srv/dat.h b/src/cmd/venti/srv/dat.h index 1c9dce3d..07be62f4 100644 --- a/src/cmd/venti/srv/dat.h +++ b/src/cmd/venti/srv/dat.h @@ -728,3 +728,4 @@ extern ulong stattime; #pragma varargck type "V" uchar* #define ODIRECT 0 #endif + diff --git a/src/cmd/venti/srv/fns.h b/src/cmd/venti/srv/fns.h index 263ccd30..032e4b3b 100644 --- a/src/cmd/venti/srv/fns.h +++ b/src/cmd/venti/srv/fns.h @@ -105,6 +105,7 @@ uint msec(void); 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); diff --git a/src/cmd/venti/srv/score.c b/src/cmd/venti/srv/score.c index 0809e84f..f150fd78 100644 --- a/src/cmd/venti/srv/score.c +++ b/src/cmd/venti/srv/score.c @@ -4,6 +4,9 @@ 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) { diff --git a/src/cmd/venti/srv/verifyarena.c b/src/cmd/venti/srv/verifyarena.c index eb63d15d..fbaff9ca 100644 --- a/src/cmd/venti/srv/verifyarena.c +++ b/src/cmd/venti/srv/verifyarena.c @@ -176,6 +176,7 @@ threadmain(int argc, char *argv[]) vlong start, stop; ArenaPart ap; + needzeroscore(); ventifmtinstall(); blocksize = MaxIoSize; ARGBEGIN{ -- cgit v1.2.3