无法使用 gcc fsanitize 地址在 AIX 上构建 cpp 程序

无法使用 gcc fsanitize 地址在 AIX 上构建 cpp 程序

我正在尝试使用 gcc 和地址清理程序 ( ) 在 AIX 7.2 上构建一个 cpp 程序,-fsanitize=address但出现以下错误:

cc1plus: warning: '-fsanitize=address' not supported for this target
collect2: fatal error: library libasan not found
compilation terminated.

我想如果我有共享库也许编译会成功libasan。所以我尝试llvm从源代码构建,但遇到了同样的问题:

> export CC=gcc; export CXX=g++;
> cmake -DLLVM_ENABLE_PROJECTS=clang -DLLVM_ENABLE_RUNTIMES=compiler-rt -DCMAKE_INSTALL_PREFIX=/llvm_install -DLLVM_USE_SANITIZER=Address -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="PowerPC" -G "Unix Makefiles" /llvm-project/llvm
Consolidate compiler generated dependencies of target LLVMDemangle
[  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o
cc1plus: error: '-fsanitize=address' not supported for this target [-Werror]
cc1plus: all warnings being treated as errors

我的环境:

gcc version 10.3.0
cmake version 3.20.0
AIX 7.2

问题:

  1. fsanitize=addressAIX 上不支持 gcc吗?
  2. 有人在 AIX 上成功构建了带有地址清理程序的 cpp 程序吗?如果是这样,您能分享一下步骤吗?
  3. 我需要使用吗XLC?有没有办法让它工作gcc

如果这不是询问 AIX 问题的正确论坛,我们深表歉意。

相关内容