gpt4 book ai didi

Clang libFuzzer 未定义对 `__sanitizer_cov_trace_const_cmp8' 的引用

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:53 26 4
gpt4 key购买 nike

我可以在 makefile 中使用以下变量成功编译 Nginx

CC = clang-6.0

CFLAGS = -pipe -O -Wall -Wextra -Wpointer-arith -Wconditional-uninitialized -Wno-unused-parameter -Werror -g

当尝试使用 -fsanitize=fuzzer 或 -fsanitize=fuzzer-no-link 并将我的 Makefile 更改为:

CFLAGS = -pipe -fsantizer=fuzzer-no-link -O -Wall -Wextra -Wpointer-arith -Wconditional-uninitialized -Wno-unused-parameter -Werror -g

我收到大量对 __sancov_lowest_stack__sanitizer_cov_trace_const_cmp8

的 undefined reference

我该如何解决这个问题?我缺少哪些库?

最佳答案

您必须将像 -fsanitize=fuzzer 这样的 sanitizer 标志添加到您的 CFLAGS 您的 LDFLAGS

如果它们没有传递给链接器,而只是传递给编译器,您会得到大量 undefined symbol 错误,用于 sanitizer 运行时库函数(就像您在问题中引用的那个)。

请注意,在使用 -fsanitizer=fuzzer 时,将其与 Adress Sanitizer(即 -fsanitizer=fuzzer,address)结合使用是有意义的。

此外,使用 libFuzzer,您 have to provide your own fuzzer callback function LLVMFuzzerTestOneInput() 并省略 main() 函数。

关于Clang libFuzzer 未定义对 `__sanitizer_cov_trace_const_cmp8' 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48699256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com