You have verified that the issue to be present in the current main branch
Thank you for making LibAFL better!
Describe the bug
When following the build instruction in README.md in libfuzzer_libpng, the following error occurred when compiling libpng with libafl:
libtool: link: gcc -dynamiclib -o .libs/libpng16.16.dylib .libs/png.o .libs/pngerror.o .libs/pngget.o .libs/pngmem.o .libs/pngpread.o .libs/pngread.o .libs/pngrio.o .libs/pngrtran.o .libs/pngrutil.o .libs/pngset.o .libs/pngtrans.o .libs/pngwio.o .libs/pngwrite.o .libs/pngwtran.o .libs/pngwutil.o arm/.libs/arm_init.o arm/.libs/filter_neon.o arm/.libs/filter_neon_intrinsics.o arm/.libs/palette_neon_intrinsics.o mips/.libs/mips_init.o mips/.libs/filter_msa_intrinsics.o powerpc/.libs/powerpc_init.o powerpc/.libs/filter_vsx_intrinsics.o -lz -g -O2 -install_name /usr/local/lib/libpng16.16.dylib -compatibility_version 54 -current_version 54.0 -Wl,-single_module -Wl,-exported_symbols_list,.libs/libpng16-symbols.expsym
Undefined symbols for architecture arm64:
"___sanitizer_cov_trace_pc_guard", referenced from:
_png_set_sig_bytes in png.o
_png_sig_cmp in png.o
_png_zalloc in png.o
_png_zfree in png.o
_png_reset_crc in png.o
_png_calculate_crc in png.o
_png_user_version_check in png.o
...
However, when I run cargo make run, the problem solves itself. My assumption is that in the README file, it configures libpng with ./configure, while in Makefile.toml, the library is configured by ./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes. It would be good if the developers can confirm the configuration in the makefile is correct and correct the corresponding part in the README file. Thanks!
To Reproduce
Platform: MacOS
Arch: ARM64 (M1 Pro)
Build the libfuzzer_libpng following instruction in the README file.
IMPORTANT
main
branchThank you for making LibAFL better!
Describe the bug When following the build instruction in README.md in libfuzzer_libpng, the following error occurred when compiling libpng with libafl:
However, when I run
cargo make run
, the problem solves itself. My assumption is that in the README file, it configures libpng with./configure
, while inMakefile.toml
, the library is configured by./configure --enable-shared=no --with-pic=yes --enable-hardware-optimizations=yes
. It would be good if the developers can confirm the configuration in the makefile is correct and correct the corresponding part in the README file. Thanks!To Reproduce Platform: MacOS Arch: ARM64 (M1 Pro)
Build the libfuzzer_libpng following instruction in the README file.
Expected behavior
Screen output/Screenshots
Additional context