0

我正在通过 gcc 编译 main.c 文件,并启用了 sanitizer 选项。

因此,链接器命令在其参数列表中包含“-lubsan”选项。

需要说,我没有明确地为 gcc 提供“-lubsan”选项。

此外,我反对使用它。

所以,问题是:“如何摆脱这种自动添加的选项?

是否可以在不分离编译和链接命令的情况下做到这一点?”。

main.c 文件的内容:

int main()
{
    volatile int a=0x7fffffff;
    a = a<<1;
    return a;
}

build_gcc_host.sh 文件内容:

#!/bin/bash
gcc \
-fsanitize=shift \
main.c \
-o \
main \
-### \
2>&1 \
| \
grep ubsan

PS 如果使用“-nostdlib”选项,则不会添加“-lubsan”,但我确实需要“stdlib”。

我根本不需要自动添加“-lubsan”。

4

0 回答 0