No matter what combination of compiler I use (llvm-gcc, gcc-4.2, clang), I cannot get syn68k to compile under Lion. I was able to get it to compile under Snow Leopard by using gcc-4.0.
On gcc-4.2, the static linker throws an assertion error, "Assertion failed: (_file->_atomsArrayCount == computedAtomCount && "more atoms allocated than expected"), function parse, file /SourceCache/ld64/ld64-123.2.1/src/ld/parsers/macho_relocatable_file.cpp, line 1545."
GCC-llvm, there's an internal compiler error: "syn68k.c:52968: internal compiler error: in EmitLV_DECL, at llvm-convert.cpp:7475"
Clang doesn't support global register variables.
I just got a Lion based machine yesterday. I don't have any free time in the foreseeable future to play with this, but Syn68k is heavily gcc dependent, so any fix will require using gcc.
I haven't really played much with any of this in a long time. Perhaps there's a linker-based flag that can disable something (source caching?) that is getting in the way.