Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/glibc/2.23: 00_all_0001-Updated-translations-for-2.23.patch 00_all_0010-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch 00_all_0011-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch 00_all_0012-sln-use-stat64.patch README.history
Date: Mon, 07 Mar 2016 17:59:53
Message-Id: 20160307175948.F410A1607@oystercatcher.gentoo.org
1 vapier 16/03/07 17:59:48
2
3 Modified: 00_all_0001-Updated-translations-for-2.23.patch
4 README.history
5 Added:
6 00_all_0010-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch
7 00_all_0011-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch
8 00_all_0012-sln-use-stat64.patch
9 Log:
10 pull few more fixes from upstream
11
12 Revision Changes Path
13 1.3 src/patchsets/glibc/2.23/00_all_0001-Updated-translations-for-2.23.patch
14
15 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0001-Updated-translations-for-2.23.patch?rev=1.3&view=markup
16 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0001-Updated-translations-for-2.23.patch?rev=1.3&content-type=text/plain
17 diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0001-Updated-translations-for-2.23.patch?r1=1.2&r2=1.3
18
19 Index: 00_all_0001-Updated-translations-for-2.23.patch
20 ===================================================================
21 RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/2.23/00_all_0001-Updated-translations-for-2.23.patch,v
22 retrieving revision 1.2
23 retrieving revision 1.3
24 diff -u -r1.2 -r1.3
25 --- 00_all_0001-Updated-translations-for-2.23.patch 7 Mar 2016 17:41:37 -0000 1.2
26 +++ 00_all_0001-Updated-translations-for-2.23.patch 7 Mar 2016 17:59:48 -0000 1.3
27 @@ -40259,9 +40259,9 @@
28 +# Copyright (C) 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
29 # This file is distributed under the same license as the glibc package.
30 -# Primož Peterlin <primozz.peterlin@×××××.com>, 2013, 2014.
31 --# $Id: 00_all_0001-Updated-translations-for-2.23.patch,v 1.2 2016/03/07 17:41:37 vapier Exp $
32 +-# $Id: 00_all_0001-Updated-translations-for-2.23.patch,v 1.3 2016/03/07 17:59:48 vapier Exp $
33 +# Primož Peterlin <primozz.peterlin@×××××.com>, 2013, 2014, 2015, 2016.
34 -+# $Id: 00_all_0001-Updated-translations-for-2.23.patch,v 1.2 2016/03/07 17:41:37 vapier Exp $
35 ++# $Id: 00_all_0001-Updated-translations-for-2.23.patch,v 1.3 2016/03/07 17:59:48 vapier Exp $
36 msgid ""
37 msgstr ""
38 -"Project-Id-Version: libc 2.18.90.20140105\n"
39
40
41
42 1.2 src/patchsets/glibc/2.23/README.history
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/README.history?rev=1.2&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/README.history?rev=1.2&content-type=text/plain
46 diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/README.history?r1=1.1&r2=1.2
47
48 Index: README.history
49 ===================================================================
50 RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/2.23/README.history,v
51 retrieving revision 1.1
52 retrieving revision 1.2
53 diff -u -r1.1 -r1.2
54 --- README.history 19 Feb 2016 16:27:45 -0000 1.1
55 +++ README.history 7 Mar 2016 17:59:48 -0000 1.2
56 @@ -1,3 +1,8 @@
57 +2 07 Mar 2016
58 + + 00_all_0010-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch
59 + + 00_all_0011-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch
60 + + 00_all_0012-sln-use-stat64.patch
61 +
62 1 19 Feb 2016
63 + 00_all_0001-Updated-translations-for-2.23.patch
64 + 00_all_0002-Regenerate-libc.pot-for-2.23.patch
65
66
67
68 1.1 src/patchsets/glibc/2.23/00_all_0010-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch
69
70 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0010-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch?rev=1.1&view=markup
71 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0010-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch?rev=1.1&content-type=text/plain
72
73 Index: 00_all_0010-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch
74 ===================================================================
75 From ab0e0eeb92fcd1d5901051194a01f88d339f8e73 Mon Sep 17 00:00:00 2001
76 From: "H.J. Lu" <hjl.tools@×××××.com>
77 Date: Mon, 22 Feb 2016 09:32:57 -0800
78 Subject: [PATCH] [x86_64] Set DL_RUNTIME_UNALIGNED_VEC_SIZE to 8
79
80 Due to GCC bug:
81
82 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066
83
84 __tls_get_addr may be called with 8-byte stack alignment. Although
85 this bug has been fixed in GCC 4.9.4, 5.3 and 6, we can't assume
86 that stack will be always aligned at 16 bytes. Since SSE optimized
87 memory/string functions with aligned SSE register load and store are
88 used in the dynamic linker, we must set DL_RUNTIME_UNALIGNED_VEC_SIZE
89 to 8 so that _dl_runtime_resolve_sse will align the stack before
90 calling _dl_fixup:
91
92 Dump of assembler code for function _dl_runtime_resolve_sse:
93 0x00007ffff7deea90 <+0>: push %rbx
94 0x00007ffff7deea91 <+1>: mov %rsp,%rbx
95 0x00007ffff7deea94 <+4>: and $0xfffffffffffffff0,%rsp
96 ^^^^^^^^^^^ Align stack to 16 bytes
97 0x00007ffff7deea98 <+8>: sub $0x100,%rsp
98 0x00007ffff7deea9f <+15>: mov %rax,0xc0(%rsp)
99 0x00007ffff7deeaa7 <+23>: mov %rcx,0xc8(%rsp)
100 0x00007ffff7deeaaf <+31>: mov %rdx,0xd0(%rsp)
101 0x00007ffff7deeab7 <+39>: mov %rsi,0xd8(%rsp)
102 0x00007ffff7deeabf <+47>: mov %rdi,0xe0(%rsp)
103 0x00007ffff7deeac7 <+55>: mov %r8,0xe8(%rsp)
104 0x00007ffff7deeacf <+63>: mov %r9,0xf0(%rsp)
105 0x00007ffff7deead7 <+71>: movaps %xmm0,(%rsp)
106 0x00007ffff7deeadb <+75>: movaps %xmm1,0x10(%rsp)
107 0x00007ffff7deeae0 <+80>: movaps %xmm2,0x20(%rsp)
108 0x00007ffff7deeae5 <+85>: movaps %xmm3,0x30(%rsp)
109 0x00007ffff7deeaea <+90>: movaps %xmm4,0x40(%rsp)
110 0x00007ffff7deeaef <+95>: movaps %xmm5,0x50(%rsp)
111 0x00007ffff7deeaf4 <+100>: movaps %xmm6,0x60(%rsp)
112 0x00007ffff7deeaf9 <+105>: movaps %xmm7,0x70(%rsp)
113
114 [BZ #19679]
115 * sysdeps/x86_64/dl-trampoline.S (DL_RUNIME_UNALIGNED_VEC_SIZE):
116 Renamed to ...
117 (DL_RUNTIME_UNALIGNED_VEC_SIZE): This. Set to 8.
118 (DL_RUNIME_RESOLVE_REALIGN_STACK): Renamed to ...
119 (DL_RUNTIME_RESOLVE_REALIGN_STACK): This. Updated.
120 (DL_RUNIME_RESOLVE_REALIGN_STACK): Renamed to ...
121 (DL_RUNTIME_RESOLVE_REALIGN_STACK): This.
122 * sysdeps/x86_64/dl-trampoline.h
123 (DL_RUNIME_RESOLVE_REALIGN_STACK): Renamed to ...
124 (DL_RUNTIME_RESOLVE_REALIGN_STACK): This.
125
126 (cherry picked from commit 6094fc2cf7eab30889df0416a5c051a5e7171895)
127 ---
128 sysdeps/x86_64/dl-trampoline.S | 20 ++++++++++++--------
129 sysdeps/x86_64/dl-trampoline.h | 6 +++---
130 2 files changed, 15 insertions(+), 11 deletions(-)
131
132 diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
133 index 9fb6b13..39b8771 100644
134 --- a/sysdeps/x86_64/dl-trampoline.S
135 +++ b/sysdeps/x86_64/dl-trampoline.S
136 @@ -33,15 +33,19 @@
137 # define DL_STACK_ALIGNMENT 8
138 #endif
139
140 -#ifndef DL_RUNIME_UNALIGNED_VEC_SIZE
141 -/* The maximum size of unaligned vector load and store. */
142 -# define DL_RUNIME_UNALIGNED_VEC_SIZE 16
143 +#ifndef DL_RUNTIME_UNALIGNED_VEC_SIZE
144 +/* The maximum size in bytes of unaligned vector load and store in the
145 + dynamic linker. Since SSE optimized memory/string functions with
146 + aligned SSE register load and store are used in the dynamic linker,
147 + we must set this to 8 so that _dl_runtime_resolve_sse will align the
148 + stack before calling _dl_fixup. */
149 +# define DL_RUNTIME_UNALIGNED_VEC_SIZE 8
150 #endif
151
152 /* True if _dl_runtime_resolve should align stack to VEC_SIZE bytes. */
153 -#define DL_RUNIME_RESOLVE_REALIGN_STACK \
154 +#define DL_RUNTIME_RESOLVE_REALIGN_STACK \
155 (VEC_SIZE > DL_STACK_ALIGNMENT \
156 - && VEC_SIZE > DL_RUNIME_UNALIGNED_VEC_SIZE)
157 + && VEC_SIZE > DL_RUNTIME_UNALIGNED_VEC_SIZE)
158
159 /* Align vector register save area to 16 bytes. */
160 #define REGISTER_SAVE_VEC_OFF 0
161 @@ -76,7 +80,7 @@
162 #ifdef HAVE_AVX512_ASM_SUPPORT
163 # define VEC_SIZE 64
164 # define VMOVA vmovdqa64
165 -# if DL_RUNIME_RESOLVE_REALIGN_STACK || VEC_SIZE <= DL_STACK_ALIGNMENT
166 +# if DL_RUNTIME_RESOLVE_REALIGN_STACK || VEC_SIZE <= DL_STACK_ALIGNMENT
167 # define VMOV vmovdqa64
168 # else
169 # define VMOV vmovdqu64
170 @@ -100,7 +104,7 @@ strong_alias (_dl_runtime_profile_avx, _dl_runtime_profile_avx512)
171
172 #define VEC_SIZE 32
173 #define VMOVA vmovdqa
174 -#if DL_RUNIME_RESOLVE_REALIGN_STACK || VEC_SIZE <= DL_STACK_ALIGNMENT
175 +#if DL_RUNTIME_RESOLVE_REALIGN_STACK || VEC_SIZE <= DL_STACK_ALIGNMENT
176 # define VMOV vmovdqa
177 #else
178 # define VMOV vmovdqu
179 @@ -119,7 +123,7 @@ strong_alias (_dl_runtime_profile_avx, _dl_runtime_profile_avx512)
180 /* movaps/movups is 1-byte shorter. */
181 #define VEC_SIZE 16
182 #define VMOVA movaps
183 -#if DL_RUNIME_RESOLVE_REALIGN_STACK || VEC_SIZE <= DL_STACK_ALIGNMENT
184 +#if DL_RUNTIME_RESOLVE_REALIGN_STACK || VEC_SIZE <= DL_STACK_ALIGNMENT
185 # define VMOV movaps
186 #else
187 # define VMOV movups
188 diff --git a/sysdeps/x86_64/dl-trampoline.h b/sysdeps/x86_64/dl-trampoline.h
189 index f419183..b90836a 100644
190 --- a/sysdeps/x86_64/dl-trampoline.h
191 +++ b/sysdeps/x86_64/dl-trampoline.h
192 @@ -30,7 +30,7 @@
193 #undef REGISTER_SAVE_AREA
194 #undef LOCAL_STORAGE_AREA
195 #undef BASE
196 -#if DL_RUNIME_RESOLVE_REALIGN_STACK
197 +#if DL_RUNTIME_RESOLVE_REALIGN_STACK
198 # define REGISTER_SAVE_AREA (REGISTER_SAVE_AREA_RAW + 8)
199 /* Local stack area before jumping to function address: RBX. */
200 # define LOCAL_STORAGE_AREA 8
201 @@ -57,7 +57,7 @@
202 cfi_startproc
203 _dl_runtime_resolve:
204 cfi_adjust_cfa_offset(16) # Incorporate PLT
205 -#if DL_RUNIME_RESOLVE_REALIGN_STACK
206 +#if DL_RUNTIME_RESOLVE_REALIGN_STACK
207 # if LOCAL_STORAGE_AREA != 8
208 # error LOCAL_STORAGE_AREA must be 8
209 # endif
210 @@ -146,7 +146,7 @@ _dl_runtime_resolve:
211 VMOV (REGISTER_SAVE_VEC_OFF + VEC_SIZE * 5)(%rsp), %VEC(5)
212 VMOV (REGISTER_SAVE_VEC_OFF + VEC_SIZE * 6)(%rsp), %VEC(6)
213 VMOV (REGISTER_SAVE_VEC_OFF + VEC_SIZE * 7)(%rsp), %VEC(7)
214 -#if DL_RUNIME_RESOLVE_REALIGN_STACK
215 +#if DL_RUNTIME_RESOLVE_REALIGN_STACK
216 mov %RBX_LP, %RSP_LP
217 cfi_def_cfa_register(%rsp)
218 movq (%rsp), %rbx
219 --
220 2.6.2
221
222
223
224
225 1.1 src/patchsets/glibc/2.23/00_all_0011-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch
226
227 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0011-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch?rev=1.1&view=markup
228 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0011-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch?rev=1.1&content-type=text/plain
229
230 Index: 00_all_0011-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch
231 ===================================================================
232 From f571b1c53a6c4970969ef9fdb4aad2589d0b0427 Mon Sep 17 00:00:00 2001
233 From: Andreas Schwab <schwab@××××.de>
234 Date: Tue, 23 Feb 2016 16:27:56 +0100
235 Subject: [PATCH] Don't use long double math functions if NO_LONG_DOUBLE
236
237 (cherry picked from commit 591b7e37e6be2a2d6672b683ba1191095b10d6d5)
238 ---
239 math/test-math-isinff.cc | 7 ++++++-
240 1 file changed, 6 insertions(+), 1 deletion(-)
241
242 diff --git a/math/test-math-isinff.cc b/math/test-math-isinff.cc
243 index 195d753..ecff1dc 100644
244 --- a/math/test-math-isinff.cc
245 +++ b/math/test-math-isinff.cc
246 @@ -30,12 +30,17 @@ do_test (void)
247 header fix this test will not compile. */
248 if (isinff (1.0f)
249 || !isinff (INFINITY)
250 +#ifndef NO_LONG_DOUBLE
251 || isinfl (1.0L)
252 || !isinfl (INFINITY)
253 +#endif
254 || isnanf (2.0f)
255 || !isnanf (NAN)
256 +#ifndef NO_LONG_DOUBLE
257 || isnanl (2.0L)
258 - || !isnanl (NAN))
259 + || !isnanl (NAN)
260 +#endif
261 + )
262 {
263 printf ("FAIL: Failed to call is* functions.\n");
264 exit (1);
265 --
266 2.6.2
267
268
269
270
271 1.1 src/patchsets/glibc/2.23/00_all_0012-sln-use-stat64.patch
272
273 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0012-sln-use-stat64.patch?rev=1.1&view=markup
274 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.23/00_all_0012-sln-use-stat64.patch?rev=1.1&content-type=text/plain
275
276 Index: 00_all_0012-sln-use-stat64.patch
277 ===================================================================
278 From 00479c708e155b2aaace94094b5cfaccdbd9e16e Mon Sep 17 00:00:00 2001
279 From: Hongjiu Zhang <noctuorare@×××××.com>
280 Date: Sun, 6 Mar 2016 20:18:21 -0500
281 Subject: [PATCH] sln: use stat64
282
283 When using sln on some filesystems which return 64-bit inodes,
284 the stat call might fail during install like so:
285 .../elf/sln .../elf/symlink.list
286 /lib32/libc.so.6: invalid destination: Value too large for defined data type
287 /lib32/ld-linux.so.2: invalid destination: Value too large for defined data type
288 Makefile:104: recipe for target 'install-symbolic-link' failed
289
290 Switch to using stat64 all the time to avoid this.
291
292 URL: https://bugs.gentoo.org/576396
293 (cherry picked from commit f5e753c8c3a18a1e3c715dd11bf4dc341b5c481f)
294 (cherry picked from commit f23d7d2a8420a5ba2e28fc9c1d9c2b2996498d46)
295 ---
296 elf/sln.c | 4 ++--
297 1 file changed, 2 insertions(+), 2 deletions(-)
298
299 diff --git a/elf/sln.c b/elf/sln.c
300 index 9d57be2..f52cb9f 100644
301 --- a/elf/sln.c
302 +++ b/elf/sln.c
303 @@ -164,11 +164,11 @@ makesymlinks (const char *file)
304 static int
305 makesymlink (const char *src, const char *dest)
306 {
307 - struct stat stats;
308 + struct stat64 stats;
309 const char *error;
310
311 /* Destination must not be a directory. */
312 - if (lstat (dest, &stats) == 0)
313 + if (lstat64 (dest, &stats) == 0)
314 {
315 if (S_ISDIR (stats.st_mode))
316 {
317 --
318 2.6.2