From 100d67d0f493a2a80073bc98a9e53c5e38a8e337 Mon Sep 17 00:00:00 2001 From: Valery Ushakov Date: Thu, 12 Jan 2017 02:19:49 +0300 Subject: Revert dbaf2f1a92f6 and instead move initialization of "coherence" to emu/NetBSD/os.c As explained in inferno-os issue 335: > The definition of coherence deliberately takes advantage of a C rule > to avoid anyone having to change an existing fork of emu (eg, for a > new platform), to account for the arrival of "coherence". If a > given port doesn't define it, it will be nil and main will fill it > in. If as on Windows or now NetBSD, it needs to be defined from the > start, the os.c for that platform should do it, but still no other > platforms need source changes. --- emu/NetBSD/os.c | 4 ++++ emu/port/fns.h | 2 +- emu/port/main.c | 4 ---- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/emu/NetBSD/os.c b/emu/NetBSD/os.c index fa582a16..e299a188 100644 --- a/emu/NetBSD/os.c +++ b/emu/NetBSD/os.c @@ -13,6 +13,10 @@ #include "fns.h" #include "error.h" +/* For dynamic linking init/fini code that needs malloc */ +void (*coherence)(void) = nofence; + + enum { DELETE = 0x7f, diff --git a/emu/port/fns.h b/emu/port/fns.h index 36d341b7..6a0809c0 100644 --- a/emu/port/fns.h +++ b/emu/port/fns.h @@ -20,7 +20,7 @@ Dir* chandirstat(Chan*); void cinit(void); char* clipread(void); int clipwrite(char*); -extern void (*coherence)(void); +void (*coherence)(void); void copen(Chan*); void cmderror(Cmdbuf*, char*); Block* concatblock(Block*); diff --git a/emu/port/main.c b/emu/port/main.c index da1aa432..158f6b03 100644 --- a/emu/port/main.c +++ b/emu/port/main.c @@ -27,10 +27,6 @@ extern int mflag; ulong displaychan; char *cputype; -/* For dynamic linking init/fini code that needs malloc */ -void (*coherence)(void) = nofence; - - static void usage(void) { -- cgit v1.2.3