This is a README FILE for SoftBoundCETS pointer-based checking. For more technical details and algorithms, visit SoftBoundCETS website at http://www.cs.rutgers.edu/~santosh.nagarakatte/softbound/
-
Download the github repository from https://github.com/santoshn/softboundcets-3.8.0.git
-
Build SoftBoundCETS for LLVM+CLANG 3.8.0
-
Go to directory <git_repo>/llvm-38/ and execute the following commands
mkdir build; cd build
-
Configure and build LLVM, clang and softboundcets with the following commands
cmake .. make -j8
-
-
Set up your environment to use SoftBoundCETS
For example in bash, it would be
export PATH=<git_repo>/llvm-38/build/bin:$PATH
-
Compile the SoftBoundCETS runtime library
cd <git_repo> cd runtime make
-
Test whether it all worked
-
Compile
cd <git_repo> cd test clang -fsoftboundcets test.c -o test -L<git_repo>/runtime -lm -lrt -lsoftboundcets_rt
-
Run the test program
./test
Enter 10; the program executes successfully.
Enter 105; a memory safety violation is triggered.
-