commit ef609927ddc476a061f137185794330b340b067a
parent 6b9887c7e5e26a4f7254104a9552e9a79c5489f7
Author: rsc <devnull@localhost>
Date: Thu, 3 May 2007 02:22:49 +0000
OS X linker crap (John Nowak)
Diffstat:
5 files changed, 8 insertions(+), 0 deletions(-)
diff --git 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
@@ -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
@@ -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
@@ -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
@@ -176,6 +176,7 @@ threadmain(int argc, char *argv[])
vlong start, stop;
ArenaPart ap;
+ needzeroscore();
ventifmtinstall();
blocksize = MaxIoSize;
ARGBEGIN{