From d9c38a6bc740a260c965bbdf8d3d6076f1463437 Mon Sep 17 00:00:00 2001 From: weidong Date: Thu, 10 Sep 2020 19:42:53 +0800 Subject: [PATCH] fix-libpng-arm-neon --- fix-libpng-arm-neon.patch | 55 +++++++++++++++++++++++++++++++++++++++ freeimage.spec | 9 ++++++- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 fix-libpng-arm-neon.patch diff --git a/fix-libpng-arm-neon.patch b/fix-libpng-arm-neon.patch new file mode 100644 index 0000000..f36f130 --- /dev/null +++ b/fix-libpng-arm-neon.patch @@ -0,0 +1,55 @@ +From d0a22d8de37e0bdbd85d606080671c66ddb8577b Mon Sep 17 00:00:00 2001 +From: weidong +Date: Thu, 10 Sep 2020 17:53:17 +0800 +Subject: [PATCH] fix error + +--- + Source/LibPNG/configure | 4 ++++ + Source/LibPNG/pngpriv.h | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Source/LibPNG/configure b/Source/LibPNG/configure +index 472b35e2..76e8fda6 100644 +--- a/Source/LibPNG/configure ++++ b/Source/LibPNG/configure +@@ -13575,20 +13575,24 @@ if test "${enable_arm_neon+set}" = set; then : + no|off) + # disable the default enabling on __ARM_NEON__ systems: + ++$as_echo "#define PNG_USE_ARM_NEON /**/" >>confdefs.h + $as_echo "#define PNG_ARM_NEON_OPT 0" >>confdefs.h + + # Prevent inclusion of the assembler files below: + enable_arm_neon=no;; + check) + ++$as_echo "#define PNG_USE_ARM_NEON /**/" >>confdefs.h + $as_echo "#define PNG_ARM_NEON_CHECK_SUPPORTED /**/" >>confdefs.h + ;; + api) + ++$as_echo "#define PNG_USE_ARM_NEON /**/" >>confdefs.h + $as_echo "#define PNG_ARM_NEON_API_SUPPORTED /**/" >>confdefs.h + ;; + yes|on) + ++$as_echo "#define PNG_USE_ARM_NEON /**/" >>confdefs.h + $as_echo "#define PNG_ARM_NEON_OPT 2" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-arm-neon: please specify 'check' or 'api', if +diff --git a/Source/LibPNG/pngpriv.h b/Source/LibPNG/pngpriv.h +index 81f87616..abf210ad 100644 +--- a/Source/LibPNG/pngpriv.h ++++ b/Source/LibPNG/pngpriv.h +@@ -127,7 +127,7 @@ + * associated assembler code, pass --enable-arm-neon=no to configure + * or put -DPNG_ARM_NEON_OPT=0 in CPPFLAGS. + */ +-# if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \ ++# if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \ + defined(PNG_ALIGNED_MEMORY_SUPPORTED) + # define PNG_ARM_NEON_OPT 2 + # else +-- +2.20.1 + diff --git a/freeimage.spec b/freeimage.spec index fa6d1e2..ae9f016 100644 --- a/freeimage.spec +++ b/freeimage.spec @@ -2,7 +2,7 @@ Name: freeimage Version: 3.18.0 -Release: 1 +Release: 2 Summary: FreeImage is a library project for developers who would like to support popular graphics image formats (PNG, JPEG, TIFF, BMP and others) License: GPLv2 or GPLv3 and FIPL URL: https://freeimage.sourceforge.io/ @@ -10,6 +10,9 @@ Source0: http://downloads.sourceforge.net/freeimage/FreeImage3180.zip Patch0: CVE-2019-12211_2019-12213.patch +# https://github.com/glennrp/libpng/commit/32784523239c376dfe544bb6c7012c4934624a6d +Patch1: fix-libpng-arm-neon.patch + BuildRequires: gcc autoconf automake doxygen %description @@ -24,6 +27,7 @@ FreeImage is a library project for developers who would like to support popular %prep %setup -q -n FreeImage %patch0 -p1 +%patch1 -p1 %build %make_build -f Makefile.gnu DESTDIR=%{buildroot} @@ -70,6 +74,9 @@ ldconfig -n %{buildroot}%{_libdir} %changelog +* Thu Sep 10 2020 weidong +- fix libpng arm neon in freeimage + * Mon May 4 2020 Wei Xiong - Package init