plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit ef609927ddc476a061f137185794330b340b067a
parent 6b9887c7e5e26a4f7254104a9552e9a79c5489f7
Author: rsc <devnull@localhost>
Date:   Thu,  3 May 2007 02:22:49 +0000

OS X linker crap (John Nowak)

Diffstat:
Msrc/cmd/venti/srv/arena.c | 2++
Msrc/cmd/venti/srv/dat.h | 1+
Msrc/cmd/venti/srv/fns.h | 1+
Msrc/cmd/venti/srv/score.c | 3+++
Msrc/cmd/venti/srv/verifyarena.c | 1+
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{