From d893fa43b788427c77386e97802847cdcffcbc8f Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 9 Mar 2012 15:20:06 -0700 Subject: [PATCH] - Fix AVX checks (#801650) --- glibc-rh801650-1.patch | 41 +++++++---------------------------------- glibc-rh801650-2.patch | 27 ++++++++++----------------- glibc.spec | 10 +++++++++- 3 files changed, 26 insertions(+), 52 deletions(-) diff --git a/glibc-rh801650-1.patch b/glibc-rh801650-1.patch index b20da75..a5c809b 100644 --- a/glibc-rh801650-1.patch +++ b/glibc-rh801650-1.patch @@ -4,40 +4,13 @@ Date: Thu Jan 26 07:45:14 2012 -0500 Reset bit_AVX in __cpu_features is OS support is missing -diff --git a/ChangeLog b/ChangeLog -index a0b355e..1e2284f 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,10 @@ -+2012-01-26 Ulrich Drepper -+ -+ [BZ #13583] -+ * sysdeps/x86_64/multiarch/init-arch.h: Define bit_OSXSAVE. -+ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): If -+ bit_AVX is set also check OSXAVE/XCR0 and reset bit_AVX if necessary. -+ - 2012-01-25 Joseph Myers - - * elf/tst-unique3.cc (gets): Remove declaration. -diff --git a/NEWS b/NEWS -index 5e062af..42e09c1 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,4 +1,4 @@ --GNU C Library NEWS -- history of user-visible changes. 2012-1-10 -+GNU C Library NEWS -- history of user-visible changes. 2012-1-26 - Copyright (C) 1992-2009, 2010, 2011, 2012 Free Software Foundation, Inc. - See the end for copying conditions. - -@@ -10,7 +10,7 @@ Version 2.16 - * The following bugs are resolved with this release: - - 13525, 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13530, -- 13551, 13552, 13553, 13555, 13559 -+ 13551, 13552, 13553, 13555, 13559, 13583 - - * ISO C11 support: - +2012-01-26 Ulrich Drepper + + [BZ #13583] + * sysdeps/x86_64/multiarch/init-arch.h: Define bit_OSXSAVE. + * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): If + bit_AVX is set also check OSXAVE/XCR0 and reset bit_AVX if necessary. + diff --git a/sysdeps/x86_64/multiarch/init-arch.c b/sysdeps/x86_64/multiarch/init-arch.c index 65b0ee9..4fabbee 100644 --- a/sysdeps/x86_64/multiarch/init-arch.c diff --git a/glibc-rh801650-2.patch b/glibc-rh801650-2.patch index bc8469b..6d1a1c4 100644 --- a/glibc-rh801650-2.patch +++ b/glibc-rh801650-2.patch @@ -8,26 +8,19 @@ Date: Thu Jan 26 09:45:54 2012 -0500 The math routines might since gcc perhaps generates such code. Introduce bit_YMM_USBALE and use it in the math routines. -diff --git a/ChangeLog b/ChangeLog -index 1e2284f..b413d27 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -2,8 +2,17 @@ - [BZ #13583] * sysdeps/x86_64/multiarch/init-arch.h: Define bit_OSXSAVE. -+ Clean up HAS_* macros. + Clean up HAS_* macros. * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): If -- bit_AVX is set also check OSXAVE/XCR0 and reset bit_AVX if necessary. -+ bit_AVX is set also check OSXAVE/XCR0 and set bit_YMM_Usable if -+ possible. -+ * sysdeps/x86_64/fpu/multiarch/e_atan2.c: Use HAS_YMM_USABLE, not -+ HAS_AVX. -+ * sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise. -+ * sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise. -+ * sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise. -+ * sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise. -+ * sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise. + bit_AVX is set also check OSXAVE/XCR0 and set bit_YMM_Usable if + possible. + * sysdeps/x86_64/fpu/multiarch/e_atan2.c: Use HAS_YMM_USABLE, not + HAS_AVX. + * sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise. 2012-01-25 Joseph Myers diff --git a/glibc.spec b/glibc.spec index a2e473b..8fffa08 100644 --- a/glibc.spec +++ b/glibc.spec @@ -28,7 +28,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 26%{?dist} +Release: 27%{?dist} # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -114,6 +114,9 @@ Patch39 : %{name}-rh758888.patch Patch40 : %{name}-rh800224.patch # From upstream Patch41 : %{name}-rh794797-2.patch +# From upstream +Patch42 : %{name}-rh801650-1.patch +Patch43 : %{name}-rh801650-2.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Obsoletes: glibc-profile < 2.4 @@ -373,6 +376,8 @@ rm -rf %{glibcportsdir} %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 +%patch43 -p1 # A lot of programs still misuse memcpy when they have to use # memmove. The memcpy implementation below is not tolerant at @@ -1225,6 +1230,9 @@ rm -f *.filelist* %endif %changelog +* Fri Mar 09 2012 Jeff Law - 2.15-27 + - Fix AVX checks (#801650) + * Wed Feb 29 2012 Jeff Law - 2.15-26 - Set errno properly in vfprintf (#794797) - Don't kill application when LD_PROFILE is set. (#800224)