[packages/glibc] - update git branch; fixes https://sourceware.org/bugzilla/show_bug.cgi?id=19058

arekm arekm at pld-linux.org
Wed Dec 2 14:25:07 CET 2015


commit 081083d798b09ae24edc40b43945606d4cdbb14b
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Wed Dec 2 14:25:02 2015 +0100

    - update git branch; fixes https://sourceware.org/bugzilla/show_bug.cgi?id=19058

 glibc-git.patch | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 149 insertions(+), 4 deletions(-)
---
diff --git a/glibc-git.patch b/glibc-git.patch
index c78b864..dc652b4 100644
--- a/glibc-git.patch
+++ b/glibc-git.patch
@@ -1,8 +1,20 @@
 diff --git a/ChangeLog b/ChangeLog
-index cb9124e..b1816c2 100644
+index cb9124e..842a7c6 100644
 --- a/ChangeLog
 +++ b/ChangeLog
-@@ -1,3 +1,223 @@
+@@ -1,3 +1,235 @@
++2015-11-27  Andrew Senkevich  <andrew.senkevich at intel.com>
++
++	[BZ #19058]
++	* math/Makefile ($(inst_libdir)/libm.so): Added libmvec_nonshared.a to
++	AS_NEEDED.
++	* sysdeps/x86/fpu/bits/math-vector.h: Removed code with asm aliases
++	workaround.
++	* sysdeps/x86_64/fpu/Makefile (libmvec-support,
++	libmvec-static-only-routines): Added new file.
++	* sysdeps/x86_64/fpu/svml_finite_alias.S: New file.
++	* NEWS: Mention this fix.
++
 +2015-11-20  Roland McGrath  <roland at hack.frob.com>
 +
 +	* sysdeps/nacl/dl-map-segments.h (_dl_map_segments): Use
@@ -227,7 +239,7 @@ index cb9124e..b1816c2 100644
  
  	* version.h (RELEASE): Set to "stable".
 diff --git a/NEWS b/NEWS
-index 4c31de7..30fe67c 100644
+index 4c31de7..e100318 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -5,6 +5,16 @@ See the end for copying conditions.
@@ -239,7 +251,7 @@ index 4c31de7..30fe67c 100644
 +* The following bugs are resolved with this release:
 +
 +  18589, 18743, 18778, 18781, 18787, 18796, 18870, 18887, 18921, 18928,
-+  18969, 19018, 19178.
++  18969, 19018, 19058, 19178.
 +
 +* The LD_POINTER_GUARD environment variable can no longer be used to
 +  disable the pointer guard feature.  It is always enabled.
@@ -943,6 +955,19 @@ index a39a94f..dc0fe30 100644
    write_locale_data (output_path, LC_COLLATE, "LC_COLLATE", &file);
  
    obstack_free (&weightpool, NULL);
+diff --git a/math/Makefile b/math/Makefile
+index 6388bae..76f99fb 100644
+--- a/math/Makefile
++++ b/math/Makefile
+@@ -98,7 +98,7 @@ $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
+ 	(echo '/* GNU ld script'; echo '*/';\
+ 	 cat $<; \
+ 	 echo 'GROUP ( $(slibdir)/libm.so$(libm.so-version) ' \
+-	      'AS_NEEDED ( $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \
++	      'AS_NEEDED ( $(slibdir)/libmvec_nonshared.a $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \
+ 	) > $@
+ endif
+ 
 diff --git a/misc/Makefile b/misc/Makefile
 index aecb0da..2f5edf6 100644
 --- a/misc/Makefile
@@ -1908,6 +1933,126 @@ index 6777123..ad8e31d 100644
    return SYSCALL_CANCEL (openat, fd, file, oflag, mode);
  }
  libc_hidden_def (__OPENAT)
+diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h
+index f9e798b..f3bfb86 100644
+--- a/sysdeps/x86/fpu/bits/math-vector.h
++++ b/sysdeps/x86/fpu/bits/math-vector.h
+@@ -53,34 +53,5 @@
+ #  undef __DECL_SIMD_powf
+ #  define __DECL_SIMD_powf __DECL_SIMD_x86_64
+ 
+-/* Workaround to exclude unnecessary symbol aliases in libmvec
+-   while GCC creates the vector names based on scalar asm name.
+-   Corresponding discussion started at
+-   <https://gcc.gnu.org/ml/gcc/2015-06/msg00173.html>.  */
+-__asm__ ("_ZGVbN2v___log_finite = _ZGVbN2v_log");
+-__asm__ ("_ZGVcN4v___log_finite = _ZGVcN4v_log");
+-__asm__ ("_ZGVdN4v___log_finite = _ZGVdN4v_log");
+-__asm__ ("_ZGVeN8v___log_finite = _ZGVeN8v_log");
+-__asm__ ("_ZGVbN4v___logf_finite = _ZGVbN4v_logf");
+-__asm__ ("_ZGVcN8v___logf_finite = _ZGVcN8v_logf");
+-__asm__ ("_ZGVdN8v___logf_finite = _ZGVdN8v_logf");
+-__asm__ ("_ZGVeN16v___logf_finite = _ZGVeN16v_logf");
+-__asm__ ("_ZGVbN2v___exp_finite = _ZGVbN2v_exp");
+-__asm__ ("_ZGVcN4v___exp_finite = _ZGVcN4v_exp");
+-__asm__ ("_ZGVdN4v___exp_finite = _ZGVdN4v_exp");
+-__asm__ ("_ZGVeN8v___exp_finite = _ZGVeN8v_exp");
+-__asm__ ("_ZGVbN4v___expf_finite = _ZGVbN4v_expf");
+-__asm__ ("_ZGVcN8v___expf_finite = _ZGVcN8v_expf");
+-__asm__ ("_ZGVdN8v___expf_finite = _ZGVdN8v_expf");
+-__asm__ ("_ZGVeN16v___expf_finite = _ZGVeN16v_expf");
+-__asm__ ("_ZGVbN2vv___pow_finite = _ZGVbN2vv_pow");
+-__asm__ ("_ZGVcN4vv___pow_finite = _ZGVcN4vv_pow");
+-__asm__ ("_ZGVdN4vv___pow_finite = _ZGVdN4vv_pow");
+-__asm__ ("_ZGVeN8vv___pow_finite = _ZGVeN8vv_pow");
+-__asm__ ("_ZGVbN4vv___powf_finite = _ZGVbN4vv_powf");
+-__asm__ ("_ZGVcN8vv___powf_finite = _ZGVcN8vv_powf");
+-__asm__ ("_ZGVdN8vv___powf_finite = _ZGVdN8vv_powf");
+-__asm__ ("_ZGVeN16vv___powf_finite = _ZGVeN16vv_powf");
+-
+ # endif
+ #endif
+diff --git a/sysdeps/x86_64/fpu/Makefile b/sysdeps/x86_64/fpu/Makefile
+index 1ebe511..b32b852 100644
+--- a/sysdeps/x86_64/fpu/Makefile
++++ b/sysdeps/x86_64/fpu/Makefile
+@@ -20,7 +20,10 @@ libmvec-support += svml_d_cos2_core svml_d_cos4_core_avx \
+ 		   svml_d_pow_data svml_s_powf4_core svml_s_powf8_core_avx \
+ 		   svml_s_powf8_core svml_s_powf16_core svml_s_powf_data \
+ 		   svml_s_sincosf4_core svml_s_sincosf8_core_avx \
+-		   svml_s_sincosf8_core svml_s_sincosf16_core init-arch
++		   svml_s_sincosf8_core svml_s_sincosf16_core init-arch \
++		   svml_finite_alias
++
++libmvec-static-only-routines = svml_finite_alias
+ endif
+ 
+ # Variables for libmvec tests.
+diff --git a/sysdeps/x86_64/fpu/svml_finite_alias.S b/sysdeps/x86_64/fpu/svml_finite_alias.S
+new file mode 100644
+index 0000000..f8bcfeb
+--- /dev/null
++++ b/sysdeps/x86_64/fpu/svml_finite_alias.S
+@@ -0,0 +1,59 @@
++/* These aliases added as workaround to exclude unnecessary symbol
++   aliases in libmvec.so while compiler creates the vector names
++   based on scalar asm name.  Corresponding discussion is at
++   <https://gcc.gnu.org/ml/gcc/2015-06/msg00173.html>.
++   Copyright (C) 2015 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   <http://www.gnu.org/licenses/>.  */
++
++#include <sysdep.h>
++
++#define ALIAS_IMPL(alias, target) \
++ENTRY (alias); \
++	call target; \
++	ret; \
++END (alias)
++
++	.text
++ALIAS_IMPL (_ZGVbN2v___log_finite, _ZGVbN2v_log)
++ALIAS_IMPL (_ZGVcN4v___log_finite, _ZGVcN4v_log)
++ALIAS_IMPL (_ZGVdN4v___log_finite, _ZGVdN4v_log)
++ALIAS_IMPL (_ZGVeN8v___log_finite, _ZGVeN8v_log)
++
++ALIAS_IMPL (_ZGVbN4v___logf_finite, _ZGVbN4v_logf)
++ALIAS_IMPL (_ZGVcN8v___logf_finite, _ZGVcN8v_logf)
++ALIAS_IMPL (_ZGVdN8v___logf_finite, _ZGVdN8v_logf)
++ALIAS_IMPL (_ZGVeN16v___logf_finite, _ZGVeN16v_logf)
++
++ALIAS_IMPL (_ZGVbN2v___exp_finite, _ZGVbN2v_exp)
++ALIAS_IMPL (_ZGVcN4v___exp_finite, _ZGVcN4v_exp)
++ALIAS_IMPL (_ZGVdN4v___exp_finite, _ZGVdN4v_exp)
++ALIAS_IMPL (_ZGVeN8v___exp_finite, _ZGVeN8v_exp)
++
++ALIAS_IMPL (_ZGVbN4v___expf_finite, _ZGVbN4v_expf)
++ALIAS_IMPL (_ZGVcN8v___expf_finite, _ZGVcN8v_expf)
++ALIAS_IMPL (_ZGVdN8v___expf_finite, _ZGVdN8v_expf)
++ALIAS_IMPL (_ZGVeN16v___expf_finite, _ZGVeN16v_expf)
++
++ALIAS_IMPL (_ZGVbN2vv___pow_finite, _ZGVbN2vv_pow)
++ALIAS_IMPL (_ZGVcN4vv___pow_finite, _ZGVcN4vv_pow)
++ALIAS_IMPL (_ZGVdN4vv___pow_finite, _ZGVdN4vv_pow)
++ALIAS_IMPL (_ZGVeN8vv___pow_finite, _ZGVeN8vv_pow)
++
++ALIAS_IMPL (_ZGVbN4vv___powf_finite, _ZGVbN4vv_powf)
++ALIAS_IMPL (_ZGVcN8vv___powf_finite, _ZGVcN8vv_powf)
++ALIAS_IMPL (_ZGVdN8vv___powf_finite, _ZGVdN8vv_powf)
++ALIAS_IMPL (_ZGVeN16vv___powf_finite, _ZGVeN16vv_powf)
 diff --git a/wcsmbs/wcscoll_l.c b/wcsmbs/wcscoll_l.c
 index 6d9384a..87f240d 100644
 --- a/wcsmbs/wcscoll_l.c
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/glibc.git/commitdiff/081083d798b09ae24edc40b43945606d4cdbb14b



More information about the pld-cvs-commit mailing list