No description, website, or topics provided.
C++ LLVM Assembly C Objective-C Objective-C++ Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

SoftBoundCETS for LLVM-3.8.0

This is a README FILE for SoftBoundCETS pointer-based checking. For more technical details and algorithms, visit SoftBoundCETS website at

Using SoftBoundCETS with LLVM+CLANG-3.8.0 on a x86-64 machine with Linux OS

  1. Download the github repository from

  2. Build SoftBoundCETS for LLVM+CLANG 3.8.0

    1. Go to directory <git_repo>/llvm-38/ and execute the following commands

      mkdir build; cd build
    2. Configure and build LLVM, clang and softboundcets with the following commands

      cmake ..
      make -j8
  3. Set up your environment to use SoftBoundCETS

    For example in bash, it would be

    export PATH=<git_repo>/llvm-38/build/bin:$PATH
  4. Compile the SoftBoundCETS runtime library

    cd <git_repo>
    cd runtime
  5. Test whether it all worked

    1. Compile

      cd <git_repo>
      cd test
      clang -fsoftboundcets test.c -o test -L<git_repo>/runtime -lm -lrt -lsoftboundcets_rt
    2. Run the test program


      Enter 10; the program executes successfully.

      Enter 105; a memory safety violation is triggered.