Downloading SAFECode


SAFECode is currently available for download in source code form either as a gzip'ed TAR archive (for some versions) or from our publicly available Subversion (SVN) repository. A binary release is also available for some platforms; it is a gzip'ed TAR archive of an installation of SAFECode (i.e., the final result of a "make install"). The directions on compiling and using SAFECode can be found on the documentation page.

SAFECode is available for different versions of LLVM. Please see the directions for the version of LLVM that you are using.

SAFECode for LLVM 3.2


These source and binary archives contain snapshots of SAFECode for the upcoming LLVM 3.2 release. Like SAFECode for LLVM 3.0, it contains a version of Clang with SAFECode integrated into it. Updates to the snapshot will occur as the software improves:

To get the version of SAFECode that works with LLVM 3.2, use the following SVN command to check out SAFECode trunk:

  • svn co http://llvm.org/svn/llvm-project/llvm/branches/release_32 llvm
  • cd llvm/projects
  • svn co http://llvm.org/svn/llvm-project/poolalloc/branches/release_32 poolalloc
  • svn co http://llvm.org/svn/llvm-project/safecode/branches/release_32 safecode

SAFECode for LLVM 3.0


These source and binary archives contain snapshots of SAFECode for LLVM 3.0. We are releasing it because the upcoming SAFECode release for LLVM 3.0 has SAFECode integrated into a custom version of the Clang front-end C/C++ compiler. This integration makes SAFECode much easier to use as an alternative to Valgrind. Updates to the snapshot will occur as the software improves:

  • Source Code (MD5 Checksum = 871cd35babd49c841deb5e0748ba3005 sc-30.tar.gz)

  • Mac OS X Binaries (MD5 Checksum = b9a2f67b970f0a94122ea55d8572671f sc-mac.30.tar.gz)

To get the version of SAFECode that works with LLVM 3.0, use the following SVN command to check out SAFECode trunk:

  • svn co http://llvm.org/svn/llvm-project/llvm/branches/release_30 llvm
  • cd llvm/projects
  • svn co http://llvm.org/svn/llvm-project/poolalloc/branches/release_30 poolalloc
  • svn co http://llvm.org/svn/llvm-project/safecode/branches/release_30 safecode

SAFECode for LLVM 2.7


To get the version of SAFECode that works with LLVM 2.7, use the following SVN commands to check out the release_27 branch:

  • svn co http://llvm.org/svn/llvm-project/llvm/branches/release_27 llvm27
  • cd llvm27/projects
  • svn co http://llvm.org/svn/llvm-project/poolalloc/branches/release_27 poolalloc
  • svn co http://llvm.org/svn/llvm-project/safecode/branches/release_27 safecode

SAFECode for LLVM 2.6


To get the version of SAFECode that works with LLVM 2.6, use the following SVN commands to check out the release_26 branch:

  • svn co http://llvm.org/svn/llvm-project/llvm/branches/release_26 llvm26
  • cd llvm26/projects
  • svn co http://llvm.org/svn/llvm-project/poolalloc/branches/release_26 poolalloc
  • svn co http://llvm.org/svn/llvm-project/safecode/branches/release_26 safecode