Skip to content
  • Charles Jacobsen's avatar
    deker-setup: Original llvm example builds, but Smack crashes. · be986326
    Charles Jacobsen authored and Vikram Narayanan's avatar Vikram Narayanan committed
    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