Closed domainexpert closed 7 years ago
In the README.md there is an instruction to compile sign32.c as follows.
README.md
sign32.c
gcc -Ivalgrind-x.x.x/taintgrind/ -Ivalgrind-x.xx.x/include/ -g sign32.c -o sign32
However, compiling in the above manner resulted in Z3 errors (on x86_64 Ubuntu 14.04 Linux 3.19.0).
(error "line 25 column 29: Sorts (_ BitVec 32) and (_ BitVec 64) are incompatible") (error "line 40 column 28: Sorts (_ BitVec 32) and (_ BitVec 64) are incompatible") (error "line 67 column 30: Sorts (_ BitVec 32) and (_ BitVec 64) are incompatible") ... (error "line 104 column 30: Sorts (_ BitVec 32) and (_ BitVec 64) are incompatible") unsat (error "line 127 column 10: model is not available")
with only one solution produced by Z3. The error disappeared when I included -m32 option when compiling sign32.c in the following way:
-m32
gcc -Ivalgrind-x.x.x/taintgrind/ -Ivalgrind-x.xx.x/include/ -m32 -g sign32.c -o sign32
The same problem and resolution apply to sign64.c as well. Perhaps README.md should indicate that -m32 may be needed.
sign64.c
In the
README.md
there is an instruction to compilesign32.c
as follows.However, compiling in the above manner resulted in Z3 errors (on x86_64 Ubuntu 14.04 Linux 3.19.0).
with only one solution produced by Z3. The error disappeared when I included
-m32
option when compilingsign32.c
in the following way:The same problem and resolution apply to
sign64.c
as well. PerhapsREADME.md
should indicate that-m32
may be needed.