diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-06-10 13:02:06 -0700 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-06-15 11:13:10 +0100 |
commit | b7f5b0a7114e29577daf64e68970673b61e5fcba (patch) | |
tree | 3cf8ddedd5d416831a6690800cab80b5324dbd63 | |
parent | e1d0040a6d1b0714e1ad14abeb7b90bfbd86a8dc (diff) | |
download | glibc-b7f5b0a7114e29577daf64e68970673b61e5fcba.zip glibc-b7f5b0a7114e29577daf64e68970673b61e5fcba.tar.gz glibc-b7f5b0a7114e29577daf64e68970673b61e5fcba.tar.bz2 |
x86: Properly set MINIMUM_X86_ISA_LEVEL for i386 [BZ #31867]
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>
(cherry picked from commit 09bc68b0ac26331a0109f0578c9368e09176da18)
-rw-r--r-- | sysdeps/x86/configure | 8 | ||||
-rw-r--r-- | sysdeps/x86/configure.ac | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure index d28d9bc..1e2325d 100644 --- a/sysdeps/x86/configure +++ b/sysdeps/x86/configure @@ -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 diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac index 5b0acd0..0b32fdf 100644 --- a/sysdeps/x86/configure.ac +++ b/sysdeps/x86/configure.ac @@ -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) |