From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 04 Jul 2025 18:50:45 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uXjcb-00E3IW-0q for lore@lore.pengutronix.de; Fri, 04 Jul 2025 18:50:45 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1uXjca-00022h-V2; Fri, 04 Jul 2025 18:50:44 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1uXjcI-00022K-Vo; Fri, 04 Jul 2025 18:50:26 +0200 Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uXjcI-006nLm-2H; Fri, 04 Jul 2025 18:50:26 +0200 Received: from mol by dude05.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1uXjcI-00D81v-28; Fri, 04 Jul 2025 18:50:26 +0200 Date: Fri, 4 Jul 2025 18:50:26 +0200 From: Michael Olbrich To: Christian Melki Message-ID: References: <20250616182108.1488050-1-christian.melki@t2data.com> <3284dfe4-07e4-4fc3-9e5d-984226bb224f@t2data.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3284dfe4-07e4-4fc3-9e5d-984226bb224f@t2data.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain Subject: Re: [ptxdist] [PATCH] libpng: Version bump. 1.6.48 -> 1.6.49 X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false On Thu, Jul 03, 2025 at 10:38:23PM +0200, Christian Melki wrote: > On 6/27/25 12:41 PM, Michael Olbrich wrote: > > On Mon, Jun 16, 2025 at 08:21:08PM +0200, Christian Melki wrote: > >> https://sourceforge.net/p/libpng/code/ci/libpng16/tree/CHANGES > >> > >> * Add RISC-V vector option. > >> > >> * Re-add lost ARM NEON optimization. I removed this, misunderstanding > >> the work done. This can be enabled for ARM64 where NEON > >> is an unconditional addition. I think it also could be enabled > >> for ARM NEON capable hard-float and soft-fp (not soft-float). > >> > >> * Disable the automatic optimization. It seems to not get the ARM > >> NEON case right. > > > > What exactly did not work for you? > > > > So I looked at that stuff, and I think, the correct way to handle this is > > to _not_ specify --{en,dis}able-hardware-optimizations at all and then use > > --enable-arm-neon=$(call ptx/ifdef, PTXCONF_ARCH_ARM_NEON,api,no) > > > > Does that work in your case? > > > > Michael > > > > I think the ARM neon case is slightly more complex than it looks. > If I enable it, it breaks on my builds. Maybe I need a way to discern if > the toolchain is generating hard floats or soft-fp with neon or not? Right, so you have a softfp toolchain with NEON, right? Does this work: diff --git a/rules/libpng.make b/rules/libpng.make index 824974289782..ac8d1faf9dcc 100644 --- a/rules/libpng.make +++ b/rules/libpng.make @@ -33,16 +33,21 @@ LIBPNG_LICENSE_FILES := \ LIBPNG_WRAPPER_BLACKLIST := TARGET_DEBUG_FULL +LIBPNG_NEON = $(PTXCONF_ARCH_ARM_NEON) +ifdef PTXCONF_ARCH_ARMV7_NEON +# NEON with softfp is broken +LIBPNG_NEON = $(if $(filter softfp,$(shell ptxd_cross_cc_v | sed -n "s/COLLECT_GCC_OPTIONS=.*'-mfloat-abi=\([^']*\)'.*/\1/p" | tail -n1)),,y) +endif + LIBPNG_CONF_TOOL:= autoconf -LIBPNG_CONF_OPT := \ +LIBPNG_CONF_OPT = \ $(CROSS_AUTOCONF_USR) \ --disable-tests \ --disable-tools \ --enable-unversioned-links \ --enable-unversioned-libpng-pc \ --enable-unversioned-libpng-config \ - --disable-hardware-optimizations \ - --$(call ptx/endis, PTXCONF_ARCH_ARM64)-arm-neon \ + --enable-arm-neon=$(call ptx/ifdef, LIBPNG_NEON,api,no) \ --disable-mips-msa \ --disable-mips-mmi \ --$(call ptx/endis, PTXCONF_ARCH_X86)-intel-sse \ Michael > Not sure how to formulate it, that's why the update ignores ARM for now. > > Christian > > >> Signed-off-by: Christian Melki > >> --- > >> rules/libpng.make | 7 +++++-- > >> 1 file changed, 5 insertions(+), 2 deletions(-) > >> > >> diff --git a/rules/libpng.make b/rules/libpng.make > >> index 07c6ea99b..824974289 100644 > >> --- a/rules/libpng.make > >> +++ b/rules/libpng.make > >> @@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_LIBPNG) += libpng > >> # > >> # Paths and names > >> # > >> -LIBPNG_VERSION := 1.6.48 > >> -LIBPNG_MD5 := 6ddbe2107e3811d51da698794b8fb4a2 > >> +LIBPNG_VERSION := 1.6.49 > >> +LIBPNG_MD5 := 66c58f211e8e9fc66e621965960df19c > >> LIBPNG := libpng-$(LIBPNG_VERSION) > >> LIBPNG_SUFFIX := tar.xz > >> LIBPNG_URL := $(call ptx/mirror, SF, libpng/$(LIBPNG).$(LIBPNG_SUFFIX)) > >> @@ -41,11 +41,14 @@ LIBPNG_CONF_OPT := \ > >> --enable-unversioned-links \ > >> --enable-unversioned-libpng-pc \ > >> --enable-unversioned-libpng-config \ > >> + --disable-hardware-optimizations \ > >> + --$(call ptx/endis, PTXCONF_ARCH_ARM64)-arm-neon \ > >> --disable-mips-msa \ > >> --disable-mips-mmi \ > >> --$(call ptx/endis, PTXCONF_ARCH_X86)-intel-sse \ > >> --disable-powerpc-vsx \ > >> --disable-loongarch-lsx \ > >> + --$(call ptx/endis, PTXCONF_ARCH_RISCV)-riscv-rvv \ > >> --with-binconfigs > >> > >> # ---------------------------------------------------------------------------- > >> -- > >> 2.34.1 > >> > >> > >> > > > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |