From: Paul Floyd Date: Sun, 28 Jan 2024 14:34:27 +0000 (+0100) Subject: ARM: handle v6 to v8 in configure.ac X-Git-Tag: VALGRIND_3_23_0~196 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3ddac968ae9197b0cc3ac9180b8ff31869b3d5f0;p=thirdparty%2Fvalgrind.git ARM: handle v6 to v8 in configure.ac Some changes based on first patch in https://bugs.kde.org/show_bug.cgi?id=276897 Bug 276897 ARM v6 legacy patches contributed by "JW" I've also modified the GCC flags for a few tests in none/tests/arm We probably need more arm feature tests in configure.ac. --- diff --git a/Makefile.all.am b/Makefile.all.am index 94d65f2ccb..7cb7e87256 100755 --- a/Makefile.all.am +++ b/Makefile.all.am @@ -232,13 +232,11 @@ AM_CFLAGS_X86_FREEBSD = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \ AM_CFLAGS_PSO_X86_FREEBSD = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE) AM_CCASFLAGS_X86_FREEBSD = @FLAG_M32@ -g -AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@ -AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \ - $(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8 +AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@ @VGCONF_PLATFORM_ARM_ARCH@ +AM_CFLAGS_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @VGCONF_PLATFORM_ARM_ARCH@ AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \ - -marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE) -AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \ - -marm -mcpu=cortex-a8 -g + $(AM_CFLAGS_PSO_BASE) @VGCONF_PLATFORM_ARM_ARCH@ +AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ @VGCONF_PLATFORM_ARM_ARCH@ AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@ AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) diff --git a/configure.ac b/configure.ac index 2acb7023e2..7925c9a3e9 100755 --- a/configure.ac +++ b/configure.ac @@ -237,6 +237,8 @@ AC_MSG_CHECKING([for a supported CPU]) # Endian. Similarly, ppc64le or PPC64LE refer to only 64-bit systems that are # Little Endian. +VGCONF_PLATFORM_ARM_ARCH= + case "${host_cpu}" in i?86) AC_MSG_RESULT([ok (${host_cpu})]) @@ -271,8 +273,21 @@ case "${host_cpu}" in ARCH_MAX="s390x" ;; + armv8*) + AC_MSG_RESULT([ok (${host_cpu})]) + VGCONF_PLATFORM_ARM_ARCH="-marm -mcpu=cortex-a8" + ARCH_MAX="arm" + ;; + + armv7*) + AC_MSG_RESULT([ok (${host_cpu})]) + VGCONF_PLATFORM_ARM_ARCH="-march=armv7 -mcpu=cortex-a8" + ARCH_MAX="arm" + ;; + arm*) AC_MSG_RESULT([ok (${host_cpu})]) + VGCONF_PLATFORM_ARM_ARCH="-march=armv6" ARCH_MAX="arm" ;; @@ -316,6 +331,8 @@ case "${host_cpu}" in ;; esac +AC_SUBST(VGCONF_PLATFORM_ARM_ARCH) + #---------------------------------------------------------------------------- # Sometimes it's convenient to subvert the bi-arch build system and diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am index 4776ea7cea..79b957c573 100644 --- a/none/tests/arm/Makefile.am +++ b/none/tests/arm/Makefile.am @@ -61,17 +61,19 @@ v6intThumb_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb -v8crypto_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm -v8crypto_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb +v8crypto_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm -march=armv8-a +v8crypto_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb -march=armv8-a -v8fpsimd_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm -v8fpsimd_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb +v8fpsimd_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm -march=armv8-a +v8fpsimd_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb -march=armv8-a v8memory_a_CFLAGS = $(AM_CFLAGS) -g -O0 \ -march=armv8-a -mfpu=crypto-neon-fp-armv8 -marm v8memory_t_CFLAGS = $(AM_CFLAGS) -g -O0 \ -march=armv8-a -mfpu=crypto-neon-fp-armv8 -mthumb +vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mfpu=neon + vfp_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \ -mfpu=neon \ -mthumb