1 |
dirtyepic 13/02/23 19:41:24 |
2 |
|
3 |
Modified: README.history |
4 |
Added: 48_all_x86_pr53113_libitm-avx.patch |
5 |
49_all_x86_pr52695_libitm-m64.patch |
6 |
Removed: 49_all_gcc-4.7-x86-libitm-pr52695.patch |
7 |
Log: |
8 |
Patch for bug #417271. |
9 |
|
10 |
Revision Changes Path |
11 |
1.8 src/patchsets/gcc/4.7.2/gentoo/README.history |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.7.2/gentoo/README.history?rev=1.8&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.7.2/gentoo/README.history?rev=1.8&content-type=text/plain |
15 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.7.2/gentoo/README.history?r1=1.7&r2=1.8 |
16 |
|
17 |
Index: README.history |
18 |
=================================================================== |
19 |
RCS file: /var/cvsroot/gentoo/src/patchsets/gcc/4.7.2/gentoo/README.history,v |
20 |
retrieving revision 1.7 |
21 |
retrieving revision 1.8 |
22 |
diff -u -r1.7 -r1.8 |
23 |
--- README.history 21 Jan 2013 22:03:56 -0000 1.7 |
24 |
+++ README.history 23 Feb 2013 19:41:24 -0000 1.8 |
25 |
@@ -1,5 +1,8 @@ |
26 |
1.4 [pending] |
27 |
- 03_all_java-nomulti.patch |
28 |
+ + 48_all_x86_pr53113_libitm-avx.patch |
29 |
+ - 49_all_gcc-4.7-x86-libitm-pr52695.patch |
30 |
+ + 49_all_x86_pr52695_libitm-m64.patch |
31 |
+ 82_all_alpha_4.6.4_pr56023_bootstrap.patch |
32 |
|
33 |
1.3 04 Nov 2012 |
34 |
|
35 |
|
36 |
|
37 |
1.1 src/patchsets/gcc/4.7.2/gentoo/48_all_x86_pr53113_libitm-avx.patch |
38 |
|
39 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.7.2/gentoo/48_all_x86_pr53113_libitm-avx.patch?rev=1.1&view=markup |
40 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.7.2/gentoo/48_all_x86_pr53113_libitm-avx.patch?rev=1.1&content-type=text/plain |
41 |
|
42 |
Index: 48_all_x86_pr53113_libitm-avx.patch |
43 |
=================================================================== |
44 |
libitm checks for AVX support in the assembler and adds -mavx to x86_avx.cc |
45 |
which defines the needed typedefs. User CFLAGS can override -mavx however, |
46 |
so also use the fallback typedef if __AVX__ isn't defined. |
47 |
|
48 |
https://bugs.gentoo.org/417271 |
49 |
http://gcc.gnu.org/PR53113 |
50 |
|
51 |
|
52 |
--- a/libitm/config/x86/x86_avx.cc |
53 |
+++ b/libitm/config/x86/x86_avx.cc |
54 |
@@ -29,7 +29,7 @@ |
55 |
|
56 |
extern "C" { |
57 |
|
58 |
-#ifndef HAVE_AS_AVX |
59 |
+#if !defined (HAVE_AS_AVX) || !defined(__AVX__) |
60 |
// If we don't have an AVX capable assembler, we didn't set -mavx on the |
61 |
// command-line either, which means that libitm.h defined neither this type |
62 |
// nor the functions in this file. Define the type and unconditionally |
63 |
@@ -40,7 +40,7 @@ typedef float _ITM_TYPE_M256 __attribute__((vector_size(32), may_alias)); |
64 |
// Re-define the memcpy implementations so that we can frob the |
65 |
// interface to deal with possibly missing AVX instruction set support. |
66 |
|
67 |
-#ifdef HAVE_AS_AVX |
68 |
+#if defined(HAVE_AS_AVX) && defined(__AVX__) |
69 |
#define RETURN(X) return X |
70 |
#define STORE(X,Y) X = Y |
71 |
#define OUTPUT(T) _ITM_TYPE_##T |
72 |
|
73 |
|
74 |
|
75 |
1.1 src/patchsets/gcc/4.7.2/gentoo/49_all_x86_pr52695_libitm-m64.patch |
76 |
|
77 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.7.2/gentoo/49_all_x86_pr52695_libitm-m64.patch?rev=1.1&view=markup |
78 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.7.2/gentoo/49_all_x86_pr52695_libitm-m64.patch?rev=1.1&content-type=text/plain |
79 |
|
80 |
Index: 49_all_x86_pr52695_libitm-m64.patch |
81 |
=================================================================== |
82 |
http://gcc.gnu.org/PR52695 |
83 |
https://bugs.gentoo.org/421305 |
84 |
|
85 |
fix building on x86 systems |
86 |
|
87 |
--- a/libitm/config/x86/target.h |
88 |
+++ b/libitm/config/x86/target.h |
89 |
@@ -69,16 +69,4 @@ |
90 |
} // namespace GTM |
91 |
|
92 |
// We'll be using some of the cpu builtins, and their associated types. |
93 |
-#ifndef __cplusplus |
94 |
-/* ??? It's broken for C++. */ |
95 |
#include <x86intrin.h> |
96 |
-#else |
97 |
-# ifdef __SSE2__ |
98 |
-# include <emmintrin.h> |
99 |
-# elif defined(__SSE__) |
100 |
-# include <xmmintrin.h> |
101 |
-# endif |
102 |
-# ifdef __AVX__ |
103 |
-# include <immintrin.h> |
104 |
-# endif |
105 |
-#endif |