我正在尝试使用 clang 交叉编译并为 .c 文件运行 Undefined Behavior Sanitizer
我正在运行的命令
clang -target sparc -integrated-as -fuse-ld=lld -fsanitize=undefined test1.c
clang 是交叉编译器
sparc 是目标架构。
-integrated-as 使用 llvm 汇编器
-fuse-ld=lld 使用 lld 链接器
-fsanitize=undefined 运行 UBSan
错误
ld.lld:错误:/tmp/test1-43c7c0.o 与 elf64-x86-64 不兼容
collect2:错误:ld 返回 1 个退出状态
clang-11:错误:链接器(通过 gcc)命令失败,退出代码为 1(使用 -v 查看调用)
我的系统
Ubuntu 18.04
x86_64
在 ubuntu 终端上执行的命令
在不包含 sparc 程序集的 file.c 上没有 -target sparc,clang 可以正常工作