1 |
dirtyepic 11/10/28 23:20:34 |
2 |
|
3 |
Added: 01_all_joined-cpp-defs.patch |
4 |
03_all_java-nomulti.patch |
5 |
08_all_cross-compile.patch |
6 |
10_all_default-fortify-source.patch |
7 |
11_all_default-warn-format-security.patch |
8 |
12_all_default-warn-trampolines.patch |
9 |
15_all_libgomp-Werror.patch |
10 |
25_all_alpha-mieee-default.patch |
11 |
26_all_alpha-asm-mcpu.patch |
12 |
29_all_arm_armv4t-default.patch |
13 |
34_all_ia64_note.GNU-stack.patch |
14 |
38_all_sh_pr24836_all-archs.patch |
15 |
42_all_superh_default-multilib.patch |
16 |
50_all_libiberty-asprintf.patch |
17 |
51_all_libiberty-pic.patch |
18 |
52_all_netbsd-Bsymbolic.patch |
19 |
74_all_gcc46_cloog-dl.patch README.history |
20 |
Log: |
21 |
Initial 4.6.2 patchset based on 4.6.1 patchset. |
22 |
|
23 |
Revision Changes Path |
24 |
1.1 src/patchsets/gcc/4.6.2/gentoo/01_all_joined-cpp-defs.patch |
25 |
|
26 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/01_all_joined-cpp-defs.patch?rev=1.1&view=markup |
27 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/01_all_joined-cpp-defs.patch?rev=1.1&content-type=text/plain |
28 |
|
29 |
Index: 01_all_joined-cpp-defs.patch |
30 |
=================================================================== |
31 |
As of 4.6.0 options taking both joined and separate arguments (eg. -DFOO |
32 |
and -D FOO) are canonicalized into the separate form before being processed. |
33 |
The spec language doesn't know about separated switches so it sees it as |
34 |
two different arguments, meaning we can't write spec rules for -D or -U |
35 |
options anymore. We require this for -U_FORTIFY_SOURCE and some hardened- |
36 |
specific features to work, so force the canonical form of these flags to |
37 |
be joined instead. |
38 |
|
39 |
https://bugs.gentoo.org/361783 |
40 |
http://gcc.gnu.org/PR48524 |
41 |
http://gcc.gnu.org/PR47236 |
42 |
|
43 |
jvgenmain was found to only recognize separated options in newer GCC |
44 |
versions, so add back support for joined options. |
45 |
|
46 |
https://bugs.gentoo.org/364319 |
47 |
|
48 |
|
49 |
--- a/gcc/java/jvgenmain.c |
50 |
+++ b/gcc/java/jvgenmain.c |
51 |
@@ -128,7 +128,10 @@ main (int argc, char **argv) |
52 |
continue; |
53 |
|
54 |
fprintf (stream, " \""); |
55 |
- for (p = argv[i]; *p; ++p) |
56 |
+ p = &argv[i][2]; |
57 |
+ if (*p == '\0') |
58 |
+ p = &argv[++i][0]; |
59 |
+ for (; *p; ++p) |
60 |
{ |
61 |
if (! ISPRINT (*p)) |
62 |
fprintf (stream, "\\%o", *p); |
63 |
--- a/gcc/opts-common.c |
64 |
+++ b/gcc/opts-common.c |
65 |
@@ -276,7 +276,8 @@ generate_canonical_option (size_t opt_index, const char *arg, int value, |
66 |
if (arg) |
67 |
{ |
68 |
if ((option->flags & CL_SEPARATE) |
69 |
- && !(option->flags & CL_SEPARATE_ALIAS)) |
70 |
+ && !(option->flags & CL_SEPARATE_ALIAS) |
71 |
+ && !(opt_text[1] == 'D' || opt_text[1] == 'U')) |
72 |
{ |
73 |
decoded->canonical_option[0] = opt_text; |
74 |
decoded->canonical_option[1] = arg; |
75 |
|
76 |
|
77 |
|
78 |
1.1 src/patchsets/gcc/4.6.2/gentoo/03_all_java-nomulti.patch |
79 |
|
80 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/03_all_java-nomulti.patch?rev=1.1&view=markup |
81 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/03_all_java-nomulti.patch?rev=1.1&content-type=text/plain |
82 |
|
83 |
Index: 03_all_java-nomulti.patch |
84 |
=================================================================== |
85 |
--- a/libjava/configure |
86 |
+++ b/libjava/configure |
87 |
@@ -1618,6 +1618,8 @@ Optional Features: |
88 |
default=yes |
89 |
--enable-java-maintainer-mode |
90 |
allow rebuilding of .class and .h files |
91 |
+ --enable-libjava-multilib |
92 |
+ build libjava as multilib |
93 |
--disable-dependency-tracking speeds up one-time build |
94 |
--enable-dependency-tracking do not reject slow dependency extractors |
95 |
--enable-maintainer-mode enable make rules and dependencies not useful |
96 |
@@ -3361,6 +3363,16 @@ else |
97 |
fi |
98 |
|
99 |
|
100 |
+# Check whether --enable-libjava-multilib was given. |
101 |
+if test "${enable_libjava_multilib+set}" = set; then |
102 |
+ enableval=$enable_libjava_multilib; |
103 |
+fi |
104 |
+ |
105 |
+if test "$enable_libjava_multilib" = no; then |
106 |
+ multilib=no |
107 |
+ ac_configure_args="$ac_configure_args --disable-multilib" |
108 |
+fi |
109 |
+ |
110 |
# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX. |
111 |
|
112 |
|
113 |
--- a/libjava/configure.ac |
114 |
+++ b/libjava/configure.ac |
115 |
@@ -139,6 +139,13 @@ AC_ARG_ENABLE(java-maintainer-mode, |
116 |
[allow rebuilding of .class and .h files])) |
117 |
AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes) |
118 |
|
119 |
+AC_ARG_ENABLE(libjava-multilib, |
120 |
+ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib])) |
121 |
+if test "$enable_libjava_multilib" = no; then |
122 |
+ multilib=no |
123 |
+ ac_configure_args="$ac_configure_args --disable-multilib" |
124 |
+fi |
125 |
+ |
126 |
# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX. |
127 |
GCC_NO_EXECUTABLES |
128 |
|
129 |
|
130 |
|
131 |
|
132 |
1.1 src/patchsets/gcc/4.6.2/gentoo/08_all_cross-compile.patch |
133 |
|
134 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/08_all_cross-compile.patch?rev=1.1&view=markup |
135 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/08_all_cross-compile.patch?rev=1.1&content-type=text/plain |
136 |
|
137 |
Index: 08_all_cross-compile.patch |
138 |
=================================================================== |
139 |
Some notes on the 'bootstrap with or without libc headers' debate: |
140 |
http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html |
141 |
http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html |
142 |
|
143 |
--- a/gcc/configure |
144 |
+++ b/gcc/configure |
145 |
@@ -11354,7 +11354,7 @@ then |
146 |
*) |
147 |
;; |
148 |
esac |
149 |
-elif test "x$TARGET_SYSTEM_ROOT" != x; then |
150 |
+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then |
151 |
SYSTEM_HEADER_DIR=$build_system_header_dir |
152 |
fi |
153 |
|
154 |
--- a/gcc/configure.ac |
155 |
+++ b/gcc/configure.ac |
156 |
@@ -1759,7 +1759,7 @@ then |
157 |
*) |
158 |
;; |
159 |
esac |
160 |
-elif test "x$TARGET_SYSTEM_ROOT" != x; then |
161 |
+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then |
162 |
SYSTEM_HEADER_DIR=$build_system_header_dir |
163 |
fi |
164 |
|
165 |
--- a/gcc/unwind-dw2.c |
166 |
+++ b/gcc/unwind-dw2.c |
167 |
@@ -329,9 +329,11 @@ _Unwind_GetTextRelBase (struct _Unwind_Context *context) |
168 |
} |
169 |
#endif |
170 |
|
171 |
+#ifndef inhibit_libc |
172 |
#ifdef MD_UNWIND_SUPPORT |
173 |
#include MD_UNWIND_SUPPORT |
174 |
#endif |
175 |
+#endif |
176 |
|
177 |
/* Extract any interesting information from the CIE for the translation |
178 |
unit F belongs to. Return a pointer to the byte after the augmentation, |
179 |
|
180 |
|
181 |
|
182 |
1.1 src/patchsets/gcc/4.6.2/gentoo/10_all_default-fortify-source.patch |
183 |
|
184 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/10_all_default-fortify-source.patch?rev=1.1&view=markup |
185 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/10_all_default-fortify-source.patch?rev=1.1&content-type=text/plain |
186 |
|
187 |
Index: 10_all_default-fortify-source.patch |
188 |
=================================================================== |
189 |
Enable -D_FORTIFY_SOURCE=2 by default |
190 |
|
191 |
|
192 |
--- a/gcc/doc/invoke.texi |
193 |
+++ b/gcc/doc/invoke.texi |
194 |
@@ -5973,6 +5973,11 @@ also turns on the following optimization flags: |
195 |
Please note the warning under @option{-fgcse} about |
196 |
invoking @option{-O2} on programs that use computed gotos. |
197 |
|
198 |
+NOTE: In Gentoo, @option{-D_FORTIFY_SOURCE=2} is set by default, and is |
199 |
+activated when @option{-O} is set to 2 or higher. This enables additional |
200 |
+compile-time and run-time checks for several libc functions. To disable, |
201 |
+specify either @option{-U_FORTIFY_SOURCE} or @option{-D_FORTIFY_SOURCE=0}. |
202 |
+ |
203 |
@item -O3 |
204 |
@opindex O3 |
205 |
Optimize yet more. @option{-O3} turns on all optimizations specified |
206 |
--- a/gcc/gcc.c |
207 |
+++ b/gcc/gcc.c |
208 |
@@ -741,6 +741,7 @@ static const char *cpp_unique_options = |
209 |
%{H} %C %{D*&U*&A*} %{i*} %Z %i\ |
210 |
%{fmudflap:-D_MUDFLAP -include mf-runtime.h}\ |
211 |
%{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h}\ |
212 |
+ %{!U_FORTIFY_SOURCE:%{!D_FORTIFY_SOURCE:%{!D_FORTIFY_SOURCE=*:-D_FORTIFY_SOURCE=2}}}\ |
213 |
%{E|M|MM:%W{o*}}"; |
214 |
|
215 |
/* This contains cpp options which are common with cc1_options and are passed |
216 |
|
217 |
|
218 |
|
219 |
1.1 src/patchsets/gcc/4.6.2/gentoo/11_all_default-warn-format-security.patch |
220 |
|
221 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/11_all_default-warn-format-security.patch?rev=1.1&view=markup |
222 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/11_all_default-warn-format-security.patch?rev=1.1&content-type=text/plain |
223 |
|
224 |
Index: 11_all_default-warn-format-security.patch |
225 |
=================================================================== |
226 |
Enable -Wformat and -Wformat-security by default. |
227 |
|
228 |
|
229 |
--- a/gcc/c-family/c-common.c |
230 |
+++ b/gcc/c-family/c-common.c |
231 |
@@ -201,7 +201,7 @@ int warn_unknown_pragmas; /* Tri state variable. */ |
232 |
/* Warn about format/argument anomalies in calls to formatted I/O functions |
233 |
(*printf, *scanf, strftime, strfmon, etc.). */ |
234 |
|
235 |
-int warn_format; |
236 |
+int warn_format = 1; |
237 |
|
238 |
/* C/ObjC language option variables. */ |
239 |
|
240 |
--- a/gcc/c-family/c.opt |
241 |
+++ b/gcc/c-family/c.opt |
242 |
@@ -384,7 +384,7 @@ C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning |
243 |
Warn about format strings that contain NUL bytes |
244 |
|
245 |
Wformat-security |
246 |
-C ObjC C++ ObjC++ Var(warn_format_security) Warning |
247 |
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning |
248 |
Warn about possible security problems with format functions |
249 |
|
250 |
Wformat-y2k |
251 |
--- a/gcc/doc/invoke.texi |
252 |
+++ b/gcc/doc/invoke.texi |
253 |
@@ -3111,6 +3111,9 @@ aspects of format checking, the options @option{-Wformat-y2k}, |
254 |
@option{-Wformat-nonliteral}, @option{-Wformat-security}, and |
255 |
@option{-Wformat=2} are available, but are not included in @option{-Wall}. |
256 |
|
257 |
+In Gentoo this option is enabled by default for C, C++, ObjC, ObjC++. |
258 |
+To disable, use @option{-Wformat=0}. |
259 |
+ |
260 |
@item -Wformat-y2k |
261 |
@opindex Wformat-y2k |
262 |
@opindex Wno-format-y2k |
263 |
@@ -3164,6 +3167,11 @@ currently a subset of what @option{-Wformat-nonliteral} warns about, but |
264 |
in future warnings may be added to @option{-Wformat-security} that are not |
265 |
included in @option{-Wformat-nonliteral}.) |
266 |
|
267 |
+In Gentoo this option is enabled by default for C, C++, ObjC, ObjC++. |
268 |
+To disable, use @option{-Wno-format-security}, or disable all format warnings |
269 |
+with @option{-Wformat=0}. To make format security warnings fatal, specify |
270 |
+@option{-Werror=format-security}. |
271 |
+ |
272 |
@item -Wformat=2 |
273 |
@opindex Wformat=2 |
274 |
@opindex Wno-format=2 |
275 |
|
276 |
|
277 |
|
278 |
1.1 src/patchsets/gcc/4.6.2/gentoo/12_all_default-warn-trampolines.patch |
279 |
|
280 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/12_all_default-warn-trampolines.patch?rev=1.1&view=markup |
281 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/12_all_default-warn-trampolines.patch?rev=1.1&content-type=text/plain |
282 |
|
283 |
Index: 12_all_default-warn-trampolines.patch |
284 |
=================================================================== |
285 |
Enable -Wtrampolines by default. |
286 |
|
287 |
|
288 |
--- a/gcc/common.opt |
289 |
+++ b/gcc/common.opt |
290 |
@@ -611,7 +611,7 @@ Common Var(warn_system_headers) Warning |
291 |
Do not suppress warnings from system headers |
292 |
|
293 |
Wtrampolines |
294 |
-Common Var(warn_trampolines) Warning |
295 |
+Common Var(warn_trampolines) Init(1) Warning |
296 |
Warn whenever a trampoline is generated |
297 |
|
298 |
Wtype-limits |
299 |
--- a/gcc/doc/invoke.texi |
300 |
+++ b/gcc/doc/invoke.texi |
301 |
@@ -3766,6 +3766,8 @@ headers---for that, @option{-Wunknown-pragmas} must also be used. |
302 |
@opindex Wno-trampolines |
303 |
Warn about trampolines generated for pointers to nested functions. |
304 |
|
305 |
+ In Gentoo, @option{-Wtrampolines} is enabled by default. |
306 |
+ |
307 |
A trampoline is a small piece of data or code that is created at run |
308 |
time on the stack when the address of a nested function is taken, and |
309 |
is used to call the nested function indirectly. For some targets, it |
310 |
|
311 |
|
312 |
|
313 |
1.1 src/patchsets/gcc/4.6.2/gentoo/15_all_libgomp-Werror.patch |
314 |
|
315 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/15_all_libgomp-Werror.patch?rev=1.1&view=markup |
316 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/15_all_libgomp-Werror.patch?rev=1.1&content-type=text/plain |
317 |
|
318 |
Index: 15_all_libgomp-Werror.patch |
319 |
=================================================================== |
320 |
libgomp does not respect --disable-werror |
321 |
|
322 |
https://bugs.gentoo.org/229059 |
323 |
http://gcc.gnu.org/PR38436 |
324 |
|
325 |
--- a/libgomp/configure |
326 |
+++ b/libgomp/configure |
327 |
@@ -4284,7 +4284,7 @@ save_CFLAGS="$CFLAGS" |
328 |
|
329 |
# Add -Wall -Werror if we are using GCC. |
330 |
if test "x$GCC" = "xyes"; then |
331 |
- XCFLAGS="$XCFLAGS -Wall -Werror" |
332 |
+ XCFLAGS="$XCFLAGS -Wall" |
333 |
fi |
334 |
|
335 |
# Find other programs we need. |
336 |
|
337 |
|
338 |
|
339 |
1.1 src/patchsets/gcc/4.6.2/gentoo/25_all_alpha-mieee-default.patch |
340 |
|
341 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/25_all_alpha-mieee-default.patch?rev=1.1&view=markup |
342 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/25_all_alpha-mieee-default.patch?rev=1.1&content-type=text/plain |
343 |
|
344 |
Index: 25_all_alpha-mieee-default.patch |
345 |
=================================================================== |
346 |
Set the default behavior on alpha to use -mieee since the large majority of |
347 |
time we want this (bad/weird things can happen with packages built without |
348 |
it). |
349 |
|
350 |
To satisfy those people who may not want -mieee forced on them all the time, |
351 |
we also provide -mno-ieee. |
352 |
|
353 |
Patch by Mike Frysinger <vapier@g.o> |
354 |
|
355 |
--- a/gcc/config/alpha/alpha.h |
356 |
+++ b/gcc/config/alpha/alpha.h |
357 |
@@ -96,6 +96,8 @@ along with GCC; see the file COPYING3. If not see |
358 |
while (0) |
359 |
#endif |
360 |
|
361 |
+#define CPP_SPEC "%{!no-ieee:-mieee}" |
362 |
+ |
363 |
/* Print subsidiary information on the compiler version in use. */ |
364 |
#define TARGET_VERSION |
365 |
|
366 |
--- a/gcc/config/alpha/alpha.opt |
367 |
+++ b/gcc/config/alpha/alpha.opt |
368 |
@@ -39,7 +39,7 @@ Target RejectNegative Mask(IEEE_CONFORMANT) |
369 |
Request IEEE-conformant math library routines (OSF/1) |
370 |
|
371 |
mieee |
372 |
-Target Report RejectNegative Mask(IEEE) |
373 |
+Target Report Mask(IEEE) |
374 |
Emit IEEE-conformant code, without inexact exceptions |
375 |
|
376 |
mieee-with-inexact |
377 |
|
378 |
|
379 |
|
380 |
1.1 src/patchsets/gcc/4.6.2/gentoo/26_all_alpha-asm-mcpu.patch |
381 |
|
382 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/26_all_alpha-asm-mcpu.patch?rev=1.1&view=markup |
383 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/26_all_alpha-asm-mcpu.patch?rev=1.1&content-type=text/plain |
384 |
|
385 |
Index: 26_all_alpha-asm-mcpu.patch |
386 |
=================================================================== |
387 |
https://bugs.gentoo.org/170146 |
388 |
http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00403.html |
389 |
|
390 |
alpha: turn -mcpu=<cpu> into -m<cpu> for assembler all the time |
391 |
|
392 |
--- a/gcc/config/alpha/elf.h |
393 |
+++ b/gcc/config/alpha/elf.h |
394 |
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see |
395 |
#define CC1_SPEC "%{G*}" |
396 |
|
397 |
#undef ASM_SPEC |
398 |
-#define ASM_SPEC "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug}" |
399 |
+#define ASM_SPEC "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug} %{mcpu=*:-m%*}" |
400 |
|
401 |
#undef IDENT_ASM_OP |
402 |
#define IDENT_ASM_OP "\t.ident\t" |
403 |
|
404 |
|
405 |
|
406 |
1.1 src/patchsets/gcc/4.6.2/gentoo/29_all_arm_armv4t-default.patch |
407 |
|
408 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/29_all_arm_armv4t-default.patch?rev=1.1&view=markup |
409 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/29_all_arm_armv4t-default.patch?rev=1.1&content-type=text/plain |
410 |
|
411 |
Index: 29_all_arm_armv4t-default.patch |
412 |
=================================================================== |
413 |
gcc defaults to armv5t for all targets even armv4t |
414 |
|
415 |
http://sourceware.org/ml/crossgcc/2008-05/msg00009.html |
416 |
|
417 |
|
418 |
--- a/gcc/config/arm/linux-eabi.h |
419 |
+++ b/gcc/config/arm/linux-eabi.h |
420 |
@@ -45,7 +45,7 @@ |
421 |
The ARM10TDMI core is the default for armv5t, so set |
422 |
SUBTARGET_CPU_DEFAULT to achieve this. */ |
423 |
#undef SUBTARGET_CPU_DEFAULT |
424 |
-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi |
425 |
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi |
426 |
|
427 |
/* TARGET_BIG_ENDIAN_DEFAULT is set in |
428 |
config.gcc for big endian configurations. */ |
429 |
|
430 |
|
431 |
|
432 |
1.1 src/patchsets/gcc/4.6.2/gentoo/34_all_ia64_note.GNU-stack.patch |
433 |
|
434 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/34_all_ia64_note.GNU-stack.patch?rev=1.1&view=markup |
435 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/34_all_ia64_note.GNU-stack.patch?rev=1.1&content-type=text/plain |
436 |
|
437 |
Index: 34_all_ia64_note.GNU-stack.patch |
438 |
=================================================================== |
439 |
2004-09-20 Jakub Jelinek <jakub@××××××.com> |
440 |
|
441 |
* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also |
442 |
on ppc64-linux. |
443 |
|
444 |
* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on |
445 |
ia64-linux. |
446 |
* config/ia64/crtbegin.asm: Likewise. |
447 |
* config/ia64/crtend.asm: Likewise. |
448 |
* config/ia64/crti.asm: Likewise. |
449 |
* config/ia64/crtn.asm: Likewise. |
450 |
|
451 |
2004-05-14 Jakub Jelinek <jakub@××××××.com> |
452 |
|
453 |
* config/ia64/linux.h (TARGET_ASM_FILE_END): Define. |
454 |
|
455 |
|
456 |
--- a/gcc/config/ia64/crtbegin.asm |
457 |
+++ b/gcc/config/ia64/crtbegin.asm |
458 |
@@ -252,3 +252,7 @@ __do_jv_register_classes: |
459 |
.weak __cxa_finalize |
460 |
#endif |
461 |
.weak _Jv_RegisterClasses |
462 |
+ |
463 |
+#ifdef __linux__ |
464 |
+.section .note.GNU-stack; .previous |
465 |
+#endif |
466 |
--- a/gcc/config/ia64/crtend.asm |
467 |
+++ b/gcc/config/ia64/crtend.asm |
468 |
@@ -119,3 +119,7 @@ __do_global_ctors_aux: |
469 |
|
470 |
br.ret.sptk.many rp |
471 |
.endp __do_global_ctors_aux |
472 |
+ |
473 |
+#ifdef __linux__ |
474 |
+.section .note.GNU-stack; .previous |
475 |
+#endif |
476 |
--- a/gcc/config/ia64/crti.asm |
477 |
+++ b/gcc/config/ia64/crti.asm |
478 |
@@ -51,3 +51,7 @@ _fini: |
479 |
.body |
480 |
|
481 |
# end of crti.asm |
482 |
+ |
483 |
+#ifdef __linux__ |
484 |
+.section .note.GNU-stack; .previous |
485 |
+#endif |
486 |
--- a/gcc/config/ia64/crtn.asm |
487 |
+++ b/gcc/config/ia64/crtn.asm |
488 |
@@ -41,3 +41,7 @@ |
489 |
br.ret.sptk.many b0 |
490 |
|
491 |
# end of crtn.asm |
492 |
+ |
493 |
+#ifdef __linux__ |
494 |
+.section .note.GNU-stack; .previous |
495 |
+#endif |
496 |
--- a/gcc/config/ia64/lib1funcs.asm |
497 |
+++ b/gcc/config/ia64/lib1funcs.asm |
498 |
@@ -793,3 +793,7 @@ __floattitf: |
499 |
.endp __floattitf |
500 |
#endif |
501 |
#endif |
502 |
+ |
503 |
+#ifdef __linux__ |
504 |
+.section .note.GNU-stack; .previous |
505 |
+#endif |
506 |
--- a/gcc/config/ia64/linux.h |
507 |
+++ b/gcc/config/ia64/linux.h |
508 |
@@ -29,6 +29,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
509 |
|
510 |
#define TARGET_VERSION fprintf (stderr, " (IA-64) Linux"); |
511 |
|
512 |
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack |
513 |
+ |
514 |
/* This is for -profile to use -lc_p instead of -lc. */ |
515 |
#undef CC1_SPEC |
516 |
#define CC1_SPEC "%{profile:-p} %{G*}" |
517 |
--- a/gcc/config/rs6000/ppc-asm.h |
518 |
+++ b/gcc/config/rs6000/ppc-asm.h |
519 |
@@ -352,7 +352,7 @@ GLUE(.L,name): \ |
520 |
#endif |
521 |
#endif |
522 |
|
523 |
-#if defined __linux__ && !defined __powerpc64__ |
524 |
+#if defined __linux__ |
525 |
.section .note.GNU-stack |
526 |
.previous |
527 |
#endif |
528 |
|
529 |
|
530 |
|
531 |
1.1 src/patchsets/gcc/4.6.2/gentoo/38_all_sh_pr24836_all-archs.patch |
532 |
|
533 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/38_all_sh_pr24836_all-archs.patch?rev=1.1&view=markup |
534 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/38_all_sh_pr24836_all-archs.patch?rev=1.1&content-type=text/plain |
535 |
|
536 |
Index: 38_all_sh_pr24836_all-archs.patch |
537 |
=================================================================== |
538 |
gcc/configure doesn't handle all possible SH architectures |
539 |
|
540 |
http://gcc.gnu.org/PR24836 |
541 |
|
542 |
|
543 |
--- a/gcc/configure |
544 |
+++ b/gcc/configure |
545 |
@@ -22753,7 +22753,7 @@ foo: .long 25 |
546 |
tls_first_minor=14 |
547 |
tls_as_opt="-m64 -Aesame --fatal-warnings" |
548 |
;; |
549 |
- sh-*-* | sh[34]-*-*) |
550 |
+ sh-*-* | sh[34]*-*-*) |
551 |
conftest_s=' |
552 |
.section ".tdata","awT",@progbits |
553 |
foo: .long 25 |
554 |
--- a/gcc/configure.ac |
555 |
+++ b/gcc/configure.ac |
556 |
@@ -2924,7 +2924,7 @@ foo: .long 25 |
557 |
tls_first_minor=14 |
558 |
tls_as_opt="-m64 -Aesame --fatal-warnings" |
559 |
;; |
560 |
- sh-*-* | sh[34]-*-*) |
561 |
+ sh-*-* | sh[34]*-*-*) |
562 |
conftest_s=' |
563 |
.section ".tdata","awT",@progbits |
564 |
foo: .long 25 |
565 |
|
566 |
|
567 |
|
568 |
1.1 src/patchsets/gcc/4.6.2/gentoo/42_all_superh_default-multilib.patch |
569 |
|
570 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/42_all_superh_default-multilib.patch?rev=1.1&view=markup |
571 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/42_all_superh_default-multilib.patch?rev=1.1&content-type=text/plain |
572 |
|
573 |
Index: 42_all_superh_default-multilib.patch |
574 |
=================================================================== |
575 |
The gcc-3.x toolchains would contain all the targets by default. With gcc-4, |
576 |
you have to actually list out the multilibs you want or you will end up with |
577 |
just one when using targets like 'sh4-linux-gnu'. |
578 |
|
579 |
The resulting toolchain can't even build a kernel as the kernel needs to build |
580 |
with the nofpu flag to be sure that no fpu ops are generated. |
581 |
|
582 |
Here we restore the gcc-3.x behavior; the additional overhead of building all |
583 |
of these multilibs by default is negligible. |
584 |
|
585 |
https://bugs.gentoo.org/140205 |
586 |
https://bugs.gentoo.org/320251 |
587 |
|
588 |
--- a/gcc/config.gcc |
589 |
+++ b/gcc/config.gcc |
590 |
@@ -2455,7 +2455,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ |
591 |
if test "$sh_multilibs" = "default" ; then |
592 |
case ${target} in |
593 |
sh64-superh-linux* | \ |
594 |
- sh[1234]*) sh_multilibs=${sh_cpu_target} ;; |
595 |
+ sh[1234]*) sh_multilibs=$(echo $(sed -n '/^[[:space:]]*case ${sh_multilib} in/,/)/{s:case ${sh_multilib} in::;s: | *:,:g;s:[\\)]::g;p}' ${srcdir}/config.gcc) | sed 's: ::g') ;; |
596 |
sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;; |
597 |
sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;; |
598 |
sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;; |
599 |
|
600 |
|
601 |
|
602 |
1.1 src/patchsets/gcc/4.6.2/gentoo/50_all_libiberty-asprintf.patch |
603 |
|
604 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/50_all_libiberty-asprintf.patch?rev=1.1&view=markup |
605 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/50_all_libiberty-asprintf.patch?rev=1.1&content-type=text/plain |
606 |
|
607 |
Index: 50_all_libiberty-asprintf.patch |
608 |
=================================================================== |
609 |
2008-07-25 Magnus Granberg <zorry@×××.nu> |
610 |
|
611 |
* include/libiberty.h (asprintf): Don't declare if defined as a macro |
612 |
|
613 |
--- a/include/libiberty.h |
614 |
+++ b/include/libiberty.h |
615 |
@@ -609,8 +609,11 @@ extern int pwait (int, int *, int); |
616 |
/* Like sprintf but provides a pointer to malloc'd storage, which must |
617 |
be freed by the caller. */ |
618 |
|
619 |
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */ |
620 |
+#ifndef asprintf |
621 |
extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2; |
622 |
#endif |
623 |
+#endif |
624 |
|
625 |
#if !HAVE_DECL_VASPRINTF |
626 |
/* Like vsprintf but provides a pointer to malloc'd storage, which |
627 |
|
628 |
|
629 |
|
630 |
1.1 src/patchsets/gcc/4.6.2/gentoo/51_all_libiberty-pic.patch |
631 |
|
632 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/51_all_libiberty-pic.patch?rev=1.1&view=markup |
633 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/51_all_libiberty-pic.patch?rev=1.1&content-type=text/plain |
634 |
|
635 |
Index: 51_all_libiberty-pic.patch |
636 |
=================================================================== |
637 |
--- a/libiberty/Makefile.in |
638 |
+++ b/libiberty/Makefile.in |
639 |
@@ -246,6 +246,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) |
640 |
$(AR) $(AR_FLAGS) $(TARGETLIB) \ |
641 |
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ |
642 |
$(RANLIB) $(TARGETLIB); \ |
643 |
+ cp $(TARGETLIB) ../ ; \ |
644 |
cd ..; \ |
645 |
else true; fi |
646 |
|
647 |
|
648 |
|
649 |
|
650 |
1.1 src/patchsets/gcc/4.6.2/gentoo/52_all_netbsd-Bsymbolic.patch |
651 |
|
652 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/52_all_netbsd-Bsymbolic.patch?rev=1.1&view=markup |
653 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/52_all_netbsd-Bsymbolic.patch?rev=1.1&content-type=text/plain |
654 |
|
655 |
Index: 52_all_netbsd-Bsymbolic.patch |
656 |
=================================================================== |
657 |
https://bugs.gentoo.org/122698 |
658 |
|
659 |
--- a/gcc/config/netbsd-elf.h |
660 |
+++ b/gcc/config/netbsd-elf.h |
661 |
@@ -70,6 +70,7 @@ along with GCC; see the file COPYING3. If not see |
662 |
#define NETBSD_LINK_SPEC_ELF \ |
663 |
"%{assert*} %{R*} %{rpath*} \ |
664 |
%{shared:-shared} \ |
665 |
+ %{symbolic:-Bsymbolic} \ |
666 |
%{!shared: \ |
667 |
-dc -dp \ |
668 |
%{!nostdlib: \ |
669 |
|
670 |
|
671 |
|
672 |
1.1 src/patchsets/gcc/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch |
673 |
|
674 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch?rev=1.1&view=markup |
675 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/74_all_gcc46_cloog-dl.patch?rev=1.1&content-type=text/plain |
676 |
|
677 |
Index: 74_all_gcc46_cloog-dl.patch |
678 |
=================================================================== |
679 |
When graphite support is enabled, C++ libraries (libppl, libcloog, libgmpxx, |
680 |
libstdc++-v3) are linked into cc1. Because of libstdc++ symbol versioning |
681 |
this has the unfortunate side effect of making it difficult to switch to a |
682 |
previous version of GCC using gcc-config once these libraries have be built |
683 |
with the newer version. (http://bugs.gentoo.org/315377#c3) |
684 |
|
685 |
Instead, dlopen libcloog as necessary. This patch originated in Fedora and |
686 |
was modified to work on FreeBSD (http://bugs.gentoo.org/317211). |
687 |
|
688 |
2011-01-04 Jakub Jelinek <jakub@××××××.com> |
689 |
|
690 |
* Makefile.in (BACKENDLIBS): Link against -ldl instead of |
691 |
-lcloog -lppl. |
692 |
(graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions. |
693 |
(GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. |
694 |
(graphite*.o): Adjust dependencies. |
695 |
* graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and |
696 |
libppl symbols through pointers in cloog_pointers__ variable. |
697 |
* graphite.c (init_cloog_pointers): New function. |
698 |
(graphite_transform_loops): Call init_cloog_pointers. |
699 |
* graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename |
700 |
stmt_for argument to stmt_fora. |
701 |
* graphite-poly.h: Include graphite-cloog-util.h. |
702 |
|
703 |
2011-04-02 Ryan Hill <dirtyepic@g.o> |
704 |
|
705 |
* configure.ac (DL_LIB): Check how to dlopen. |
706 |
* configure: Regenerate. |
707 |
* Makefile.in (BACKENDLIBS): Use DL_LIB. |
708 |
* graphite-cloog-compat.h: Add missing symbols. |
709 |
|
710 |
|
711 |
|
712 |
--- a/gcc/Makefile.in |
713 |
+++ b/gcc/Makefile.in |
714 |
@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \ |
715 |
PLUGIN_H = plugin.h $(GCC_PLUGIN_H) |
716 |
PLUGIN_VERSION_H = plugin-version.h configargs.h |
717 |
LIBFUNCS_H = libfuncs.h $(HASHTAB_H) |
718 |
+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h |
719 |
+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H) |
720 |
|
721 |
# |
722 |
# Now figure out from those variables how to compile and link. |
723 |
@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) |
724 |
# and the system's installed libraries. |
725 |
LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \ |
726 |
$(HOST_LIBS) |
727 |
-BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \ |
728 |
+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \ |
729 |
$(ZLIB) |
730 |
# Any system libraries needed just for GNAT. |
731 |
SYSLIBS = @GNAT_LIBEXC@ |
732 |
@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ |
733 |
$(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h |
734 |
graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ |
735 |
$(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ |
736 |
- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ |
737 |
+ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ |
738 |
graphite-clast-to-gimple.h graphite-sese-to-poly.h |
739 |
graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ |
740 |
coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ |
741 |
- sese.h graphite-ppl.h graphite-poly.h |
742 |
+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) |
743 |
graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ |
744 |
$(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ |
745 |
- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ |
746 |
- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ |
747 |
+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ |
748 |
+ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ |
749 |
graphite-dependences.h graphite-cloog-compat.h |
750 |
graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ |
751 |
- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h |
752 |
+ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h |
753 |
graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ |
754 |
coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ |
755 |
- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \ |
756 |
- graphite-cloog-util.h |
757 |
+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \ |
758 |
+ $(GRAPHITE_CLOOG_UTIL_H) |
759 |
graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ |
760 |
coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ |
761 |
- sese.h graphite-ppl.h graphite-poly.h |
762 |
+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) |
763 |
graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ |
764 |
coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ |
765 |
- sese.h graphite-ppl.h graphite-poly.h |
766 |
+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) |
767 |
graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ |
768 |
$(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ |
769 |
- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ |
770 |
- graphite-dependences.h graphite-cloog-util.h |
771 |
+ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ |
772 |
+ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) |
773 |
graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ |
774 |
- graphite-cloog-util.h graphite-ppl.h |
775 |
+ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h |
776 |
graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ |
777 |
coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ |
778 |
- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h |
779 |
+ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h |
780 |
graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ |
781 |
$(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ |
782 |
- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ |
783 |
+ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ |
784 |
graphite-sese-to-poly.h |
785 |
tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ |
786 |
$(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ |
787 |
@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \ |
788 |
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ |
789 |
$(out_file) $(OUTPUT_OPTION) |
790 |
|
791 |
+graphite%.o : \ |
792 |
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) |
793 |
+graphite.o : \ |
794 |
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS)) |
795 |
+ |
796 |
# Build auxiliary files that support ecoff format. |
797 |
mips-tfile: mips-tfile.o version.o $(LIBDEPS) |
798 |
$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \ |
799 |
--- a/gcc/configure |
800 |
+++ b/gcc/configure |
801 |
@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS |
802 |
LIBOBJS |
803 |
enable_plugin |
804 |
pluginlibs |
805 |
+DL_LIB |
806 |
CLOOGINC |
807 |
CLOOGLIBS |
808 |
PPLINC |
809 |
@@ -17505,7 +17506,7 @@ else |
810 |
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
811 |
lt_status=$lt_dlunknown |
812 |
cat > conftest.$ac_ext <<_LT_EOF |
813 |
-#line 17508 "configure" |
814 |
+#line 17509 "configure" |
815 |
#include "confdefs.h" |
816 |
|
817 |
#if HAVE_DLFCN_H |
818 |
@@ -17611,7 +17612,7 @@ else |
819 |
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
820 |
lt_status=$lt_dlunknown |
821 |
cat > conftest.$ac_ext <<_LT_EOF |
822 |
-#line 17614 "configure" |
823 |
+#line 17615 "configure" |
824 |
#include "confdefs.h" |
825 |
|
826 |
#if HAVE_DLFCN_H |
827 |
@@ -26284,6 +26285,7 @@ $as_echo "unable to check" >&6; } |
828 |
fi |
829 |
|
830 |
# Check -ldl |
831 |
+ DL_LIB= |
832 |
saved_LIBS="$LIBS" |
833 |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 |
834 |
$as_echo_n "checking for library containing dlopen... " >&6; } |
835 |
@@ -26343,7 +26345,9 @@ fi |
836 |
|
837 |
if test x"$ac_cv_search_dlopen" = x"-ldl"; then |
838 |
pluginlibs="$pluginlibs -ldl" |
839 |
+ DL_LIB=$ac_cv_search_dlopen |
840 |
fi |
841 |
+ |
842 |
LIBS="$saved_LIBS" |
843 |
|
844 |
# Check that we can build shared objects with -fPIC -shared |
845 |
--- a/gcc/configure.ac |
846 |
+++ b/gcc/configure.ac |
847 |
@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then |
848 |
fi |
849 |
|
850 |
# Check -ldl |
851 |
+ DL_LIB= |
852 |
saved_LIBS="$LIBS" |
853 |
AC_SEARCH_LIBS([dlopen], [dl]) |
854 |
if test x"$ac_cv_search_dlopen" = x"-ldl"; then |
855 |
pluginlibs="$pluginlibs -ldl" |
856 |
+ DL_LIB=$ac_cv_search_dlopen |
857 |
fi |
858 |
+ AC_SUBST(DL_LIB) |
859 |
LIBS="$saved_LIBS" |
860 |
|
861 |
# Check that we can build shared objects with -fPIC -shared |
862 |
--- a/gcc/graphite-clast-to-gimple.c |
863 |
+++ b/gcc/graphite-clast-to-gimple.c |
864 |
@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt) |
865 |
from STMT_FOR. */ |
866 |
|
867 |
static tree |
868 |
-gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level, |
869 |
+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level, |
870 |
tree lb_type, tree ub_type) |
871 |
{ |
872 |
- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for; |
873 |
+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora; |
874 |
struct clast_user_stmt *body = clast_get_body_of_loop (stmt); |
875 |
CloogStatement *cs = body->statement; |
876 |
poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs); |
877 |
--- a/gcc/graphite-cloog-compat.h |
878 |
+++ b/gcc/graphite-cloog-compat.h |
879 |
@@ -272,4 +272,269 @@ static inline int cloog_matrix_nrows (CloogMatrix * m) |
880 |
return m->NbRows; |
881 |
} |
882 |
#endif /* CLOOG_ORG */ |
883 |
+ |
884 |
+#include <dlfcn.h> |
885 |
+#define DYNSYMS \ |
886 |
+ DYNSYM (cloog_block_alloc); \ |
887 |
+ DYNSYM (cloog_block_list_free); \ |
888 |
+ DYNSYM (cloog_block_list_malloc); \ |
889 |
+ DYNSYM (cloog_clast_create); \ |
890 |
+ DYNSYM (cloog_clast_free); \ |
891 |
+ DYNSYM (cloog_domain_free); \ |
892 |
+ DYNSYM (cloog_domain_matrix2domain); \ |
893 |
+ DYNSYM (cloog_initialize); \ |
894 |
+ DYNSYM (cloog_loop_malloc); \ |
895 |
+ DYNSYM (cloog_matrix_alloc); \ |
896 |
+ DYNSYM (cloog_matrix_copy); \ |
897 |
+ DYNSYM (cloog_matrix_free); \ |
898 |
+ DYNSYM (cloog_matrix_print); \ |
899 |
+ DYNSYM (cloog_names_malloc); \ |
900 |
+ DYNSYM (cloog_names_scalarize); \ |
901 |
+ DYNSYM (cloog_options_free); \ |
902 |
+ DYNSYM (cloog_options_malloc); \ |
903 |
+ DYNSYM (cloog_program_dump_cloog); \ |
904 |
+ DYNSYM (cloog_program_extract_scalars); \ |
905 |
+ DYNSYM (cloog_program_free); \ |
906 |
+ DYNSYM (cloog_program_generate); \ |
907 |
+ DYNSYM (cloog_program_malloc); \ |
908 |
+ DYNSYM (cloog_program_print); \ |
909 |
+ DYNSYM (cloog_program_scatter); \ |
910 |
+ DYNSYM (cloog_statement_alloc); \ |
911 |
+ DYNSYM (cloog_domain_union); \ |
912 |
+ DYNSYM (cloog_matrix_read); \ |
913 |
+ DYNSYM (cloog_new_pol); \ |
914 |
+ DYNSYM (cloog_vector_gcd); \ |
915 |
+ DYNSYM (ppl_finalize); \ |
916 |
+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \ |
917 |
+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \ |
918 |
+ DYNSYM (ppl_Coefficient_to_mpz_t); \ |
919 |
+ DYNSYM (ppl_Constraint_coefficient); \ |
920 |
+ DYNSYM (ppl_Constraint_inhomogeneous_term); \ |
921 |
+ DYNSYM (ppl_Constraint_space_dimension); \ |
922 |
+ DYNSYM (ppl_Constraint_System_begin); \ |
923 |
+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \ |
924 |
+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \ |
925 |
+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \ |
926 |
+ DYNSYM (ppl_Constraint_System_end); \ |
927 |
+ DYNSYM (ppl_Constraint_System_insert_Constraint); \ |
928 |
+ DYNSYM (ppl_Constraint_System_space_dimension); \ |
929 |
+ DYNSYM (ppl_Constraint_type); \ |
930 |
+ DYNSYM (ppl_delete_Coefficient); \ |
931 |
+ DYNSYM (ppl_delete_Constraint); \ |
932 |
+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \ |
933 |
+ DYNSYM (ppl_delete_Linear_Expression); \ |
934 |
+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \ |
935 |
+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \ |
936 |
+ DYNSYM (ppl_delete_Polyhedron); \ |
937 |
+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \ |
938 |
+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \ |
939 |
+ DYNSYM (ppl_Linear_Expression_coefficient); \ |
940 |
+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \ |
941 |
+ DYNSYM (ppl_Linear_Expression_space_dimension); \ |
942 |
+ DYNSYM (ppl_new_Coefficient); \ |
943 |
+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \ |
944 |
+ DYNSYM (ppl_new_Constraint); \ |
945 |
+ DYNSYM (ppl_new_Constraint_System); \ |
946 |
+ DYNSYM (ppl_new_Constraint_System_const_iterator); \ |
947 |
+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \ |
948 |
+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \ |
949 |
+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \ |
950 |
+ DYNSYM (ppl_new_Linear_Expression); \ |
951 |
+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \ |
952 |
+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \ |
953 |
+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \ |
954 |
+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \ |
955 |
+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \ |
956 |
+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \ |
957 |
+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \ |
958 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \ |
959 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \ |
960 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \ |
961 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \ |
962 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \ |
963 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \ |
964 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \ |
965 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \ |
966 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \ |
967 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \ |
968 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \ |
969 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \ |
970 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \ |
971 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \ |
972 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \ |
973 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \ |
974 |
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \ |
975 |
+ DYNSYM (ppl_Polyhedron_add_constraint); \ |
976 |
+ DYNSYM (ppl_Polyhedron_add_constraints); \ |
977 |
+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \ |
978 |
+ DYNSYM (ppl_Polyhedron_get_constraints); \ |
979 |
+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \ |
980 |
+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \ |
981 |
+ DYNSYM (ppl_Polyhedron_space_dimension); \ |
982 |
+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \ |
983 |
+ DYNSYM (pprint); \ |
984 |
+ DYNSYM (stmt_block); \ |
985 |
+ DYNSYM (stmt_for); \ |
986 |
+ DYNSYM (stmt_guard); \ |
987 |
+ DYNSYM (stmt_root); \ |
988 |
+ DYNSYM (stmt_user); \ |
989 |
+ DYNSYM (ppl_delete_Constraint_System); \ |
990 |
+ DYNSYM (ppl_initialize); \ |
991 |
+ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ |
992 |
+ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ |
993 |
+ DYNSYM (ppl_Polyhedron_affine_image); \ |
994 |
+ DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \ |
995 |
+ DYNSYM (ppl_new_PIP_Problem_from_constraints); \ |
996 |
+ DYNSYM (ppl_PIP_Problem_is_satisfiable); \ |
997 |
+ DYNSYM (ppl_delete_PIP_Problem); |
998 |
+extern struct |
999 |
+{ |
1000 |
+ bool inited; |
1001 |
+ void *h; |
1002 |
+#define DYNSYM(x) __typeof (x) *p_##x |
1003 |
+ DYNSYMS |
1004 |
+#undef DYNSYM |
1005 |
+} cloog_pointers__; |
1006 |
+ |
1007 |
+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc) |
1008 |
+#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free) |
1009 |
+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc) |
1010 |
+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create) |
1011 |
+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free) |
1012 |
+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free) |
1013 |
+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain) |
1014 |
+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize) |
1015 |
+#ifndef CLOOG_ORG |
1016 |
+#undef cloog_loop_malloc |
1017 |
+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () |
1018 |
+#else |
1019 |
+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) |
1020 |
+#endif |
1021 |
+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc) |
1022 |
+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy) |
1023 |
+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free) |
1024 |
+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print) |
1025 |
+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc) |
1026 |
+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize) |
1027 |
+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free) |
1028 |
+#ifndef CLOOG_ORG |
1029 |
+#undef cloog_options_malloc |
1030 |
+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () |
1031 |
+#undef cloog_program_dump_cloog |
1032 |
+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ |
1033 |
+ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) |
1034 |
+#undef cloog_program_extract_scalars |
1035 |
+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ |
1036 |
+ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) |
1037 |
+#else |
1038 |
+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc) |
1039 |
+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog) |
1040 |
+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars) |
1041 |
+#endif |
1042 |
+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free) |
1043 |
+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate) |
1044 |
+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc) |
1045 |
+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print) |
1046 |
+#ifndef CLOOG_ORG |
1047 |
+#undef cloog_program_scatter |
1048 |
+#define cloog_program_scatter(PROG, SCATT, OPT) \ |
1049 |
+ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) |
1050 |
+#undef cloog_statement_alloc |
1051 |
+#define cloog_statement_alloc(STATE, INDEX) \ |
1052 |
+ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) |
1053 |
+#else |
1054 |
+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) |
1055 |
+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) |
1056 |
+#endif |
1057 |
+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union) |
1058 |
+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read) |
1059 |
+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol) |
1060 |
+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd) |
1061 |
+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize) |
1062 |
+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t) |
1063 |
+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression) |
1064 |
+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t) |
1065 |
+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient) |
1066 |
+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term) |
1067 |
+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension) |
1068 |
+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin) |
1069 |
+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference) |
1070 |
+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test) |
1071 |
+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment) |
1072 |
+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end) |
1073 |
+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint) |
1074 |
+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension) |
1075 |
+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type) |
1076 |
+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient) |
1077 |
+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint) |
1078 |
+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator) |
1079 |
+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression) |
1080 |
+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron) |
1081 |
+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator) |
1082 |
+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron) |
1083 |
+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient) |
1084 |
+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous) |
1085 |
+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient) |
1086 |
+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term) |
1087 |
+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension) |
1088 |
+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient) |
1089 |
+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t) |
1090 |
+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint) |
1091 |
+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System) |
1092 |
+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator) |
1093 |
+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron) |
1094 |
+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension) |
1095 |
+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System) |
1096 |
+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression) |
1097 |
+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint) |
1098 |
+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression) |
1099 |
+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension) |
1100 |
+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron) |
1101 |
+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron) |
1102 |
+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension) |
1103 |
+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator) |
1104 |
+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint) |
1105 |
+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed) |
1106 |
+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign) |
1107 |
+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign) |
1108 |
+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty) |
1109 |
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin) |
1110 |
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference) |
1111 |
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end) |
1112 |
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test) |
1113 |
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment) |
1114 |
+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions) |
1115 |
+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize) |
1116 |
+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize) |
1117 |
+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions) |
1118 |
+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size) |
1119 |
+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension) |
1120 |
+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign) |
1121 |
+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint) |
1122 |
+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints) |
1123 |
+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed) |
1124 |
+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints) |
1125 |
+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions) |
1126 |
+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions) |
1127 |
+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension) |
1128 |
+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression) |
1129 |
+#define pprint (*cloog_pointers__.p_pprint) |
1130 |
+#define stmt_block (*cloog_pointers__.p_stmt_block) |
1131 |
+#define stmt_for (*cloog_pointers__.p_stmt_for) |
1132 |
+#define stmt_guard (*cloog_pointers__.p_stmt_guard) |
1133 |
+#define stmt_root (*cloog_pointers__.p_stmt_root) |
1134 |
+#define stmt_user (*cloog_pointers__.p_stmt_user) |
1135 |
+#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) |
1136 |
+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) |
1137 |
+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) |
1138 |
+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) |
1139 |
+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) |
1140 |
+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron) |
1141 |
+#define ppl_new_PIP_Problem_from_constraints (*cloog_pointers__.p_ppl_new_PIP_Problem_from_constraints) |
1142 |
+#define ppl_PIP_Problem_is_satisfiable (*cloog_pointers__.p_ppl_PIP_Problem_is_satisfiable) |
1143 |
+#define ppl_delete_PIP_Problem (*cloog_pointers__.p_ppl_delete_PIP_Problem) |
1144 |
+ |
1145 |
+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize) |
1146 |
+ |
1147 |
+ |
1148 |
#endif /* GRAPHITE_CLOOG_COMPAT_H */ |
1149 |
--- a/gcc/graphite-poly.h |
1150 |
+++ b/gcc/graphite-poly.h |
1151 |
@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. If not see |
1152 |
#ifndef GCC_GRAPHITE_POLY_H |
1153 |
#define GCC_GRAPHITE_POLY_H |
1154 |
|
1155 |
+#include "graphite-cloog-util.h" |
1156 |
+ |
1157 |
typedef struct poly_dr *poly_dr_p; |
1158 |
DEF_VEC_P(poly_dr_p); |
1159 |
DEF_VEC_ALLOC_P (poly_dr_p, heap); |
1160 |
--- a/gcc/graphite.c |
1161 |
+++ b/gcc/graphite.c |
1162 |
@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3. If not see |
1163 |
|
1164 |
CloogState *cloog_state; |
1165 |
|
1166 |
+__typeof (cloog_pointers__) cloog_pointers__; |
1167 |
+ |
1168 |
+static bool |
1169 |
+init_cloog_pointers (void) |
1170 |
+{ |
1171 |
+ void *h; |
1172 |
+ |
1173 |
+ if (cloog_pointers__.inited) |
1174 |
+ return cloog_pointers__.h != NULL; |
1175 |
+ h = dlopen ("libcloog.so.0", RTLD_LAZY); |
1176 |
+ cloog_pointers__.h = h; |
1177 |
+ if (h == NULL) |
1178 |
+ return false; |
1179 |
+#define DYNSYM(x) \ |
1180 |
+ do \ |
1181 |
+ { \ |
1182 |
+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \ |
1183 |
+ u.q = dlsym (h, #x); \ |
1184 |
+ if (u.q == NULL) \ |
1185 |
+ return false; \ |
1186 |
+ cloog_pointers__.p_##x = u.p; \ |
1187 |
+ } \ |
1188 |
+ while (0) |
1189 |
+ DYNSYMS |
1190 |
+#undef DYNSYM |
1191 |
+ return true; |
1192 |
+} |
1193 |
+ |
1194 |
+ |
1195 |
/* Print global statistics to FILE. */ |
1196 |
|
1197 |
static void |
1198 |
@@ -201,6 +230,12 @@ graphite_initialize (void) |
1199 |
return false; |
1200 |
} |
1201 |
|
1202 |
+ if (!init_cloog_pointers ()) |
1203 |
+ { |
1204 |
+ sorry ("Graphite loop optimizations cannot be used"); |
1205 |
+ return false; |
1206 |
+ } |
1207 |
+ |
1208 |
scev_reset (); |
1209 |
recompute_all_dominators (); |
1210 |
initialize_original_copy_tables (); |
1211 |
|
1212 |
|
1213 |
|
1214 |
1.1 src/patchsets/gcc/4.6.2/gentoo/README.history |
1215 |
|
1216 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/README.history?rev=1.1&view=markup |
1217 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.2/gentoo/README.history?rev=1.1&content-type=text/plain |
1218 |
|
1219 |
Index: README.history |
1220 |
=================================================================== |
1221 |
1.0 2011-10-27 |
1222 |
U 01_all_joined-cpp-defs.patch |
1223 |
+ 03_all_java-nomulti.patch |
1224 |
+ 08_all_cross-compile.patch |
1225 |
+ 10_all_default-fortify-source.patch |
1226 |
+ 11_all_default-warn-format-security.patch |
1227 |
+ 12_all_default-warn-trampolines.patch |
1228 |
+ 15_all_libgomp-Werror.patch |
1229 |
+ 25_all_alpha-mieee-default.patch |
1230 |
+ 26_all_alpha-asm-mcpu.patch |
1231 |
+ 29_all_arm_armv4t-default.patch |
1232 |
+ 34_all_ia64_note.GNU-stack.patch |
1233 |
+ 38_all_sh_pr24836_all-archs.patch |
1234 |
+ 42_all_superh_default-multilib.patch |
1235 |
+ 50_all_libiberty-asprintf.patch |
1236 |
+ 51_all_libiberty-pic.patch |
1237 |
+ 52_all_netbsd-Bsymbolic.patch |
1238 |
+ 74_all_gcc46_cloog-dl.patch |
1239 |
+ 76_all_pr36101_4.7.0.patch |