URI: 
       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{