静态数据竞争检测工具都是基于中间语言开发的,在安装之前必须要先安装Ocaml和CIL
如果安装过程中发现缺少一些包,可使用apt-get自行安装
首先介绍LOCKSMITH的安装,可参考这里
1. 下载Ocaml3.10,解压,执行下面步骤
./configure
make world
make opt
umask 022
sudo make install
make clean
以上均为必要安装步骤,可选安装步骤可参考INSTALL文件
Ocaml安装完毕之后,就可以进行LOCKSMITH的安装了
2. 下载LOCKSMITH V1.0版本,解压
进入到cil目录,执行下面命令
./configure
make
make check
进入到../banshee目录,使用补丁文件替换掉engine目录中的如下文件
flowrow-sort.c
persist.c
setif-sort.c
setif-var.c
term-sort.c
nonspec.c
替换掉dyckcfl目录中的dyckcfl-replay.c
替换掉tests目录中的dyckcfl-test.c文件
补丁文件详见这里
然后回到locksmith根目录,执行下面命令
./configure
make
到此,locksmith安装完毕
使用如下命令测试(选择一个源文件,.c结尾)
locksmith/cil/bin/cilly --merge *.c