-
We developed an example to test a clang/llvm/smack build before; that example is now incorporated with the rest of the examples. To experiment with weak symbols, I moved a few of the redefines into libdeker (lcd_enter, lcd_exit, lcd_printk). These override the liblcd versions. I also left the lcd_sync_call and lcd_sync_reply redefines in environment.c. There were a couple more clang fixes - one in the trampoline assembly. The gnu assembler accepts "movq mem, mem" as a pseudo instruction, but clang does not. Fixed the "make clean" target. Made some extra scripts so it's easier to build larger components (e.g. the entire microkernel, or all of libdeker - including the special liblcd build). The "main" required for Smack is in a "runtime" object file (sort of like the C runtime). This is in libdeker/deker_rt.c. Finally, I tweaked the LCD test module configuration so that you can build a subset of the test modules (and choose how to build them). This means you don't have to build everything (e.g., before, if a module wanted to be built as non-isolated, you'd have to have the microkernel built; but to get a successful microkernel build, you'd probably need a full kernel build).
be986326