Clang 动态内存分析器未引用源代码 Red Hat 6.3



我们最近使用 Fedora 20 打包过程作为解包指南构建了 clang/llvm 的 3.3 版本,将不同的部分移动到正确的位置并构建编译器工具链。除了动态内存分析器未引用源代码外,所有内容似乎都正常工作。Fedora 平台上的相同用法确实引用了源代码。

这是我们第一次尝试使用 clang/llvm 工具集。这也是这个论坛中提出的第一个问题,它的组织似乎与我参加过的所有其他问题略有不同,所以如果我没有弄清楚在这里发布问题的细微差别,我提前道歉。主要项目似乎没有提问的方式似乎很奇怪。

我们找到了一个解决方案,不知道为什么我们需要添加额外的环境设置。编译如下:PATH=/net/fas4045/home3/jq031c/llvm_sandbox/bin:$PATH make -j 16DEPFILES= CXX=clang++ CC=clang CXXFLAGS="-fsanitize=memory-fsanitize-memory-track-origins -fno-omit-frame-pointer"LDXFLAGS=-fsanitize=memory

运行如下:MSAN_SYMBOLIZER_PATH=/net/fas4045/home3/jq031c/llvm_sandbox/bin/llvm-symbolizer ./runtests.sh

我们可以理解,我们需要将分析选项添加到链接标志中,因为我们先进行两步编译构建,然后是链接。搜索后的发现是需要使用环境变量定义llvm符号化器的路径,而其他动态分析选项似乎都不需要。

最新更新