tOS X linker crap (John Nowak) - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit ef609927ddc476a061f137185794330b340b067a
DIR parent 6b9887c7e5e26a4f7254104a9552e9a79c5489f7
HTML Author: rsc <devnull@localhost>
Date: Thu, 3 May 2007 02:22:49 +0000
OS X linker crap (John Nowak)
Diffstat:
M src/cmd/venti/srv/arena.c | 2 ++
M src/cmd/venti/srv/dat.h | 1 +
M src/cmd/venti/srv/fns.h | 1 +
M src/cmd/venti/srv/score.c | 3 +++
M src/cmd/venti/srv/verifyarena.c | 1 +
5 files changed, 8 insertions(+), 0 deletions(-)
---
DIR diff --git a/src/cmd/venti/srv/arena.c b/src/cmd/venti/srv/arena.c
t@@ -28,6 +28,8 @@ int arenasumsleeptime;
int
initarenasum(void)
{
+ needzeroscore(); /* OS X */
+
sumwait.l = &sumlock;
if(vtproc(sumproc, nil) < 0){
DIR diff --git a/src/cmd/venti/srv/dat.h b/src/cmd/venti/srv/dat.h
t@@ -728,3 +728,4 @@ extern ulong stattime;
#pragma varargck type "V" uchar*
#define ODIRECT 0
#endif
+
DIR diff --git a/src/cmd/venti/srv/fns.h b/src/cmd/venti/srv/fns.h
t@@ -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);
DIR diff --git a/src/cmd/venti/srv/score.c b/src/cmd/venti/srv/score.c
t@@ -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)
{
DIR diff --git a/src/cmd/venti/srv/verifyarena.c b/src/cmd/venti/srv/verifyarena.c
t@@ -176,6 +176,7 @@ threadmain(int argc, char *argv[])
vlong start, stop;
ArenaPart ap;
+ needzeroscore();
ventifmtinstall();
blocksize = MaxIoSize;
ARGBEGIN{