summary refs log tree commit diff
path: root/sysdeps/arm
diff options
context:
space:
mode:
authorFelix Riemann <felix.riemann@sma.de>2022-10-18 17:20:44 +0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-10-20 11:23:05 -0300
commita885fc2d6897d3baa438e2594a92f0125f1258a9 (patch)
tree57ccf4759385a540d76cc3b1bf628b967b6ec2e5 /sysdeps/arm
parent0ff92021c045ee53b91bd42fa3fbbb923a6ffb17 (diff)
downloadglibc-a885fc2d6897d3baa438e2594a92f0125f1258a9.tar.gz
glibc-a885fc2d6897d3baa438e2594a92f0125f1258a9.tar.xz
glibc-a885fc2d6897d3baa438e2594a92f0125f1258a9.zip
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 <felix.riemann@sma.de>
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/arm')
-rw-r--r--sysdeps/arm/preconfigure2
-rw-r--r--sysdeps/arm/preconfigure.ac2
2 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/arm/preconfigure b/sysdeps/arm/preconfigure
index e95c988f29..326bede5b5 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 a523b4fb4c..a707385263 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])
     ;;