493ae7a6bb
.. and a few cases of instead doing blacklist->excludelist where that made more sense. Background and motivation: https://tools.ietf.org/html/draft-knodel-terminology-02 [API CHANGE] officecfg::Office::Canvas::DeviceBlacklist -> DeviceDenylist [API CHANGE] officecfg::Office::Canvas::BlacklistCurrentDevice -> DenylistCurrentDevice [API CHANGE] officecfg::Office::Common::Misc::OpenCLBlackList -> OpenCLDenyList Change-Id: Ia35e25496bf0cc0692d5de4cb66bfc232d3a869e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98180 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
55 lines
1.7 KiB
Bash
Executable file
55 lines
1.7 KiB
Bash
Executable file
#!/bin/bash -e
|
|
|
|
if [ -z "${OUT}" ] || [ -z "${SRC}" ] || [ -z "${WORK}" ]; then
|
|
echo "OUT, SRC or WORK not set - script expects to be called inside oss-fuzz build env"
|
|
exit 1
|
|
fi
|
|
|
|
#shuffle CXXFLAGS -stdlib=libc++ arg into CXX as well because we use
|
|
#the CXX as the linker and need to pass -stdlib=libc++ to build
|
|
export CXX="$CXX -stdlib=libc++ -fsanitize-blacklist=$SRC/libreoffice/bin/sanitize-excludelist.txt"
|
|
#similarly force the -fsanitize etc args in as well as pthread to get
|
|
#things to link successfully during the build
|
|
export LDFLAGS="$CFLAGS -Wl,--compress-debug-sections,zlib -lpthread"
|
|
|
|
df -h $OUT $WORK
|
|
|
|
cd $WORK
|
|
$SRC/libreoffice/autogen.sh --with-distro=LibreOfficeOssFuzz --with-external-tar=$SRC
|
|
|
|
make clean
|
|
|
|
#build-time rsc tool leaks a titch
|
|
export ASAN_OPTIONS="detect_leaks=0"
|
|
|
|
make fuzzers
|
|
|
|
pushd instdir/program
|
|
head -c -14 services.rdb > templateservices.rdb
|
|
tail -c +85 ./services/services.rdb >> templateservices.rdb
|
|
for a in *fuzzer; do
|
|
#some minimal fonts required
|
|
mv $a $OUT
|
|
mkdir -p $OUT/$a.fonts
|
|
cp $SRC/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf ../share/fonts/truetype/Liberation* $OUT/$a.fonts
|
|
#minimal runtime requirements
|
|
cp templateservices.rdb $OUT/$a.services.rdb
|
|
cp types.rdb $OUT/$a.types.rdb
|
|
cp types/offapi.rdb $OUT/$a.moretypes.rdb
|
|
cat > $OUT/$a.unorc << EOF
|
|
[Bootstrap]
|
|
URE_INTERNAL_LIB_DIR=\${ORIGIN}
|
|
UNO_TYPES=\${ORIGIN}/$a.types.rdb \${ORIGIN}/$a.moretypes.rdb
|
|
UNO_SERVICES=\${ORIGIN}/$a.services.rdb
|
|
EOF
|
|
done
|
|
popd
|
|
|
|
df -h $OUT $WORK
|
|
|
|
#starting corpuses
|
|
cp $SRC/*_seed_corpus.zip $OUT
|
|
#fuzzing dictionaries
|
|
cp $SRC/*.dict $OUT
|
|
#options files
|
|
cp $SRC/libreoffice/vcl/workben/*.options $OUT
|