]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
x86: Properly set MINIMUM_X86_ISA_LEVEL for i386 [BZ #31867]
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 10 Jun 2024 20:02:06 +0000 (13:02 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 11 Jun 2024 07:10:08 +0000 (00:10 -0700)
On i386, set the default minimum ISA level to 0, not 1 (baseline which
includes SSE2).  There are no changes in config.h nor in config.make on
x86-64.  This fixes BZ #31867.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Tested-by: Ian Jordan <immoloism@gmail.com>
Reviewed-by: Sam James <sam@gentoo.org>
Reviewed-by: Florian Weimer <fweimer@redhat.com>
sysdeps/x86/configure
sysdeps/x86/configure.ac

index d28d9bcb296c63805f6bdc4c3201ef50978366fe..1e2325d0d7212d679a9352ebea7f75de0ae3b884 100644 (file)
@@ -139,8 +139,10 @@ libc_cv_have_x86_isa_level=4
 libc_cv_have_x86_isa_level=3
 #elif MINIMUM_X86_ISA_LEVEL == 2
 libc_cv_have_x86_isa_level=2
-#else
+#elif defined __x86_64__
 libc_cv_have_x86_isa_level=baseline
+#else
+libc_cv_have_x86_isa_level=MINIMUM_X86_ISA_LEVEL
 #endif
 EOF
                 eval `${CC-cc} $CFLAGS $CPPFLAGS $ISAFLAG -I$srcdir -E conftest.c | grep libc_cv_have_x86_isa_level`
@@ -148,8 +150,10 @@ EOF
 fi
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_x86_isa_level" >&5
 printf "%s\n" "$libc_cv_have_x86_isa_level" >&6; }
-else
+elif test $base_machine = x86_64; then
   libc_cv_have_x86_isa_level=baseline
+else
+  libc_cv_have_x86_isa_level=0
 fi
 if test $libc_cv_have_x86_isa_level = baseline; then
   printf "%s\n" "#define MINIMUM_X86_ISA_LEVEL 1" >>confdefs.h
index 5b0acd03d2a30c9b3073c93f5524c810215adaf9..0b32fdfd4f1bb115303a0ca71256215a06a7f384 100644 (file)
@@ -96,14 +96,18 @@ libc_cv_have_x86_isa_level=4
 libc_cv_have_x86_isa_level=3
 #elif MINIMUM_X86_ISA_LEVEL == 2
 libc_cv_have_x86_isa_level=2
-#else
+#elif defined __x86_64__
 libc_cv_have_x86_isa_level=baseline
+#else
+libc_cv_have_x86_isa_level=MINIMUM_X86_ISA_LEVEL
 #endif
 EOF
                 eval `${CC-cc} $CFLAGS $CPPFLAGS $ISAFLAG -I$srcdir -E conftest.c | grep libc_cv_have_x86_isa_level`
                 rm -rf conftest*])
-else
+elif test $base_machine = x86_64; then
   libc_cv_have_x86_isa_level=baseline
+else
+  libc_cv_have_x86_isa_level=0
 fi
 if test $libc_cv_have_x86_isa_level = baseline; then
   AC_DEFINE_UNQUOTED(MINIMUM_X86_ISA_LEVEL, 1)