为什么 afl-clang-fast 编译位码时出错?
我使用工具 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
/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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)