From: Felix Riemann Date: Tue, 18 Oct 2022 15:20:44 +0000 (+0200) Subject: sysdeps: arm: Fix preconfigure script for ARMv8/v9 targets [BZ #29698] X-Git-Tag: glibc-2.37~238 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a885fc2d6897d3baa438e2594a92f0125f1258a9;p=thirdparty%2Fglibc.git sysdeps: arm: Fix preconfigure script for ARMv8/v9 targets [BZ #29698] The ARM preconfigure script tries to detect the capabilities of the target platform by checking the compiler's predefined architecture macros. However, if the compiler is tuning for AArch32 on ARMv8/v9 this step fails: checking for sysdeps preconfigure fragments... aarch64 alpha arc arm WARNING: arm/preconfigure: Did not find ARM architecture type; using default This is because preconfigure.ac doesn't escape the square brackets in the glob for matching compilers targeting ARMv8. Adding another pair of brackets to escape the first pair fixes this: checking for sysdeps preconfigure fragments... aarch64 alpha arc arm Found compiler is configured for something newer than v7 - using v7 Signed-off-by: Felix Riemann Reviewed-by: Adhemerval Zanella --- diff --git a/sysdeps/arm/preconfigure b/sysdeps/arm/preconfigure index e95c988f290..326bede5b5b 100644 --- a/sysdeps/arm/preconfigure +++ b/sysdeps/arm/preconfigure @@ -22,7 +22,7 @@ arm*) sed -n 's/^#define \(__ARM_ARCH_[0-9].*__\) .*$/\1/p'` case "x$archcppflag" in - x__ARM_ARCH_89*__) + x__ARM_ARCH_[89]*__) machine=armv7 { $as_echo "$as_me:${as_lineno-$LINENO}: Found compiler is configured for something newer than v7 - using v7" >&5 $as_echo "$as_me: Found compiler is configured for something newer than v7 - using v7" >&6;} diff --git a/sysdeps/arm/preconfigure.ac b/sysdeps/arm/preconfigure.ac index a523b4fb4c7..a7073852631 100644 --- a/sysdeps/arm/preconfigure.ac +++ b/sysdeps/arm/preconfigure.ac @@ -22,7 +22,7 @@ arm*) sed -n 's/^#define \(__ARM_ARCH_[0-9].*__\) .*$/\1/p'` case "x$archcppflag" in - x__ARM_ARCH_[89]*__) + x__ARM_ARCH_[[89]]*__) machine=armv7 AC_MSG_NOTICE([Found compiler is configured for something newer than v7 - using v7]) ;;