GraphicsMagick: fuzzing/oss-fuzz-build.sh: Add bzip2 and libjbig...
GraphicsMagick Commits <[email protected]> Thu, 30 Nov 2023 16:50:59 -0600
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.7952.1701384688.1716.graphicsmagick-commit@lists.sourceforge.net> |
changeset eda85ada83a6 in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=eda85ada83a6 summary: fuzzing/oss-fuzz-build.sh: Add bzip2 and libjbig to the oss-fuzz build diffstat: ChangeLog | 5 ++ VisualMagick/installer/inc/version.isx | 4 +- fuzzing/oss-fuzz-build.sh | 73 ++++++++++++++++++++++++++------- magick/version.h | 4 +- www/Changelog.html | 7 +++ 5 files changed, 72 insertions(+), 21 deletions(-) diffs (229 lines): diff -r 22336286aa57 -r eda85ada83a6 ChangeLog --- a/ChangeLog Wed Nov 29 18:54:31 2023 -0600 +++ b/ChangeLog Thu Nov 30 16:50:56 2023 -0600 @@ -1,3 +1,8 @@ +2023-11-30 Bob Friesenhahn <[email protected]> + + * fuzzing/oss-fuzz-build.sh: Add bzip2 and libjbig to the oss-fuzz + build. + 2023-11-29 Bob Friesenhahn <[email protected]> * fuzzing/oss-fuzz-build.sh: Build zlib and zstd as static. diff -r 22336286aa57 -r eda85ada83a6 VisualMagick/installer/inc/version.isx --- a/VisualMagick/installer/inc/version.isx Wed Nov 29 18:54:31 2023 -0600 +++ b/VisualMagick/installer/inc/version.isx Thu Nov 30 16:50:56 2023 -0600 @@ -10,5 +10,5 @@ #define public MagickPackageName "GraphicsMagick" #define public MagickPackageVersion "1.4" -#define public MagickPackageVersionAddendum ".020231129" -#define public MagickPackageReleaseDate "snapshot-20231129" +#define public MagickPackageVersionAddendum ".020231130" +#define public MagickPackageReleaseDate "snapshot-20231130" diff -r 22336286aa57 -r eda85ada83a6 fuzzing/oss-fuzz-build.sh --- a/fuzzing/oss-fuzz-build.sh Wed Nov 29 18:54:31 2023 -0600 +++ b/fuzzing/oss-fuzz-build.sh Thu Nov 30 16:50:56 2023 -0600 @@ -21,9 +21,8 @@ printf "WORK=${WORK}\n" printf "OUT=${OUT}\n" -#rm -rf $WORK/bin/ -#rm -rf $WORK/lib/ rm -rf $WORK/* +rm -f $OUT/* set -x @@ -70,8 +69,8 @@ pushd "${ZSTD_BUILD}" cmake -DCMAKE_C_COMPILER=$CC \ -DCMAKE_CXX_COMPILER=$CXX \ - -DCMAKE_C_FLAGS="$CFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="${CFLAGS} -fPIC" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -fPIC" \ -DCMAKE_INSTALL_PREFIX=$WORK \ -DZSTD_BUILD_STATIC=ON \ -DZSTD_BUILD_SHARED=OFF \ @@ -132,7 +131,7 @@ #PKG_CONFIG_PATH="$WORK/lib/pkgconfig" PKG_CONFIG='pkg-config --static' ./configure \ CPPFLAGS="-I$WORK/include" \ - CFLAGS="$CFLAGS" \ + CFLAGS="$CFLAGS -fPIC" \ LDFLAGS="${LDFLAGS:-} -L$WORK/lib" \ --enable-libwebpmux \ --disable-shared \ @@ -144,16 +143,50 @@ --disable-tiff \ --disable-gif \ --disable-wic \ - --prefix="$WORK" \ - CFLAGS="$CFLAGS -fPIC" + --prefix="$WORK" make -j$(nproc) make install popd fi -# FIXME: Add libbzip2 build here +printf "=== Building ${SRC}/bzip2...\n" +BZIP2_BUILD="${SRC}/bzip2_build" +rm -rf "${BZIP2_BUILD}" +mkdir -p "${BZIP2_BUILD}" +pushd "${BZIP2_BUILD}" +cmake -G "Unix Makefiles" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=$CC \ + -DCMAKE_CXX_COMPILER=$CXX \ + -DCMAKE_C_FLAGS="$CFLAGS -fPIC" \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_INSTALL_PREFIX="$WORK" \ + -DENABLE_LIB_ONLY=ON \ + -DENABLE_SHARED_LIB=OFF \ + -DENABLE_STATIC_LIB=ON \ + ${SRC}/bzip2 +make clean +make -j$(nproc) +make install +mv "${WORK}/lib/libbz2_static.a" "${WORK}/lib/libbz2.a" +popd -# FIXME: Add libjbig build here +# Build libjbig +# This incantation is borrowed from libtiff contrib/oss-fuzz/build.sh +printf "=== Building ${SRC}/jbigkit...\n" +pushd "$SRC/jbigkit" +if [ "$ARCHITECTURE" = "i386" ]; then + echo "#!/bin/bash" > gcc + echo "clang -m32 \$*" >> gcc + chmod +x gcc + PATH=$PWD:$PATH make lib +else + make lib +fi + +mv "$SRC"/jbigkit/libjbig/*.a "$WORK/lib/" +mv "$SRC"/jbigkit/libjbig/*.h "$WORK/include/" +popd # FXIME: Add libdeflate, and libdeflate build here @@ -168,7 +201,7 @@ #PKG_CONFIG_PATH="$WORK/lib/pkgconfig" PKG_CONFIG='pkg-config --static' ./configure \ CPPFLAGS="-I$WORK/include" \ - CFLAGS="$CFLAGS" \ + CFLAGS="$CFLAGS -fPIC" \ LDFLAGS="${LDFLAGS:-} -L$WORK/lib" \ --prefix="$WORK" \ --disable-old-jpeg \ @@ -194,7 +227,7 @@ autoreconf -fiv ./configure \ CPPFLAGS="-I$WORK/include" \ - CFLAGS="$CFLAGS" \ + CFLAGS="$CFLAGS -fPIC" \ LDFLAGS="${LDFLAGS:-} -L$WORK/lib" \ --prefix="$WORK" \ --disable-shared \ @@ -214,7 +247,7 @@ ./autogen.sh ./configure \ CPPFLAGS="-I$WORK/include" \ - CFLAGS="$CFLAGS" \ + CFLAGS="$CFLAGS -fPIC" \ LDFLAGS="${LDFLAGS:-} -L$WORK/lib" \ --prefix="$WORK" \ --enable-freetype-config \ @@ -235,7 +268,7 @@ cmake -G "Unix Makefiles" \ -DCMAKE_C_COMPILER=$CC \ -DCMAKE_CXX_COMPILER=$CXX \ - -DCMAKE_C_FLAGS="$CFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS -fPIC" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_INSTALL_PREFIX="$WORK" \ -DENABLE_SHARED:bool=off \ @@ -252,6 +285,7 @@ pushd "$SRC/libde265" ./autogen.sh ./configure \ + CFLAGS="$CFLAGS -fPIC" \ --prefix="$WORK" \ --disable-shared \ --enable-static \ @@ -276,7 +310,7 @@ cmake -G "Unix Makefiles" \ -DCMAKE_C_COMPILER=$CC \ -DCMAKE_CXX_COMPILER=$CXX \ - -DCMAKE_C_FLAGS="$CFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS -fPIC" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_INSTALL_PREFIX="$WORK" \ -DENABLE_SHARED:bool=off \ @@ -307,7 +341,7 @@ cmake --preset=fuzzing \ -DCMAKE_C_COMPILER=$CC \ -DCMAKE_CXX_COMPILER=$CXX \ - -DCMAKE_C_FLAGS="$CFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS -fPIC" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_INSTALL_PREFIX=$WORK \ -DFUZZING_COMPILE_OPTIONS="" \ @@ -349,9 +383,10 @@ -DJPEGXL_ENABLE_SJPEG=false \ -DJPEGXL_ENABLE_TOOLS=false \ -DJPEGXL_ENABLE_VIEWERS=false \ + -DJPEGXL_ENABLE_JPEGLI=false \ -DJPEGXL_FORCE_SYSTEM_LCMS2=true \ - -DCMAKE_C_FLAGS="-DHWY_DISABLED_TARGETS=HWY_SSSE3 ${CFLAGS}" \ - -DCMAKE_CXX_FLAGS="-DHWY_DISABLED_TARGETS=HWY_SSSE3 ${CXXFLAGS}" \ + -DCMAKE_C_FLAGS="-DHWY_DISABLED_TARGETS=HWY_SSSE3 ${CFLAGS} -fPIC" \ + -DCMAKE_CXX_FLAGS="-DHWY_DISABLED_TARGETS=HWY_SSSE3 ${CXXFLAGS} -fPIC" \ "${SRC}/libjxl" make -j$(nproc) # libjxl claims to require libjxl_cms, but does not build/install one! @@ -375,6 +410,10 @@ pushd "${JASPER_BUILD}" cmake -G "Unix Makefiles" -H"$SRC/jasper" \ -DJAS_ENABLE_SHARED=false \ + -DCMAKE_C_COMPILER=$CC \ + -DCMAKE_CXX_COMPILER=$CXX \ + -DCMAKE_C_FLAGS="$CFLAGS -fPIC" \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_INSTALL_PREFIX=$WORK \ -DJAS_INCLUDE_BMP_CODEC=false \ -DJAS_INCLUDE_JPG_CODEC=false \ diff -r 22336286aa57 -r eda85ada83a6 magick/version.h --- a/magick/version.h Wed Nov 29 18:54:31 2023 -0600 +++ b/magick/version.h Thu Nov 30 16:50:56 2023 -0600 @@ -38,8 +38,8 @@ #define MagickLibVersion 0x272404 #define MagickLibVersionText "1.4" #define MagickLibVersionNumber 27,24,4 -#define MagickChangeDate "20231129" -#define MagickReleaseDate "snapshot-20231129" +#define MagickChangeDate "20231130" +#define MagickReleaseDate "snapshot-20231130" /* The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines diff -r 22336286aa57 -r eda85ada83a6 www/Changelog.html --- a/www/Changelog.html Wed Nov 29 18:54:31 2023 -0600 +++ b/www/Changelog.html Thu Nov 30 16:50:56 2023 -0600 @@ -37,6 +37,13 @@ </div> <div class="document"> +<p>2023-11-30 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li><p>fuzzing/oss-fuzz-build.sh: Add bzip2 and libjbig to the oss-fuzz +build.</p></li> +</ul> +</blockquote> <p>2023-11-29 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple">