Running RV-Predict/C
RV-Predict/C works in two steps. First, $ rvpc file.c
creates an instrumented version of a multithreaded C program (rvpc
is just a wrapper for our customized version of clang compiler). Second, $ ./a.out
runs the program and performs offline data-race analysis.
rvpc file.c
./a.out
For C++ programs, just use rvpc++ file.cpp
as shown below:
rvpc++ file.cpp
./a.out
To use RV-Predict/C with a piece of software that is configured using GNU Autoconf, use the following command:
CC=rvpc CXX=rvpc++ LD=rvpld ./configure
To use RV-Predict/C on a project that uses a makefile but does not use GNU autoconf, provide a CC variable on the command line:
make <target> CC=rvpc CXX=rvpc++ LD=rvpld
Note: if your code uses g++
or clang++
, then replace rvpc
with rvpc++
.