> make 9vx/9vx on 10.5.3 that fails with:
gcc -g -O3 -MD -std=gnu99 -I. -I. -I9vx -I9vx/a -Wall -Wno-missing-braces -c -o 9vx/main.o 9vx/main.c 9vx/main.c: In function 'sigsegv': 9vx/main.c:491: error: 'struct __darwin_mcontext32' has no member named 'es' 9vx/main.c:492: error: 'struct __darwin_mcontext32' has no member named 'ss' 9vx/main.c:493: error: 'struct __darwin_mcontext32' has no member named 'ss' make: *** [9vx/main.o] Error 1 turns out that osx exposes __es and __ss for mcontext in /usr/include/mach/i386/_structs.h. this fixes it: gcc -D__DARWIN_UNIX03=0 -g -O3 -MD -std=gnu99 -I. -I. -I9vx -I9vx/a -Wall -Wno-missing-braces -c -o 9vx/main.o 9vx/main.c a bit later on: gcc -Ilibvx32 -c -g -O3 -MD -std=gnu99 -I. -o libvx32/emu.o libvx32/emu.c libvx32/emu.c: In function 'vxproc_run': libvx32/emu.c:1796: error: storage size of 'env' isn't known make: *** [libvx32/emu.o] Error 1 is fixed identically by: gcc -D__DARWIN_UNIX03=0 -Ilibvx32 -c -g -O3 -MD -std=gnu99 -I. -o libvx32/emu.o libvx32/emu.c and then later on we fail with: gcc -g -O3 -MD -std=gnu99 -I. -I. -I9vx -I9vx/a -Wall -Wno-missing-braces -c -o 9vx/stub.o 9vx/stub.c make: *** No rule to make target `libvx32/darwin-asm.o', needed by `libvx32/libvx32.a'. Stop. and darwin-asm.S just seems to be missing everywhere. in fact, there is no definition for vx32_getcontext: $ find . -type f | xargs grep vx32_getcontext ./libvx32/emu.c: if(vx32_getcontext(&env)){ Binary file ./libvx32/emu.o matches ./libvx32/vx32impl.h:int vx32_getcontext(struct i386_thread_state*); $