diff options
author | Romain Naour <romain.naour@gmail.com> | 2017-09-23 23:24:06 +0200 |
---|---|---|
committer | Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> | 2017-09-27 22:58:52 +0200 |
commit | d6a4807f9473b4322e96b77169ffcd6d9cd84170 (patch) | |
tree | a73b88df132da464c204f11a0c4f17d514aad33e /package/glibc/0005-fix-binutils-2-29-build.patch | |
parent | ffbd8dfb8a1fcbc0cb209f8ede4841c543524525 (diff) | |
download | buildroot-d6a4807f9473b4322e96b77169ffcd6d9cd84170.tar.gz buildroot-d6a4807f9473b4322e96b77169ffcd6d9cd84170.zip |
package/glibc: bump to 2.26
Drop upstream patch:
0001-sh-Fix-building-with-gcc5-6.patch
https://sourceware.org/git/?p=glibc.git;a=commit;h=d40dbe722f004f999b589de776f7e57e564dda01
0002-CVE-2017-1000366-Ignore-LD_LIBRARY_PATH-for-AT_SECUR.patch
https://sourceware.org/git/?p=glibc.git;a=commit;h=f6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d
0003-ld.so-Reject-overly-long-LD_PRELOAD-path-elements.patch
https://sourceware.org/git/?p=glibc.git;a=commit;h=6d0ba622891bed9d8394eef1935add53003b12e8
0004-ld.so-Reject-overly-long-LD_AUDIT-path-elements.patch
https://sourceware.org/git/?p=glibc.git;a=commit;h=81b82fb966ffbd94353f793ad17116c6088dedd9
0005-fix-binutils-2-29-build.patch
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=388b4f1a02f3a801965028bbfcd48d905638b797
0006-i686-Add-missing-IS_IN-libc-guards-to-vectorized-strcspn.patch
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=69052a3a95da37169a08f9e59b2cc1808312753c
0006-sh4-trap.patch
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=db3d848e154b00071f4a5e729d5884efad410109
But 2.26 version introduced quite a few regressions on x86, x86_64 and
powerpc64le when float128 support was added. All these issues are now
fixed in the glibc 2.26 stable branch.
Backport patches from glibc 2.26 stable branch related to bug 21930.
Take all patches listed in this bug report in order to have all fix
for this issue [1] [2].
Fixes gnuradio build:
[...]/sysroot/usr/include/boost/functional/hash/detail/hash_float.hpp: In function ‘std::size_t boost::hash_detail::float_hash_value(T)’:
[...]/sysroot/usr/include/boost/functional/hash/detail/hash_float.hpp:210:21: error: expected primary-expression before ‘float’
switch (fpclassify(v))
^
[...]/sysroot/usr/include/boost/functional/hash/detail/hash_float.hpp:210:21: error: expected primary-expression before ‘long’
switch (fpclassify(v))
^
[...]/sysroot/usr/include/boost/functional/hash/detail/hash_float.hpp:210:21: error: found ‘:’ in nested-name-specifier, expected ‘::’
switch (fpclassify(v))
^
[...]/sysroot/usr/include/boost/functional/hash/detail/hash_float.hpp:210:21: error: ‘_Float128’ is not a class or namespace
switch (fpclassify(v))
^
[...]/sysroot/usr/include/boost/functional/hash/detail/hash_float.hpp:210:21: error: ‘_Generic’ was not declared in this scope
switch (fpclassify(v))
^
Also backport fix for glibc bug 22146.
Without this patch some C++ applications (jsoncpp, mesa3d and kodi) fail
to build due to an issue while building the toolchain.
A test in the libstdc++ configure script fail when -Os and float128 are
used.
See the bug report for details [3].
[1] https://sourceware.org/ml/libc-alpha/2017-08/msg00586.html
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=21930
[3] https://sourceware.org/bugzilla/show_bug.cgi?id=22146
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Diffstat (limited to 'package/glibc/0005-fix-binutils-2-29-build.patch')
-rw-r--r-- | package/glibc/0005-fix-binutils-2-29-build.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/package/glibc/0005-fix-binutils-2-29-build.patch b/package/glibc/0005-fix-binutils-2-29-build.patch deleted file mode 100644 index 47fcd2f84e..0000000000 --- a/package/glibc/0005-fix-binutils-2-29-build.patch +++ /dev/null @@ -1,65 +0,0 @@ -From: H.J. Lu <hjl.tools@gmail.com> -Date: Fri, 23 Jun 2017 21:38:46 +0000 (-0700) -Subject: Avoid .symver on common symbols [BZ #21666] -X-Git-Tag: glibc-2.26~241 -X-Git-Url: https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=388b4f1a02f3a801965028bbfcd48d905638b797 - -Avoid .symver on common symbols [BZ #21666] - -The .symver directive on common symbol just creates a new common symbol, -not an alias and the newer assembler with the bug fix for - -https://sourceware.org/bugzilla/show_bug.cgi?id=21661 - -will issue an error. Before the fix, we got - -$ readelf -sW libc.so | grep "loc[12s]" - 5109: 00000000003a0608 8 OBJECT LOCAL DEFAULT 36 loc1 - 5188: 00000000003a0610 8 OBJECT LOCAL DEFAULT 36 loc2 - 5455: 00000000003a0618 8 OBJECT LOCAL DEFAULT 36 locs - 6575: 00000000003a05f0 8 OBJECT GLOBAL DEFAULT 36 locs@GLIBC_2.2.5 - 7156: 00000000003a05f8 8 OBJECT GLOBAL DEFAULT 36 loc1@GLIBC_2.2.5 - 7312: 00000000003a0600 8 OBJECT GLOBAL DEFAULT 36 loc2@GLIBC_2.2.5 - -in libc.so. The versioned loc1, loc2 and locs have the wrong addresses. -After the fix, we got - -$ readelf -sW libc.so | grep "loc[12s]" - 6570: 000000000039e3b8 8 OBJECT GLOBAL DEFAULT 34 locs@GLIBC_2.2.5 - 7151: 000000000039e3c8 8 OBJECT GLOBAL DEFAULT 34 loc1@GLIBC_2.2.5 - 7307: 000000000039e3c0 8 OBJECT GLOBAL DEFAULT 34 loc2@GLIBC_2.2.5 - - [BZ #21666] - * misc/regexp.c (loc1): Add __attribute__ ((nocommon)); - (loc2): Likewise. - (locs): Likewise. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -[Backported from upstream commit -388b4f1a02f3a801965028bbfcd48d905638b797, to fix the build with -binutils 2.29.] ---- -diff --git a/misc/regexp.c b/misc/regexp.c -index 19d76c0..eaea7c3 100644 ---- a/misc/regexp.c -+++ b/misc/regexp.c -@@ -29,14 +29,15 @@ - - #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23) - --/* Define the variables used for the interface. */ --char *loc1; --char *loc2; -+/* Define the variables used for the interface. Avoid .symver on common -+ symbol, which just creates a new common symbol, not an alias. */ -+char *loc1 __attribute__ ((nocommon)); -+char *loc2 __attribute__ ((nocommon)); - compat_symbol (libc, loc1, loc1, GLIBC_2_0); - compat_symbol (libc, loc2, loc2, GLIBC_2_0); - - /* Although we do not support the use we define this variable as well. */ --char *locs; -+char *locs __attribute__ ((nocommon)); - compat_symbol (libc, locs, locs, GLIBC_2_0); - - |