%build
cd lib/Fuzzer
CXX=gcc ./build.sh
-# Build a dummy lib for sancov usage
-# TODO: remove the libsancov_cb hack once __sanitizer_cov_trace_pc stub is available in GCC
-cd -
-gcc -c sancov_cb.c -o sancov_cb.o
-ar rcs libsancov_cb.a sancov_cb.o
%install
mkdir -p %{buildroot}%{_libdir}
cp lib/Fuzzer/libFuzzer.a %{buildroot}%{_libdir}
-# TODO: remove the libsancov_cb hack once __sanitizer_cov_trace_pc stub is available in GCC
-cp libsancov_cb.a %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_prefix}/bin
cp scripts/sancov.py %{buildroot}%{_prefix}/bin
cp scripts/sancov_symbolize.py %{buildroot}%{_prefix}/bin
%post -n fuzz-force-options
# Change mode to allow all users to run gcc-force/unforce-options
chmod a+w /usr/bin
-# TODO: remove the libsancov_cb hack once __sanitizer_cov_trace_pc stub is available in GCC
-/usr/bin/gcc-force-options -fsanitize-coverage=trace-pc -fsanitize=address -fno-common -fno-omit-frame-pointer -U_FORTIFY_SOURCE -lsancov_cb
+/usr/bin/gcc-force-options -fsanitize-coverage=trace-pc -fsanitize=address -fno-common -fno-omit-frame-pointer -U_FORTIFY_SOURCE
chmod a-w /usr/bin
%preun -n fuzz-force-options
%files -n fuzz-force-options
%{_prefix}/bin/gcc-force-options
%{_prefix}/bin/gcc-unforce-options
-# TODO: remove the libsancov_cb hack once __sanitizer_cov_trace_pc stub is available in GCC
-%{_libdir}/libsancov_cb.a
%package -n sancov
Summary: Scripts to process coverage information