1 |
vapier 14/01/25 22:05:38 |
2 |
|
3 |
Modified: README.history |
4 |
Added: 00_all_0035-alpha-Fix-tls-macros.h.patch |
5 |
Log: |
6 |
fix from upstream for alpha/tls code |
7 |
|
8 |
Revision Changes Path |
9 |
1.4 src/patchsets/glibc/2.18/README.history |
10 |
|
11 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.18/README.history?rev=1.4&view=markup |
12 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.18/README.history?rev=1.4&content-type=text/plain |
13 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.18/README.history?r1=1.3&r2=1.4 |
14 |
|
15 |
Index: README.history |
16 |
=================================================================== |
17 |
RCS file: /var/cvsroot/gentoo/src/patchsets/glibc/2.18/README.history,v |
18 |
retrieving revision 1.3 |
19 |
retrieving revision 1.4 |
20 |
diff -u -r1.3 -r1.4 |
21 |
--- README.history 6 Jan 2014 16:53:42 -0000 1.3 |
22 |
+++ README.history 25 Jan 2014 22:05:38 -0000 1.4 |
23 |
@@ -1,4 +1,8 @@ |
24 |
-3 06 Jan 2013 |
25 |
+4 25 Jan 2014 |
26 |
+ + 00_all_0034-ARM-Fix-clone-build-for-ARMv4.patch |
27 |
+ + 00_all_0035-alpha-Fix-tls-macros.h.patch |
28 |
+ |
29 |
+3 06 Jan 2014 |
30 |
+ 00_all_0017-ptrace.h-add-__-prefix-to-ptrace_peeksiginfo_args.patch |
31 |
+ 00_all_0018-ia64-add-__-prefix-to-pt_all_user_regs-ia64_fpreg-BZ.patch |
32 |
+ 00_all_0019-ARM-Fix-clone-code-when-built-for-Thumb.patch |
33 |
|
34 |
|
35 |
|
36 |
1.1 src/patchsets/glibc/2.18/00_all_0035-alpha-Fix-tls-macros.h.patch |
37 |
|
38 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.18/00_all_0035-alpha-Fix-tls-macros.h.patch?rev=1.1&view=markup |
39 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.18/00_all_0035-alpha-Fix-tls-macros.h.patch?rev=1.1&content-type=text/plain |
40 |
|
41 |
Index: 00_all_0035-alpha-Fix-tls-macros.h.patch |
42 |
=================================================================== |
43 |
From 787172fdbbdf78fc30f222748f1197d396b05f96 Mon Sep 17 00:00:00 2001 |
44 |
From: Richard Henderson <rth@×××××××.net> |
45 |
Date: Fri, 24 Jan 2014 09:07:04 -0800 |
46 |
Subject: [PATCH] alpha: Fix tls-macros.h |
47 |
|
48 |
Reported to the gcc bugzilla, there was a missing dependency on $gp |
49 |
that let the compiler generated $gp reload be scheduled across the |
50 |
macros here. |
51 |
|
52 |
(cherry picked from commit 4ab6acaebd0047dc37c6493946484be9f1b4920b) |
53 |
--- |
54 |
ports/sysdeps/alpha/tls-macros.h | 22 +++++++++++----------- |
55 |
1 file changed, 11 insertions(+), 11 deletions(-) |
56 |
|
57 |
diff --git a/ports/sysdeps/alpha/tls-macros.h b/ports/sysdeps/alpha/tls-macros.h |
58 |
index 0385d93..00489c2 100644 |
59 |
--- a/ports/sysdeps/alpha/tls-macros.h |
60 |
+++ b/ports/sysdeps/alpha/tls-macros.h |
61 |
@@ -2,21 +2,21 @@ |
62 |
|
63 |
extern void *__tls_get_addr (void *); |
64 |
|
65 |
-# define TLS_GD(x) \ |
66 |
- ({ void *__result; \ |
67 |
- asm ("lda %0, " #x "($gp) !tlsgd" : "=r" (__result)); \ |
68 |
+# define TLS_GD(x) \ |
69 |
+ ({ register void *__gp asm ("$29"); void *__result; \ |
70 |
+ asm ("lda %0, " #x "($gp) !tlsgd" : "=r" (__result) : "r"(__gp)); \ |
71 |
__tls_get_addr (__result); }) |
72 |
|
73 |
-# define TLS_LD(x) \ |
74 |
- ({ void *__result; \ |
75 |
- asm ("lda %0, " #x "($gp) !tlsldm" : "=r" (__result)); \ |
76 |
- __result = __tls_get_addr (__result); \ |
77 |
- asm ("lda %0, " #x "(%0) !dtprel" : "+r" (__result)); \ |
78 |
+# define TLS_LD(x) \ |
79 |
+ ({ register void *__gp asm ("$29"); void *__result; \ |
80 |
+ asm ("lda %0, " #x "($gp) !tlsldm" : "=r" (__result) : "r"(__gp)); \ |
81 |
+ __result = __tls_get_addr (__result); \ |
82 |
+ asm ("lda %0, " #x "(%0) !dtprel" : "+r" (__result)); \ |
83 |
__result; }) |
84 |
|
85 |
-# define TLS_IE(x) \ |
86 |
- ({ long ofs; \ |
87 |
- asm ("ldq %0, " #x "($gp) !gottprel" : "=r"(ofs)); \ |
88 |
+# define TLS_IE(x) \ |
89 |
+ ({ register void *__gp asm ("$29"); long ofs; \ |
90 |
+ asm ("ldq %0, " #x "($gp) !gottprel" : "=r"(ofs) : "r"(__gp)); \ |
91 |
__builtin_thread_pointer () + ofs; }) |
92 |
|
93 |
# define TLS_LE(x) \ |
94 |
-- |
95 |
1.8.5.3 |