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