为什么 afl-clang-fast 编译位码时出错?

发布于 2025-01-16 21:19:29 字数 4916 浏览 4 评论 0原文

我使用工具 gllvm 构建整个程序 LLVM 位码文件 (tiffsplit.bc)。然后我使用 afl-clang-fast 编译它来生成检测的二进制文件。但是,它给出了一个错误。我在 github 上发现了类似的问题。我在网上找了好久。但没有用。请帮助或尝试给出一些如何实现这一目标的想法。

我的命令如下:

CC=gclang  ./configure  --enable-shared=no --enable-static=yes
make -j$(nproc)
get-bc tiffsplit
afl-clang-fast tiffsplit.bc -o tiffsplit

错误如下: 输入图片此处描述

/tmp/tiffsplit-fcc4f4.o: In function `TIFFDefaultTransferFunction':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `pow'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `floor'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `pow'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `floor'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `pow'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `floor'
/tmp/tiffsplit-fcc4f4.o: In function `DoubleToRational':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `floor'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `floor'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `floor'
/tmp/tiffsplit-fcc4f4.o: In function `DoubleToSrational':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `floor'
/tmp/tiffsplit-fcc4f4.o:/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: more undefined references to `floor' follow
/tmp/tiffsplit-fcc4f4.o: In function `LogL16toY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `LogL16fromY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `XYZtoRGB24':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/tmp/tiffsplit-fcc4f4.o: In function `LogL10toY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `LogL10fromY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `oog_encode':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `atan2'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `atan2'
/tmp/tiffsplit-fcc4f4.o: In function `LogLuv24toXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `LogLuv24fromXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `LogLuv32toXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `LogLuv32fromXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `Luv24toRGB':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/tmp/tiffsplit-fcc4f4.o: In function `Luv32toXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `Luv32toRGB':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/tmp/tiffsplit-fcc4f4.o: In function `L16toY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `L16toGry':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/tmp/tiffsplit-fcc4f4.o: In function `Luv24fromXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `L16fromY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I used the tool gllvm to build the whole-program LLVM bitcodes file (tiffsplit.bc). Then I used afl-clang-fast compile it to generate the instrumented binary. However, it gives an error. I found a similar problem on github. I am searching for a long time on net. But no use. Please help or try to give some ideas how to achieve this.

My commands are as follows:

CC=gclang  ./configure  --enable-shared=no --enable-static=yes
make -j$(nproc)
get-bc tiffsplit
afl-clang-fast tiffsplit.bc -o tiffsplit

The error is as follwos:
enter image description here

/tmp/tiffsplit-fcc4f4.o: In function `TIFFDefaultTransferFunction':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `pow'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `floor'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `pow'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `floor'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `pow'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:143: undefined reference to `floor'
/tmp/tiffsplit-fcc4f4.o: In function `DoubleToRational':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `floor'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `floor'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `floor'
/tmp/tiffsplit-fcc4f4.o: In function `DoubleToSrational':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `floor'
/tmp/tiffsplit-fcc4f4.o:/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: more undefined references to `floor' follow
/tmp/tiffsplit-fcc4f4.o: In function `LogL16toY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `LogL16fromY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `XYZtoRGB24':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/tmp/tiffsplit-fcc4f4.o: In function `LogL10toY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `LogL10fromY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `oog_encode':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `atan2'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `atan2'
/tmp/tiffsplit-fcc4f4.o: In function `LogLuv24toXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `LogLuv24fromXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `LogLuv32toXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `LogLuv32fromXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `Luv24toRGB':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/tmp/tiffsplit-fcc4f4.o: In function `Luv32toXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `Luv32toRGB':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/tmp/tiffsplit-fcc4f4.o: In function `L16toY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/tmp/tiffsplit-fcc4f4.o: In function `L16toGry':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `exp'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `sqrt'
/tmp/tiffsplit-fcc4f4.o: In function `Luv24fromXYZ':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/tmp/tiffsplit-fcc4f4.o: In function `L16fromY':
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
/home/ubuntu/tiff-4.3.0/libtiff/tif_aux.c:409: undefined reference to `log'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

留一抹残留的笑 2025-01-23 21:19:29
afl-clang-fast tiffsplit.bc -o tiffsplit -lm
afl-clang-fast tiffsplit.bc -o tiffsplit -lm
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文