2016-11-17 60 views
0

我正在使用以下命令将源文件(hello.c)编译为可执行文件(hello),并期望转储出可执行文件的DWARF信息。但是,无论使用“readelf -wi hello”还是“llvm-dwarfdump hello”,都不存在DWARF信息。我想知道哪里出了问题。为什么没有DWARF信息?

clang-3.5 -gdwarf-4 -O0 -emit-llvm -c hello.c -o hello.bc 
llc -dwarf-version=4 -O0 -filetype=obj hello.bc 
gcc hello.o -o hello 

回答

0

问题是由于clang和llvm之间的不匹配造成的。我用clang-3.5使用llvm-3.9。我通过将clang-3.5升级到clang-3.9来解决问题。具体来说,我将clang-3.9添加到llvm_src/tools,然后重新编译llvm。

相关问题