Hello community,
here is the log from the commit of package glibc for openSUSE:Factory checked in at 2016-04-22 16:15:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
and /work/SRC/openSUSE:Factory/.glibc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc-testsuite.changes 2016-02-22 10:09:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.glibc.new/glibc-testsuite.changes 2016-04-22 16:16:00.000000000 +0200
@@ -1,0 +2,82 @@
+Mon Apr 11 08:00:07 UTC 2016 - schwab@suse.de
+
+- Add compatibility symlinks for LSB 3.0 (fate#318933)
+
+-------------------------------------------------------------------
+Mon Mar 21 11:57:49 UTC 2016 - schwab@suse.de
+
+- powerpc-elision-enable-envvar.patch: enable TLE only if
+ GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236)
+
+-------------------------------------------------------------------
+Tue Mar 15 10:44:46 UTC 2016 - schwab@suse.de
+
+- ldd-system-interp.patch: Restore warning about execution permission, it
+ is still needed for noexec mounts (bsc#915985)
+
+-------------------------------------------------------------------
+Tue Mar 8 15:28:16 UTC 2016 - idonmez@suse.com
+
+- Add C.UTF-8 locale (see https://sourceware.org/glibc/wiki/Proposals/C.UTF-8)
+ and rh#902094 . Added with glibc-c-utf8-locale.patch.
+- Add glibc-disable-gettext-for-c-utf8.patch to disable gettext for
+ C.UTF-8 same as C locale.
+
+-------------------------------------------------------------------
+Mon Mar 7 14:47:50 UTC 2016 - schwab@suse.de
+
+- Move %install_info_delete to %preun
+- crypt_blowfish-1.3.tar.gz.sign: Remove, the sign key is no longer
+ acceptable
+
+-------------------------------------------------------------------
+Tue Feb 23 16:11:36 UTC 2016 - schwab@suse.de
+
+- no-long-double.patch: Don't use long double functions if NO_LONG_DOUBLE
+
+-------------------------------------------------------------------
+Mon Feb 22 11:05:12 UTC 2016 - schwab@suse.de
+
+- Update to glibc 2.23 release.
+ * Unicode 8.0.0 Support
+ * sched_setaffinity, pthread_setaffinity_np no longer attempt to guess
+ the kernel-internal CPU set size
+ * The fts.h header can now be used with -D_FILE_OFFSET_BITS=64
+ * getaddrinfo now detects certain invalid responses on an internal
+ netlink socket
+ * A defect in the malloc implementation, present since glibc 2.15 (2012)
+ or glibc 2.10 via --enable-experimental-malloc (2009), could result in
+ the unnecessary serialization of memory allocation requests across
+ threads
+ * The obsolete header has been removed
+ * The obsolete functions bdflush, create_module, get_kernel_syms,
+ query_module and uselib are no longer available to newly linked
+ binaries
+ * Optimized string, wcsmbs and memory functions for IBM z13.
+ * Newly linked programs that define a variable called signgam will no
+ longer have it set by the lgamma, lgammaf and lgammal functions
+- Removed patches:
+ * dont-remove-nodelete-flag.patch
+ * openat64-readd-o-largefile.patch
+ * mntent-blank-line.patch
+ * opendir-o-directory-check.patch
+ * strcoll-remove-strdiff-opt.patch
+ * ld-pointer-guard.patch
+ * tls-dtor-list-mangling.patch
+ * powerpc-lock-elision-race.patch
+ * prelink-elf-rtype-class.patch
+ * vector-finite-math-aliases.patch
+ * powerpc-elision-adapt-param.patch
+ * catopen-unbound-alloca.patch
+ * strftime-range-check.patch
+ * hcreate-overflow-check.patch
+ * errorcheck-mutex-no-elision.patch
+ * refactor-nan-parsing.patch
+ * send-dg-buffer-overflow.patch
+ * isinf-cxx11-conflict.patch
+ * ibm93x-redundant-shift-si.patch
+ * iconv-reset-input-buffer.patch
+ * tzset-tzname.patch
+ * static-dlopen.patch
+
+-------------------------------------------------------------------
@@ -42 +124 @@
- on fork (BZ #19282)
+ on fork (bsc#958315, BZ #19282)
@@ -47 +129 @@
-- resolv-mem-leak.patch: Fix resource leak in resolver (BZ #19257)
+- resolv-mem-leak.patch: Fix resource leak in resolver (bsc#955647, BZ #19257)
@@ -59,2 +141,2 @@
-- ld-pointer-guard.patch: Always enable pointer guard (bsc#950944, BZ
- #18928)
+- ld-pointer-guard.patch: Always enable pointer guard (CVE-2015-8777,
+ bsc#950944, BZ #18928)
@@ -118 +200 @@
- requests has been fixed.
+ requests has been fixed. (CVE-2015-1781)
@@ -128,0 +211,2 @@
+ * bsc#905313 bsc#920338 bsc#927080 bsc#928723 bsc#931480 bsc#939211
+ bsc#940195 bsc#940332
@@ -192 +276 @@
- getXXent and getXXbyYY NSS calls (bsc#918187, BZ #18007)
+ getXXent and getXXbyYY NSS calls (CVE-2014-8121, bsc#918187, BZ #18007)
@@ -232,0 +317,2 @@
+ * CVE-2015-1472 CVE-2015-1473 CVE-2104-7817 CVE-2012-3406 CVE-2014-9402
+ CVE-2014-7817 bsc#864081 bsc#906371 bsc#909053 bsc#910599 bsc#916222
@@ -271,0 +358 @@
+ * CVE-2013-7423 bsc#915526 bsc#934084
glibc-utils.changes: same change
glibc.changes: same change
Old:
----
catopen-unbound-alloca.patch
crypt_blowfish-1.3.tar.gz.sign
dont-remove-nodelete-flag.patch
errorcheck-mutex-no-elision.patch
glibc-2.22.tar.xz
glibc-2.22.tar.xz.sig
hcreate-overflow-check.patch
ibm93x-redundant-shift-si.patch
isinf-cxx11-conflict.patch
ld-pointer-guard.patch
mntent-blank-line.patch
openat64-readd-o-largefile.patch
opendir-o-directory-check.patch
powerpc-elision-adapt-param.patch
powerpc-lock-elision-race.patch
prelink-elf-rtype-class.patch
refactor-nan-parsing.patch
send-dg-buffer-overflow.patch
static-dlopen.patch
strcoll-remove-strdiff-opt.patch
strftime-range-check.patch
tls-dtor-list-mangling.patch
tzset-tzname.patch
vector-finite-math-aliases.patch
New:
----
glibc-2.23.tar.xz
glibc-2.23.tar.xz.sig
glibc-c-utf8-locale.patch
glibc-disable-gettext-for-c-utf8.patch
no-long-double.patch
powerpc-elision-enable-envvar.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -45,6 +45,7 @@
BuildRequires: xz
%if %{testsuite_build}
BuildRequires: gcc-c++
+BuildRequires: glibc-devel-static
BuildRequires: libstdc++-devel
%endif
%if %{utils_build}
@@ -102,9 +103,9 @@
# 3.1 is the openSUSE 12.1 kernel
%define enablekernel 3.0
-Version: 2.22
+Version: 2.23
Release: 0
-%define git_id bbab82c25da9
+%define git_id 10ed3a0ffbb4
Url: http://www.gnu.org/software/libc/libc.html
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#Source: glibc-%{version}-%{git_id}.tar.xz
@@ -123,7 +124,8 @@
Source21: nscd.service
# crypt_blowfish
Source50: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz
-Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
+# The sign key uses MD5 which is no longer accepted by gpg
+#Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
%if %{normal_build}
# ngpt was used in 8.1 and SLES8
@@ -208,6 +210,8 @@
Patch18: glibc-cpusetsize.diff
# PATCH-FEATURE-SLE Use nscd user for nscd
Patch19: nscd-server-user.patch
+# PATCH-FEATURE-SLE powerpc: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
+Patch21: powerpc-elision-enable-envvar.patch
### Locale related patches
# PATCH-FIX-OPENSUSE Add additional locales
@@ -216,6 +220,10 @@
Patch102: glibc-2.4.90-no_NO.diff
# PATCH-FIX-OPENSUSE -- Renames for China
Patch103: glibc-2.4-china.diff
+# PATCH-FIX-OPENSUSE -- Add C.UTF-8 locale
+Patch104: glibc-c-utf8-locale.patch
+# PATCH-FIX-OPENSUSE -- Disable gettext for C.UTF-8 locale
+Patch105: glibc-disable-gettext-for-c-utf8.patch
### Broken patches in glibc that we revert for now:
@@ -232,42 +240,10 @@
###
# Patches from upstream
###
-# PATCH-FIX-UPSTREAM Clear DF_1_NODELETE flag only for failed to load library (BZ #18778)
-Patch1000: dont-remove-nodelete-flag.patch
-# PATCH-FIX-UPSTREAM Readd O_LARGEFILE flag for openat64 (BZ #18781)
-Patch1001: openat64-readd-o-largefile.patch
-# PATCH-FIX-UPSTREAM getmntent: fix memory corruption w/blank lines (BZ #18887)
-Patch1002: mntent-blank-line.patch
-# PATCH-FIX-UPSTREAM Fix opendir inverted o_directory_works test (BZ #18921)
-Patch1003: opendir-o-directory-check.patch
-# PATCH-FIX-UPSTREAM strcoll: Remove incorrect STRDIFF-based optimization (BZ #18589)
-Patch1004: strcoll-remove-strdiff-opt.patch
-# PATCH-FIX-UPSTREAM Always enable pointer guard (BZ #18928)
-Patch1005: ld-pointer-guard.patch
-# PATCH-FIX-UPSTREAM Harden tls_dtor_list with pointer mangling (BZ #19018)
-Patch1006: tls-dtor-list-mangling.patch
-# PATCH-FIX-UPSTREAM PowerPC: Fix a race condition when eliding a lock (BZ #18743)
-Patch1007: powerpc-lock-elision-race.patch
-# PATCH-FIX-UPSTREAM Keep only ELF_RTYPE_CLASS_{PLT|COPY} bits for prelink (BZ #19178)
-Patch1008: prelink-elf-rtype-class.patch
-# PATCH-FIX-UPSTREAM Better workaround for aliases of *_finite symbols in vector math library (BZ# 19058)
-Patch1009: vector-finite-math-aliases.patch
-# PATCH-FIX-UPSTREAM powerpc: Fix usage of elision transient failure adapt param (BZ #19174)
-Patch1010: powerpc-elision-adapt-param.patch
-# PATCH-FIX-UPSTREAM Fix unbound alloca in catopen (CVE-2015-8779, BZ #17905)
-Patch1011: catopen-unbound-alloca.patch
-# PATCH-FIX-UPSTREAM Add range check on time fields (CVE-2015-8776, BZ #18985)
-Patch1012: strftime-range-check.patch
-# PATCH-FIX-UPSTREAM Handle overflow in hcreate (CVE-2015-8778, BZ #18240)
-Patch1013: hcreate-overflow-check.patch
-# PATCH-FIX-UPSTREAM Don't do lock elision on an error checking mutex (BZ #17514)
-Patch1014: errorcheck-mutex-no-elision.patch
-# PATCH-FIX-UPSTREAM Refactor strtod parsing of NaN payloads (CVE-2014-9761, BZ #16962)
-Patch1015: refactor-nan-parsing.patch
-# PATCH-FIX-UPSTREAM Fix getaddrinfo stack-based buffer overflow (CVE-2015-7547, BZ #18665)
-Patch1016: send-dg-buffer-overflow.patch
-# PATCH-FIX-UPSTREAM Fix isinf/isnan declaration conflict with C++11 (BZ #19439)
-Patch1017: isinf-cxx11-conflict.patch
+# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
+Patch1000: resolv-mem-leak.patch
+# PATCH-FIX-UPSTREAM Don't use long double functions if NO_LONG_DOUBLE
+Patch1001: no-long-double.patch
###
# Patches awaiting upstream approval
@@ -275,27 +251,19 @@
# PATCH-FIX-UPSTREAM Always to locking when accessing streams (BZ #15142)
Patch2000: fix-locking-in-_IO_cleanup.patch
# PATCH-FIX-UPSTREAM Never try to execute the file in ldd (BZ #16750)
-Patch2002: ldd-system-interp.patch
+Patch2001: ldd-system-interp.patch
# PATCH-FIX-UPSTREAM Don't close or flush stdio streams on abort (BZ #15436)
-Patch2003: abort-no-flush.patch
+Patch2002: abort-no-flush.patch
# PATCH-FIX-UPSTREAM Speedup memset on x86-64 for large block sizes (BZ #16830)
-Patch2005: glibc-memset-nontemporal.diff
-# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
-Patch2006: ibm93x-redundant-shift-si.patch
-# PATCH-FIX-UPSTREAM Static dlopen default library search path fix (BZ #17250)
-Patch2007: static-dlopen.patch
+Patch2003: glibc-memset-nontemporal.diff
# PATCH-FIX-UPSTREAM Fix fnmatch handling of collating elements (BZ #17396, BZ #16976)
-Patch2008: fnmatch-collating-elements.patch
+Patch2004: fnmatch-collating-elements.patch
# PATCH-FIX-UPSTREAM Properly reread entry after failure in nss_files getent function (BZ #18991)
-Patch2009: nss-files-long-lines-2.patch
+Patch2005: nss-files-long-lines-2.patch
# PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830)
-Patch2010: iconv-reset-input-buffer.patch
-# PATCH-FIX-UPSTREAM Force rereading TZDEFRULES after it was used to set DST rules only (BZ #19253)
-Patch2011: tzset-tzname.patch
-# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
-Patch2012: resolv-mem-leak.patch
+Patch2006: iconv-reset-input-buffer.patch
# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282)
-Patch2013: reinitialize-dl_load_write_lock.patch
+Patch2008: reinitialize-dl_load_write_lock.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -312,7 +280,7 @@
License: GFDL-1.1
Group: Documentation/Other
Requires(post): %{install_info_prereq}
-Requires(postun): %{install_info_prereq}
+Requires(preun): %{install_info_prereq}
BuildArch: noarch
%description info
@@ -485,10 +453,13 @@
%patch15 -p1
%patch18 -p1
%patch19 -p1
+%patch21 -p1
%patch100 -p1
%patch102 -p1
%patch103 -p1
+%patch104 -p1
+%patch105 -p1
%patch300 -p1
%patch301 -p1
@@ -497,35 +468,15 @@
%patch1000 -p1
%patch1001 -p1
-%patch1002 -p1
-%patch1003 -p1
-%patch1004 -p1
-%patch1005 -p1
-%patch1006 -p1
-%patch1007 -p1
-%patch1008 -p1
-%patch1009 -p1
-%patch1010 -p1
-%patch1011 -p1
-%patch1012 -p1
-%patch1013 -p1
-%patch1014 -p1
-%patch1015 -p1
-%patch1016 -p1
-%patch1017 -p1
%patch2000 -p1
+%patch2001 -p1
%patch2002 -p1
%patch2003 -p1
+%patch2004 -p1
%patch2005 -p1
%patch2006 -p1
-%patch2007 -p1
%patch2008 -p1
-%patch2009 -p1
-%patch2010 -p1
-%patch2011 -p1
-%patch2012 -p1
-%patch2013 -p1
%patch3000
@@ -680,7 +631,8 @@
%endif
--enable-kernel=%{enablekernel} \
--with-bugurl=http://bugs.opensuse.org \
- --enable-bind-now --enable-obsolete-rpc
+ --enable-bind-now --enable-obsolete-rpc \
+ --disable-timezone-tools
# Should we enable --enable-systemtap?
# Should we enable --enable-nss-crypt to build use freebl3 hash functions?
# explicitly set CFLAGS to use the full CFLAGS (not the reduced one for configure)
@@ -920,10 +872,6 @@
mkdir -p %{buildroot}/%{_lib}/obsolete
%endif
-# NPTL is not usable outside of glibc, so include
-# the generic one (RH#162634)
-cp -av bits/stdio-lock.h %{buildroot}%{_includedir}/bits/stdio-lock.h
-
# Miscelanna:
install -m 0700 glibc_post_upgrade %{buildroot}%{_sbindir}
@@ -997,11 +945,7 @@
# Don't look at ldd! We don't wish a /bin/sh requires
chmod 644 %{buildroot}%{_bindir}/ldd
-# Remove timezone data, now coming in standalone package:
-for i in sbin/sln usr/bin/tzselect usr/sbin/zic usr/sbin/zdump etc/localtime; do
- rm -f %{buildroot}/$i
-done
-rm -rf %{buildroot}%{_datadir}/zoneinfo
+rm -f %{buildroot}/sbin/sln
# Remove the buildflags tracking section and the build-id
for o in %{buildroot}/%{_libdir}/crt[1in].o %{buildroot}/%{_libdir}/lib*_nonshared.a; do
@@ -1043,6 +987,26 @@
rm -rf %{buildroot}/run/nscd
%endif # i686
+# LSB
+%ifarch %ix86
+ln -sf /%{_lib}/ld-linux.so.2 $RPM_BUILD_ROOT/%{_lib}/ld-lsb.so.3
+%endif
+%ifarch x86_64
+ln -sf /%{_lib}/ld-linux-x86-64.so.2 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-x86-64.so.3
+%endif
+%ifarch ppc
+ln -sf /%{_lib}/ld.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-ppc32.so.3
+%endif
+%ifarch ppc64
+ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-ppc64.so.3
+%endif
+%ifarch s390
+ln -sf /%{_lib}/ld.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390.so.3
+%endif
+%ifarch s390x
+ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390x.so.3
+%endif
+
%endif # %{normal_build}
%if %{utils_build}
@@ -1084,7 +1048,7 @@
%post info
%install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
-%postun info
+%preun info
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz
%pre -n nscd
@@ -1168,6 +1132,10 @@
/lib/ld-linux-aarch64.so.1
/%{_lib}/ld-linux-aarch64.so.1
%endif
+%ifarch %ix86 x86_64 ppc ppc64 s390 s390x
+# LSB
+/%{_lib}/*-lsb*.so.3
+%endif
/%{_lib}/libBrokenLocale-%{version}.so
/%{_lib}/libBrokenLocale.so.1
glibc-utils.spec: same change
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -45,6 +45,7 @@
BuildRequires: xz
%if %{testsuite_build}
BuildRequires: gcc-c++
+BuildRequires: glibc-devel-static
BuildRequires: libstdc++-devel
%endif
%if %{utils_build}
@@ -102,9 +103,9 @@
# 3.1 is the openSUSE 12.1 kernel
%define enablekernel 3.0
-Version: 2.22
+Version: 2.23
Release: 0
-%define git_id bbab82c25da9
+%define git_id 10ed3a0ffbb4
Url: http://www.gnu.org/software/libc/libc.html
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#Source: glibc-%{version}-%{git_id}.tar.xz
@@ -123,7 +124,8 @@
Source21: nscd.service
# crypt_blowfish
Source50: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz
-Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
+# The sign key uses MD5 which is no longer accepted by gpg
+#Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
%if %{normal_build}
# ngpt was used in 8.1 and SLES8
@@ -208,6 +210,8 @@
Patch18: glibc-cpusetsize.diff
# PATCH-FEATURE-SLE Use nscd user for nscd
Patch19: nscd-server-user.patch
+# PATCH-FEATURE-SLE powerpc: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
+Patch21: powerpc-elision-enable-envvar.patch
### Locale related patches
# PATCH-FIX-OPENSUSE Add additional locales
@@ -216,6 +220,10 @@
Patch102: glibc-2.4.90-no_NO.diff
# PATCH-FIX-OPENSUSE -- Renames for China
Patch103: glibc-2.4-china.diff
+# PATCH-FIX-OPENSUSE -- Add C.UTF-8 locale
+Patch104: glibc-c-utf8-locale.patch
+# PATCH-FIX-OPENSUSE -- Disable gettext for C.UTF-8 locale
+Patch105: glibc-disable-gettext-for-c-utf8.patch
### Broken patches in glibc that we revert for now:
@@ -232,42 +240,10 @@
###
# Patches from upstream
###
-# PATCH-FIX-UPSTREAM Clear DF_1_NODELETE flag only for failed to load library (BZ #18778)
-Patch1000: dont-remove-nodelete-flag.patch
-# PATCH-FIX-UPSTREAM Readd O_LARGEFILE flag for openat64 (BZ #18781)
-Patch1001: openat64-readd-o-largefile.patch
-# PATCH-FIX-UPSTREAM getmntent: fix memory corruption w/blank lines (BZ #18887)
-Patch1002: mntent-blank-line.patch
-# PATCH-FIX-UPSTREAM Fix opendir inverted o_directory_works test (BZ #18921)
-Patch1003: opendir-o-directory-check.patch
-# PATCH-FIX-UPSTREAM strcoll: Remove incorrect STRDIFF-based optimization (BZ #18589)
-Patch1004: strcoll-remove-strdiff-opt.patch
-# PATCH-FIX-UPSTREAM Always enable pointer guard (BZ #18928)
-Patch1005: ld-pointer-guard.patch
-# PATCH-FIX-UPSTREAM Harden tls_dtor_list with pointer mangling (BZ #19018)
-Patch1006: tls-dtor-list-mangling.patch
-# PATCH-FIX-UPSTREAM PowerPC: Fix a race condition when eliding a lock (BZ #18743)
-Patch1007: powerpc-lock-elision-race.patch
-# PATCH-FIX-UPSTREAM Keep only ELF_RTYPE_CLASS_{PLT|COPY} bits for prelink (BZ #19178)
-Patch1008: prelink-elf-rtype-class.patch
-# PATCH-FIX-UPSTREAM Better workaround for aliases of *_finite symbols in vector math library (BZ# 19058)
-Patch1009: vector-finite-math-aliases.patch
-# PATCH-FIX-UPSTREAM powerpc: Fix usage of elision transient failure adapt param (BZ #19174)
-Patch1010: powerpc-elision-adapt-param.patch
-# PATCH-FIX-UPSTREAM Fix unbound alloca in catopen (CVE-2015-8779, BZ #17905)
-Patch1011: catopen-unbound-alloca.patch
-# PATCH-FIX-UPSTREAM Add range check on time fields (CVE-2015-8776, BZ #18985)
-Patch1012: strftime-range-check.patch
-# PATCH-FIX-UPSTREAM Handle overflow in hcreate (CVE-2015-8778, BZ #18240)
-Patch1013: hcreate-overflow-check.patch
-# PATCH-FIX-UPSTREAM Don't do lock elision on an error checking mutex (BZ #17514)
-Patch1014: errorcheck-mutex-no-elision.patch
-# PATCH-FIX-UPSTREAM Refactor strtod parsing of NaN payloads (CVE-2014-9761, BZ #16962)
-Patch1015: refactor-nan-parsing.patch
-# PATCH-FIX-UPSTREAM Fix getaddrinfo stack-based buffer overflow (CVE-2015-7547, BZ #18665)
-Patch1016: send-dg-buffer-overflow.patch
-# PATCH-FIX-UPSTREAM Fix isinf/isnan declaration conflict with C++11 (BZ #19439)
-Patch1017: isinf-cxx11-conflict.patch
+# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
+Patch1000: resolv-mem-leak.patch
+# PATCH-FIX-UPSTREAM Don't use long double functions if NO_LONG_DOUBLE
+Patch1001: no-long-double.patch
###
# Patches awaiting upstream approval
@@ -275,27 +251,19 @@
# PATCH-FIX-UPSTREAM Always to locking when accessing streams (BZ #15142)
Patch2000: fix-locking-in-_IO_cleanup.patch
# PATCH-FIX-UPSTREAM Never try to execute the file in ldd (BZ #16750)
-Patch2002: ldd-system-interp.patch
+Patch2001: ldd-system-interp.patch
# PATCH-FIX-UPSTREAM Don't close or flush stdio streams on abort (BZ #15436)
-Patch2003: abort-no-flush.patch
+Patch2002: abort-no-flush.patch
# PATCH-FIX-UPSTREAM Speedup memset on x86-64 for large block sizes (BZ #16830)
-Patch2005: glibc-memset-nontemporal.diff
-# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
-Patch2006: ibm93x-redundant-shift-si.patch
-# PATCH-FIX-UPSTREAM Static dlopen default library search path fix (BZ #17250)
-Patch2007: static-dlopen.patch
+Patch2003: glibc-memset-nontemporal.diff
# PATCH-FIX-UPSTREAM Fix fnmatch handling of collating elements (BZ #17396, BZ #16976)
-Patch2008: fnmatch-collating-elements.patch
+Patch2004: fnmatch-collating-elements.patch
# PATCH-FIX-UPSTREAM Properly reread entry after failure in nss_files getent function (BZ #18991)
-Patch2009: nss-files-long-lines-2.patch
+Patch2005: nss-files-long-lines-2.patch
# PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830)
-Patch2010: iconv-reset-input-buffer.patch
-# PATCH-FIX-UPSTREAM Force rereading TZDEFRULES after it was used to set DST rules only (BZ #19253)
-Patch2011: tzset-tzname.patch
-# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
-Patch2012: resolv-mem-leak.patch
+Patch2006: iconv-reset-input-buffer.patch
# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282)
-Patch2013: reinitialize-dl_load_write_lock.patch
+Patch2008: reinitialize-dl_load_write_lock.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -312,7 +280,7 @@
License: GFDL-1.1
Group: Documentation/Other
Requires(post): %{install_info_prereq}
-Requires(postun): %{install_info_prereq}
+Requires(preun): %{install_info_prereq}
BuildArch: noarch
%description info
@@ -485,10 +453,13 @@
%patch15 -p1
%patch18 -p1
%patch19 -p1
+%patch21 -p1
%patch100 -p1
%patch102 -p1
%patch103 -p1
+%patch104 -p1
+%patch105 -p1
%patch300 -p1
%patch301 -p1
@@ -497,35 +468,15 @@
%patch1000 -p1
%patch1001 -p1
-%patch1002 -p1
-%patch1003 -p1
-%patch1004 -p1
-%patch1005 -p1
-%patch1006 -p1
-%patch1007 -p1
-%patch1008 -p1
-%patch1009 -p1
-%patch1010 -p1
-%patch1011 -p1
-%patch1012 -p1
-%patch1013 -p1
-%patch1014 -p1
-%patch1015 -p1
-%patch1016 -p1
-%patch1017 -p1
%patch2000 -p1
+%patch2001 -p1
%patch2002 -p1
%patch2003 -p1
+%patch2004 -p1
%patch2005 -p1
%patch2006 -p1
-%patch2007 -p1
%patch2008 -p1
-%patch2009 -p1
-%patch2010 -p1
-%patch2011 -p1
-%patch2012 -p1
-%patch2013 -p1
%patch3000
@@ -680,7 +631,8 @@
%endif
--enable-kernel=%{enablekernel} \
--with-bugurl=http://bugs.opensuse.org \
- --enable-bind-now --enable-obsolete-rpc
+ --enable-bind-now --enable-obsolete-rpc \
+ --disable-timezone-tools
# Should we enable --enable-systemtap?
# Should we enable --enable-nss-crypt to build use freebl3 hash functions?
# explicitly set CFLAGS to use the full CFLAGS (not the reduced one for configure)
@@ -920,10 +872,6 @@
mkdir -p %{buildroot}/%{_lib}/obsolete
%endif
-# NPTL is not usable outside of glibc, so include
-# the generic one (RH#162634)
-cp -av bits/stdio-lock.h %{buildroot}%{_includedir}/bits/stdio-lock.h
-
# Miscelanna:
install -m 0700 glibc_post_upgrade %{buildroot}%{_sbindir}
@@ -997,11 +945,7 @@
# Don't look at ldd! We don't wish a /bin/sh requires
chmod 644 %{buildroot}%{_bindir}/ldd
-# Remove timezone data, now coming in standalone package:
-for i in sbin/sln usr/bin/tzselect usr/sbin/zic usr/sbin/zdump etc/localtime; do
- rm -f %{buildroot}/$i
-done
-rm -rf %{buildroot}%{_datadir}/zoneinfo
+rm -f %{buildroot}/sbin/sln
# Remove the buildflags tracking section and the build-id
for o in %{buildroot}/%{_libdir}/crt[1in].o %{buildroot}/%{_libdir}/lib*_nonshared.a; do
@@ -1043,6 +987,26 @@
rm -rf %{buildroot}/run/nscd
%endif # i686
+# LSB
+%ifarch %ix86
+ln -sf /%{_lib}/ld-linux.so.2 $RPM_BUILD_ROOT/%{_lib}/ld-lsb.so.3
+%endif
+%ifarch x86_64
+ln -sf /%{_lib}/ld-linux-x86-64.so.2 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-x86-64.so.3
+%endif
+%ifarch ppc
+ln -sf /%{_lib}/ld.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-ppc32.so.3
+%endif
+%ifarch ppc64
+ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-ppc64.so.3
+%endif
+%ifarch s390
+ln -sf /%{_lib}/ld.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390.so.3
+%endif
+%ifarch s390x
+ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/%{_lib}/ld-lsb-s390x.so.3
+%endif
+
%endif # %{normal_build}
%if %{utils_build}
@@ -1084,7 +1048,7 @@
%post info
%install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
-%postun info
+%preun info
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz
%pre -n nscd
@@ -1168,6 +1132,10 @@
/lib/ld-linux-aarch64.so.1
/%{_lib}/ld-linux-aarch64.so.1
%endif
+%ifarch %ix86 x86_64 ppc ppc64 s390 s390x
+# LSB
+/%{_lib}/*-lsb*.so.3
+%endif
/%{_lib}/libBrokenLocale-%{version}.so
/%{_lib}/libBrokenLocale.so.1
++++++ fix-locking-in-_IO_cleanup.patch ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -186,7 +186,7 @@
if (! dealloc_buffers && !(fp->_flags & _IO_USER_BUF))
@@ -980,8 +934,8 @@ _IO_unbuffer_write (void)
- _IO_SETBUF (fp, NULL, 0);
+ _IO_wsetb (fp, NULL, NULL, 0);
#ifdef _IO_MTSAFE_IO
- if (cnt < MAXTRIES && fp->_lock != NULL)
++++++ glibc-2.14-crypt.diff ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -44,11 +44,11 @@
*/
char *
--__crypt_r (key, salt, data)
-+__des_crypt_r (key, salt, data)
- const char *key;
- const char *salt;
- struct crypt_data * __restrict data;
+-__crypt_r (const char *key, const char *salt,
++__des_crypt_r (const char *key, const char *salt,
+ struct crypt_data * __restrict data)
+ {
+ ufc_long res[4];
@@ -145,6 +145,7 @@ __crypt_r (key, salt, data)
_ufc_output_conversion_r (res[0], res[1], salt, data);
return data->crypt_3_buf;
@@ -91,269 +91,242 @@
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/aarch64/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/alpha/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/alpha/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/arm/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/arm/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/hppa/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/hppa/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/i386/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/i386/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/ia64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/ia64/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/m68k/coldfire/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/m68k/coldfire/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/m68k/m680x0/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/m68k/m680x0/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/microblaze/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/microblaze/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/fpu/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/fpu/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n32/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/mips/mips64/n64/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt-le.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt-le.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/powerpc/powerpc64/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-32/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/s390/s390-64/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/sh/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/sh/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc32/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/sparc/sparc64/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/tile/tilepro/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/tile/tilepro/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/x86_64/64/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/x86_64/64/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
Index: glibc-2.20/sysdeps/unix/sysv/linux/x86_64/x32/libowcrypt.abilist
===================================================================
--- /dev/null
+++ glibc-2.20/sysdeps/unix/sysv/linux/x86_64/x32/libowcrypt.abilist
-@@ -0,0 +1,5 @@
-+OW_CRYPT_1.0
-+ OW_CRYPT_1.0 A
-+ crypt_gensalt F
-+ crypt_gensalt_ra F
-+ crypt_gensalt_rn F
+@@ -0,0 +1,4 @@
++OW_CRYPT_1.0 OW_CRYPT_1.0 A
++OW_CRYPT_1.0 crypt_gensalt F
++OW_CRYPT_1.0 crypt_gensalt_ra F
++OW_CRYPT_1.0 crypt_gensalt_rn F
++++++ glibc-2.22.tar.xz -> glibc-2.23.tar.xz ++++++
/work/SRC/openSUSE:Factory/glibc/glibc-2.22.tar.xz /work/SRC/openSUSE:Factory/.glibc.new/glibc-2.23.tar.xz differ: char 26, line 1
++++++ glibc-c-utf8-locale.patch ++++++
From 2eda7b462b415105f5a05c1323372d4e39d46439 Mon Sep 17 00:00:00 2001
From: Mike FABIAN
Date: Mon, 10 Aug 2015 15:58:12 +0200
Subject: [PATCH] Add a C.UTF-8 locale
---
localedata/SUPPORTED | 1 +
localedata/locales/C | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 239 insertions(+)
create mode 100644 localedata/locales/C
diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index 8ca023e..2a78391 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -1,6 +1,7 @@
# This file names the currently supported and somewhat tested locales.
# If you have any additions please file a glibc bug report.
SUPPORTED-LOCALES=\
+C.UTF-8/UTF-8 \
aa_DJ.UTF-8/UTF-8 \
aa_DJ/ISO-8859-1 \
aa_ER/UTF-8 \
diff --git a/localedata/locales/C b/localedata/locales/C
new file mode 100644
index 0000000..fdf460e
--- /dev/null
+++ b/localedata/locales/C
@@ -0,0 +1,238 @@
+escape_char /
+comment_char %
+% Locale for C locale in UTF-8
+
+LC_IDENTIFICATION
+title "C locale"
+source ""
+address ""
+contact ""
+email "mfabian@redhat.com"
+tel ""
+fax ""
+language "C"
+territory ""
+revision "1.0"
+date "2015-08-10"
+%
+category "C:2015";LC_IDENTIFICATION
+category "C:2015";LC_CTYPE
+category "C:2015";LC_COLLATE
+category "C:2015";LC_TIME
+category "C:2015";LC_NUMERIC
+category "C:2015";LC_MONETARY
+category "C:2015";LC_MESSAGES
+category "C:2015";LC_PAPER
+category "C:2015";LC_NAME
+category "C:2015";LC_ADDRESS
+category "C:2015";LC_TELEPHONE
+category "C:2015";LC_MEASUREMENT
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "i18n"
+
+translit_start
+include "translit_combining";""
+translit_end
+
+END LC_CTYPE
+
+LC_COLLATE
+order_start forward
+<U0000>
+..
+<UFFFF>
+<U10000>
+..
+<U1FFFF>
+<U20000>
+..
+<U2FFFF>
+<UE0000>
+..
+<UEFFFF>
+<UF0000>
+..
+<UFFFFF>
+<U100000>
+..
+<U10FFFF>
+UNDEFINED
+order_end
+END LC_COLLATE
+
+LC_MONETARY
+% This is the 14652 i18n fdcc-set definition for
+% the LC_MONETARY category
+% (except for the int_curr_symbol and currency_symbol, they are empty in
+% the 14652 i18n fdcc-set definition and also empty in
+% glibc/locale/C-monetary.c. But localedef complains in that case).
+%
+% Using "USD" for int_curr_symbol. But maybe "XXX" would be better?
+% XXX is "No currency" (https://en.wikipedia.org/wiki/ISO_4217)
+int_curr_symbol "<U0055><U0053><U0044><U0020>"
+% Using "$" for currency_symbol. But maybe <U00A4> would be better?
+% U+00A4 is the "generic currency symbol"
+% (https://en.wikipedia.org/wiki/Currency_sign_%28typography%29)
+currency_symbol "<U0024>"
+mon_decimal_point "<U002E>"
+mon_thousands_sep ""
+mon_grouping -1
+positive_sign ""
+negative_sign "<U002D>"
+int_frac_digits -1
+frac_digits -1
+p_cs_precedes -1
+int_p_sep_by_space -1
+p_sep_by_space -1
+n_cs_precedes -1
+int_n_sep_by_space -1
+n_sep_by_space -1
+p_sign_posn -1
+n_sign_posn -1
+%
+END LC_MONETARY
+
+LC_NUMERIC
+% This is the POSIX Locale definition for
+% the LC_NUMERIC category.
+%
+decimal_point "<U002E>"
+thousands_sep ""
+grouping -1
+END LC_NUMERIC
+
+LC_TIME
+% This is the POSIX Locale definition for
+% the LC_TIME category.
+%
+% Abbreviated weekday names (%a)
+abday "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/
+ "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/
+ "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/
+ "<U0053><U0061><U0074>"
+
+% Full weekday names (%A)
+day "<U0053><U0075><U006E><U0064><U0061><U0079>";/
+ "<U004D><U006F><U006E><U0064><U0061><U0079>";/
+ "<U0054><U0075><U0065><U0073><U0064><U0061><U0079>";/
+ "<U0057><U0065><U0064><U006E><U0065><U0073><U0064><U0061><U0079>";/
+ "<U0054><U0068><U0075><U0072><U0073><U0064><U0061><U0079>";/
+ "<U0046><U0072><U0069><U0064><U0061><U0079>";/
+ "<U0053><U0061><U0074><U0075><U0072><U0064><U0061><U0079>"
+
+% Abbreviated month names (%b)
+abmon "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
+ "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
+ "<U004D><U0061><U0079>";"<U004A><U0075><U006E>";/
+ "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
+ "<U0053><U0065><U0070>";"<U004F><U0063><U0074>";/
+ "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
+
+% Full month names (%B)
+mon "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
+ "<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0079>";/
+ "<U004D><U0061><U0072><U0063><U0068>";/
+ "<U0041><U0070><U0072><U0069><U006C>";/
+ "<U004D><U0061><U0079>";/
+ "<U004A><U0075><U006E><U0065>";/
+ "<U004A><U0075><U006C><U0079>";/
+ "<U0041><U0075><U0067><U0075><U0073><U0074>";/
+ "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
+ "<U004F><U0063><U0074><U006F><U0062><U0065><U0072>";/
+ "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
+ "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
+
+% Week description, consists of three fields:
+% 1. Number of days in a week.
+% 2. Gregorian date that is a first weekday (19971130 for Sunday, 19971201 for Monday).
+% 3. The weekday number to be contained in the first week of the year.
+%
+% ISO 8601 conforming applications should use the values 7, 19971201 (a
+% Monday), and 4 (Thursday), respectively.
+week 7;19971201;4
+first_weekday 1
+first_workday 1
+
+% Appropriate date and time representation (%c)
+% "%a %b %e %H:%M:%S %Y"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0059>"
+
+% Appropriate date representation (%x)
+% "%m/%d/%y"
+d_fmt "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0079>"
+
+% Appropriate time representation (%X)
+% "%H:%M:%S"
+t_fmt "<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053>"
+
+% Appropriate AM/PM time representation (%r)
+% "%I:%M:%S %p"
+t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+
+% Equivalent of AM/PM (%p) "AM"/"PM"
+%
+am_pm "<U0041><U004D>";"<U0050><U004D>"
+
+% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y"
+date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U0020><U0025><U0059>"
+END LC_TIME
+
+LC_MESSAGES
+% This is the POSIX Locale definition for
+% the LC_NUMERIC category.
+%
+yesexpr "<U005E><U005B><U0079><U0059><U005D>"
+noexpr "<U005E><U005B><U006E><U004E><U005D>"
+yesstr "<U0059><U0065><U0073>"
+nostr "<U004E><U006F>"
+END LC_MESSAGES
+
+LC_PAPER
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_PAPER category.
+% (A4 paper, this is also used in the built in C/POSIX
+% locale in glibc/locale/C-paper.c)
+height 297
+width 210
+END LC_PAPER
+
+LC_NAME
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_NAME category.
+% "%p%t%g%t%m%t%f"
+% (also used in the built in C/POSIX locale in glibc/locale/C-name.c)
+name_fmt "<U0025><U0070><U0025><U0074><U0025><U0067><U0025><U0074>/
+<U0025><U006D><U0025><U0074><U0025><U0066>"
+END LC_NAME
+
+LC_ADDRESS
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_ADDRESS category.
+% "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N"
+% (also used in the built in C/POSIX locale in glibc/locale/C-address.c)
+postal_fmt "<U0025><U0061><U0025><U004E><U0025><U0066><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0043><U002D><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+END LC_ADDRESS
+
+LC_TELEPHONE
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_TELEPHONE category.
+% "+%c %a %l"
+tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
+<U006C>"
+% (also used in the built in C/POSIX locale in glibc/locale/C-telephone.c)
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_MEASUREMENT category.
+% (same as in the built in C/POSIX locale in glibc/locale/C-measurement.c)
+%metric
+measurement 1
+END LC_MEASUREMENT
+
--
2.4.3
++++++ glibc-disable-gettext-for-c-utf8.patch ++++++
Index: glibc-2.23/intl/dcigettext.c
===================================================================
--- glibc-2.23.orig/intl/dcigettext.c
+++ glibc-2.23/intl/dcigettext.c
@@ -714,6 +714,7 @@ DCIGETTEXT (const char *domainname, cons
/* If the current locale value is C (or POSIX) we don't load a
domain. Return the MSGID. */
if (strcmp (single_locale, "C") == 0
+ || strcmp (single_locale, "C.UTF-8") == 0
|| strcmp (single_locale, "POSIX") == 0)
break;
++++++ glibc-memset-nontemporal.diff ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -5,9 +5,9 @@
--- a/sysdeps/x86_64/memset.S
+++ b/sysdeps/x86_64/memset.S
@@ -84,6 +84,9 @@ L(loop_start):
- movdqu %xmm8, -48(%rdi,%rdx)
- movdqu %xmm8, 48(%rdi)
- movdqu %xmm8, -64(%rdi,%rdx)
+ movdqu %xmm0, -48(%rdi,%rdx)
+ movdqu %xmm0, 48(%rdi)
+ movdqu %xmm0, -64(%rdi,%rdx)
+ mov __x86_shared_cache_size(%rip),%r9d # The largest cache size
+ cmp %r9,%rdx
+ ja L(nt_move)
@@ -25,10 +25,10 @@
+ je L(return)
+ .p2align 4
+L(nt_loop):
-+ movntdq %xmm8, (%rcx)
-+ movntdq %xmm8, 16(%rcx)
-+ movntdq %xmm8, 32(%rcx)
-+ movntdq %xmm8, 48(%rcx)
++ movntdq %xmm0, (%rcx)
++ movntdq %xmm0, 16(%rcx)
++ movntdq %xmm0, 32(%rcx)
++ movntdq %xmm0, 48(%rcx)
+ addq $64, %rcx
+ cmpq %rcx, %rdx
+ jne L(nt_loop)
@@ -36,5 +36,5 @@
+ rep
+ ret
L(less_16_bytes):
- movq %xmm8, %rcx
+ movq %xmm0, %rcx
testb $24, %dl
++++++ glibc-resolv-reload.diff ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -79,7 +79,7 @@
@@ -22,7 +22,7 @@
#include
#include
- #include
+ #include
-
+#include
++++++ glibc-version.diff ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -8,7 +8,7 @@
static const char banner[] =
-"GNU C Library "PKGVERSION RELEASE" release version "VERSION", by Roland McGrath et al.\n\
+"GNU C Library "PKGVERSION RELEASE" release version "VERSION" (git "GITID"), by Roland McGrath et al.\n\
- Copyright (C) 2015 Free Software Foundation, Inc.\n\
+ Copyright (C) 2016 Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions.\n\
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
PARTICULAR PURPOSE.\n\
++++++ iconv-reset-input-buffer.patch ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -179,7 +179,7 @@
+#endif
/* We have a problem in one of the functions below.
Undo the conversion upto the error point. */
- size_t nstatus;
+ size_t nstatus __attribute__ ((unused));
@@ -682,9 +694,9 @@ FUNCTION_NAME (struct __gconv_step *step
outbuf = outstart;
++++++ ldd-system-interp.patch ++++++
--- /var/tmp/diff_new_pack.hjF9cU/_old 2016-04-22 16:16:03.000000000 +0200
+++ /var/tmp/diff_new_pack.hjF9cU/_new 2016-04-22 16:16:03.000000000 +0200
@@ -5,23 +5,13 @@
good dynamic linker.
* elf/ldd.bash.in: Always run through the dynamic linker, even if
- the file has its own interpreter. Remove unneeded executable
- check.
+ the file has its own interpreter.
Index: glibc-2.19/elf/ldd.bash.in
===================================================================
--- glibc-2.19.orig/elf/ldd.bash.in
+++ glibc-2.19/elf/ldd.bash.in
-@@ -150,8 +150,6 @@ for file do
- echo "ldd: ${file}:" $"not regular file" >&2
- result=1
- elif test -r "$file"; then
-- test -x "$file" || echo 'ldd:' $"\
--warning: you do not have execution permission for" "\`$file'" >&2
- RTLD=
- ret=1
- for rtld in ${RTLDLIST}; do
-@@ -164,18 +162,6 @@ warning: you do not have execution permi
+@@ -164,18 +164,6 @@ warning: you do not have execution permi
fi
done
case $ret in
@@ -40,7 +30,7 @@
1)
# This can be a non-ELF binary or no binary at all.
nonelf "$file" || {
-@@ -183,7 +169,7 @@ warning: you do not have execution permi
+@@ -183,7 +171,7 @@ warning: you do not have execution permi
result=1
}
;;
++++++ no-long-double.patch ++++++
Index: glibc-2.22/math/test-math-isinff.cc
===================================================================
--- glibc-2.22.orig/math/test-math-isinff.cc
+++ glibc-2.22/math/test-math-isinff.cc
@@ -30,12 +30,17 @@ do_test (void)
header fix this test will not compile. */
if (isinff (1.0f)
|| !isinff (INFINITY)
+#ifndef NO_LONG_DOUBLE
|| isinfl (1.0L)
|| !isinfl (INFINITY)
+#endif
|| isnanf (2.0f)
|| !isnanf (NAN)
+#ifndef NO_LONG_DOUBLE
|| isnanl (2.0L)
- || !isnanl (NAN))
+ || !isnanl (NAN)
+#endif
+ )
{
printf ("FAIL: Failed to call is* functions.\n");
exit (1);
++++++ powerpc-elision-enable-envvar.patch ++++++
2016-02-11 Paul E. Murphy
* sysdeps/unix/sysv/linux/powerpc/elision-conf.c
(elision_init): Further restrict enablement based
on whether GLIBC_ELISION_ENABLE=yes is in the env.
---
sysdeps/unix/sysv/linux/powerpc/elision-conf.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
Index: glibc-2.22/sysdeps/unix/sysv/linux/powerpc/elision-conf.c
===================================================================
--- glibc-2.22.orig/sysdeps/unix/sysv/linux/powerpc/elision-conf.c
+++ glibc-2.22/sysdeps/unix/sysv/linux/powerpc/elision-conf.c
@@ -21,6 +21,7 @@
#include
#include
#include
+#include
/* Reasonable initial tuning values, may be revised in the future.
This is a conservative initial value. */
@@ -61,7 +62,18 @@ elision_init (int argc __attribute__ ((u
{
#ifdef ENABLE_LOCK_ELISION
int elision_available = (GLRO (dl_hwcap2) & PPC_FEATURE2_HAS_HTM) ? 1 : 0;
- __pthread_force_elision = __libc_enable_secure ? 0 : elision_available;
+
+ /* Scan the environment and conditionally enable TLE. */
+ if (elision_available != 0 && __libc_enable_secure == 0)
+ {
+ for ( ; *environ != NULL; environ++)
+ if (**environ == 'G' &&
+ strcmp (*environ,"GLIBC_ELISION_ENABLE=yes") == 0)
+ {
+ __pthread_force_elision = elision_available;
+ break;
+ }
+ }
#endif
if (!__pthread_force_elision)
/* Disable elision on rwlocks. */