eurecom-s3 / symcc

SymCC: efficient compiler-based symbolic execution
http://www.s3.eurecom.fr/tools/symbolic_execution/symcc.html
GNU General Public License v3.0
773 stars 135 forks source link

Tests fail due to undefined symbol _ZN4llvm15SmallVectorBase8grow_podEPvmm: libSymbolize.so #33

Closed zipy124 closed 3 years ago

zipy124 commented 3 years ago

Hi, I'm trying to compile symCC, I've managed to install all the dependencies and ninja builds correctly but all the tests fail, and attempting to run ./symcc also results in this same error as the tests.

The exact log I get for each of the tests is as follows:

clang-11: error: unable to execute command: No such file or directory
clang-11: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 11.0.0 (Fedora 11.0.0-2.fc33)

I'm unsure what the cause of this is, or how to solve it and was hoping you might be able to help. The only thought I have is that its looking for some sort of Vector instruction, (Since Vector is in the symbol name) which I'm aware from reading the paper that symcc does not support, hence its position in LLVMs optimization stack.

Its possible I'm simply being an idiot and doing something wrong, please tell me if that's so!

Thanks

Edit: I further looked into libSymbolize.so using 'nm' and indeed find that the symbol is undefined:

U _ZN4llvm15SmallVectorBase8grow_podEPvmm

Whereas most other symbols are of type 'W' meaning a weak symbol, with a default specified (I think).

I also realise I am using clang 11.0.0, which perhaps explains this, as I believe clang 11 is linked to llvm 11 which this project does not support, despite me building with llvm10?

zipy124 commented 3 years ago

Fixed: Uninstall clang11 and install clang10, I was correct.