rhill 14/08/07 00:05:16
Added: 09_all_default-ssp.patch
10_all_default-fortify-source.patch
11_all_default-warn-format-security.patch
12_all_default-warn-trampolines.patch
13_all_default-color.patch
15_all_libgfortran-Werror.patch
16_all_libgomp-Werror.patch
17_all_libitm-Werror.patch
18_all_libatomic-Werror.patch
19_all_libbacktrace-Werror.patch
25_all_alpha-mieee-default.patch
26_all_alpha-asm-mcpu.patch
29_all_arm_armv4t-default.patch
30_all_freebsd-pie.patch
34_all_ia64_note.GNU-stack.patch
38_all_sh_pr24836_all-archs.patch
42_all_superh_default-multilib.patch
50_all_libiberty-asprintf.patch
51_all_libiberty-pic.patch
52_all_netbsd-Bsymbolic.patch
53_all_libitm-no-fortify-source.patch
67_all_gcc-poison-system-directories.patch
74_all_gcc49_cloog-dl.patch
90_all_pr55930-dependency-tracking.patch
91_all_4.9.2_pr61801.patch README.history
Log:
Add 4.9.1 patchset based on latest 4.9.0 patchset, plus patch from bug
#519172.
Revision Changes Path
1.1 src/patchsets/gcc/4.9.1/gentoo/09_all_default-ssp.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/09_all_default-ssp.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/09_all_default-ssp.patch?rev=1.1&content-type=text/plain
Index: 09_all_default-ssp.patch
===================================================================
2014-04-27 Magnus Granberg <[email protected]>
Patch orig: Debian/Ubuntu
# 484714
We Add -fstack-protector-strong as default and change
ssp-buffer-size
--- a/configure.ac
+++ b/configure.ac
@@ -3238,6 +3238,9 @@ case $build in
esac ;;
esac
+# Needed when we build with -fstack-protector as default.
+stage1_cflags="$stage1_cflags -fno-stack-protector"
+
AC_SUBST(stage1_cflags)
# Enable --enable-checking in stage1 of the compiler.
--- a/configure
+++ b/configure
@@ -14453,7 +14453,8 @@ case $build in
esac ;;
esac
-
+# Needed when we build with -fstack-protector as default.
+stage1_cflags="$stage1_cflags -fno-stack-protector"
# Enable --enable-checking in stage1 of the compiler.
# Check whether --enable-stage1-checking was given.
--- a/Makefile.in
+++ b/Makefile.in
@@ -362,7 +362,7 @@ BUILD_PREFIX_1 = @BUILD_PREFIX_1@
# Flags to pass to stage2 and later makes. They are defined
# here so that they can be overridden by Makefile fragments.
-BOOT_CFLAGS= -g -O2
+BOOT_CFLAGS= -g -O2 -fno-stack-protector
BOOT_LDFLAGS=
BOOT_ADAFLAGS= -gnatpg
@@ -408,9 +408,9 @@ GNATMAKE = @GNATMAKE@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
-LIBCFLAGS = $(CFLAGS)
+LIBCFLAGS = $(CFLAGS) -fno-stack-protector
CXXFLAGS = @CXXFLAGS@
-LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -fno-stack-protector
GOCFLAGS = $(CFLAGS)
TFLAGS =
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -9239,6 +9251,11 @@ Like @option{-fstack-protector} but incl
be protected --- those that have local array definitions, or have
references to local frame addresses.
+NOTE: In Gentoo GCC 4.9.0 and later versions this option is enabled by default
+for C, C++, ObjC, ObjC++, if neither @option{-fno-stack-protector},
+@option{-nostdlib}, @option{-ffreestanding}, @option{-fstack-protector},
+@option{-fstack-protector-strong}or @option{-fstack-protector-all}are found.
+
@item -fsection-anchors
@opindex fsection-anchors
Try to reduce the number of symbolic address calculations by using
@@ -9461,6 +9465,9 @@
The minimum size of buffers (i.e.@: arrays) that receive stack smashing
protection when @option{-fstack-protection} is used.
+NOTE: In Gentoo this is change from "8" to "4", to increase
+the number of functions protected by the stack protector.
+
@item max-jump-thread-duplication-stmts
Maximum number of statements allowed in a block that needs to be
duplicated when threading jumps.
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see
%(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii}
\n}\
cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed
%{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\
%{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2\
+ %(cc1_options) %(ssp_default) %2\
%{!fsyntax-only:%{!fdump-ada-spec*:-o %g.s %{!o*:--output-pch=%i.gch}\
%W{o*:--output-pch=%*}}%V}}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
@@ -57,11 +57,11 @@ along with GCC; see the file COPYING3. If not see
%(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii}
\n}\
cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed
%{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\
%{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2\
+ %(cc1_options) %(ssp_default) %2\
%{!fsyntax-only:%(invoke_as)}}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{".ii", "@c++-cpp-output", 0, 0, 0},
{"@c++-cpp-output",
"%{!M:%{!MM:%{!E:\
- cc1plus -fpreprocessed %i %(cc1_options) %2\
+ cc1plus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -651,6 +651,19 @@ proper position among the other output files. */
#define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G"
#endif
+#ifndef SSP_DEFAULT_SPEC
+#if defined ( TARGET_LIBC_PROVIDES_SSP ) && defined ( EFAULT_SSP )
+#define SSP_DEFAULT_SPEC "%{fno-stack-protector|fstack-protector| \
+ fstack-protector-strong|fstack-protector-all| \
+ ffreestanding|nostdlib:;:-fstack-protector-strong}"
+/* Add -fno-stack-protector for the use of gcc-specs-ssp. */
+#define CC1_SSP_DEFAULT_SPEC "%{!fno-stack-protector:}"
+#else
+#define SSP_DEFAULT_SPEC ""
+#define CC1_SSP_DEFAULT_SPEC ""
+#endif
+#endif
+
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector:}"
@@ -771,7 +781,7 @@ proper position among the other output f
static const char *asm_debug = ASM_DEBUG_SPEC;
static const char *cpp_spec = CPP_SPEC;
-static const char *cc1_spec = CC1_SPEC;
+static const char *cc1_spec = CC1_SPEC CC1_SSP_DEFAULT_SPEC;
static const char *cc1plus_spec = CC1PLUS_SPEC;
static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC;
static const char *link_ssp_spec = LINK_SSP_SPEC;
@@ -777,6 +785,8 @@ static const char *cc1_spec = CC1_SPEC;
static const char *cc1plus_spec = CC1PLUS_SPEC;
static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC;
static const char *link_ssp_spec = LINK_SSP_SPEC;
+static const char *ssp_default_spec = SSP_DEFAULT_SPEC;
+static const char *cc1_ssp_default_spec = CC1_SSP_DEFAULT_SPEC;
static const char *asm_spec = ASM_SPEC;
static const char *asm_final_spec = ASM_FINAL_SPEC;
static const char *link_spec = LINK_SPEC;
@@ -835,7 +844,7 @@ static const char *cpp_unique_options =
static const char *cpp_options =
"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
%{f*} %{g*:%{!g0:%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*}\
- %{undef} %{save-temps*:-fpch-preprocess}";
+ %{undef} %{save-temps*:-fpch-preprocess} %(ssp_default)";
/* This contains cpp options which are not passed when the preprocessor
output will be used by another program. */
@@ -1015,9 +1024,9 @@ static const struct compiler default_compilers[] =
%{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
%(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\
cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \
- %(cc1_options)}\
+ %(cc1_options) %(ssp_default)}\
%{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\
- cc1 %(cpp_unique_options) %(cc1_options)}}}\
+ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1},
{"-",
"%{!E:%e-E or -x required when input is from standard input}\
@@ -1040,7 +1049,7 @@ static const struct compiler default_compilers[] =
%W{o*:--output-pch=%*}}%V}}}}}}", 0, 0, 0},
{".i", "@cpp-output", 0, 0, 0},
{"@cpp-output",
- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options)
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %(ssp_default)
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
{".s", "@assembler", 0, 0, 0},
{"@assembler",
"%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
@@ -1267,6 +1276,8 @@ static struct spec_list static_specs[] =
INIT_STATIC_SPEC ("cc1plus", &cc1plus_spec),
INIT_STATIC_SPEC ("link_gcc_c_sequence", &link_gcc_c_sequence_spec),
INIT_STATIC_SPEC ("link_ssp", &link_ssp_spec),
+ INIT_STATIC_SPEC ("ssp_default", &ssp_default_spec),
+ INIT_STATIC_SPEC ("cc1_ssp_default", &cc1_ssp_default_spec),
INIT_STATIC_SPEC ("endfile", &endfile_spec),
INIT_STATIC_SPEC ("link", &link_spec),
INIT_STATIC_SPEC ("lib", &lib_spec),
--- a/gcc/objc/lang-specs.h
+++ b/gcc/objc/lang-specs.h
@@ -29,9 +29,9 @@ along with GCC; see the file COPYING3. If not see
%{traditional|traditional-cpp:\
%eGNU Objective C no longer supports traditional compilation}\
%{save-temps*|no-integrated-cpp:cc1obj -E %(cpp_options) -o
%{save-temps*:%b.mi} %{!save-temps*:%g.mi} \n\
- cc1obj -fpreprocessed %{save-temps*:%b.mi} %{!save-temps*:%g.mi}
%(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\
+ cc1obj -fpreprocessed %{save-temps*:%b.mi} %{!save-temps*:%g.mi}
%(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}\
%{!save-temps*:%{!no-integrated-cpp:\
- cc1obj %(cpp_unique_options) %(cc1_options)
%{print-objc-runtime-info} %{gen-decls}}}\
+ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default)
%{print-objc-runtime-info} %{gen-decls}}}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
{"@objective-c-header",
"%{E|M|MM:cc1obj -E %{traditional|traditional-cpp:-traditional-cpp}\
@@ -40,18 +40,18 @@ along with GCC; see the file COPYING3. If not see
%{traditional|traditional-cpp:\
%eGNU Objective C no longer supports traditional compilation}\
%{save-temps*|no-integrated-cpp:cc1obj -E %(cpp_options) -o
%{save-temps*:%b.mi} %{!save-temps*:%g.mi} \n\
- cc1obj -fpreprocessed %b.mi %(cc1_options)
%{print-objc-runtime-info} %{gen-decls}\
+ cc1obj -fpreprocessed %b.mi %(cc1_options) %(ssp_default)
%{print-objc-runtime-info} %{gen-decls}\
-o %g.s %{!o*:--output-pch=%i.gch}\
%W{o*:--output-pch=%*}%V}\
%{!save-temps*:%{!no-integrated-cpp:\
- cc1obj %(cpp_unique_options) %(cc1_options)
%{print-objc-runtime-info} %{gen-decls}\
+ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default)
%{print-objc-runtime-info} %{gen-decls}\
-o %g.s %{!o*:--output-pch=%i.gch}\
%W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0},
{".mi", "@objective-c-cpp-output", 0, 0, 0},
{"@objective-c-cpp-output",
- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options)
%{print-objc-runtime-info} %{gen-decls}\
+ "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default)
%{print-objc-runtime-info} %{gen-decls}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
{"@objc-cpp-output",
"%nobjc-cpp-output is deprecated; please use objective-c-cpp-output
instead\n\
- %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options)
%{print-objc-runtime-info} %{gen-decls}\
+ %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default)
%{print-objc-runtime-info} %{gen-decls}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
--- a/gcc/objcp/lang-specs.h
+++ b/gcc/objcp/lang-specs.h
@@ -36,7 +36,7 @@ along with GCC; see the file COPYING3. If not see
%(cpp_options) %2 -o %{save-temps*:%b.mii}
%{!save-temps*:%g.mii} \n}\
cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed
%{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
%{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2\
+ %(cc1_options) %(ssp_default) %2\
-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{"@objective-c++",
@@ -46,16 +46,16 @@ along with GCC; see the file COPYING3. If not see
%(cpp_options) %2 -o %{save-temps*:%b.mii}
%{!save-temps*:%g.mii} \n}\
cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed
%{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
%{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2\
+ %(cc1_options) %(ssp_default) %2\
%{!fsyntax-only:%(invoke_as)}}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{".mii", "@objective-c++-cpp-output", 0, 0, 0},
{"@objective-c++-cpp-output",
"%{!M:%{!MM:%{!E:\
- cc1objplus -fpreprocessed %i %(cc1_options) %2\
+ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
{"@objc++-cpp-output",
"%nobjc++-cpp-output is deprecated; please use objective-c++-cpp-output
instead\n\
%{!M:%{!MM:%{!E:\
- cc1objplus -fpreprocessed %i %(cc1_options) %2\
+ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -662,7 +662,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT,
DEFPARAM (PARAM_SSP_BUFFER_SIZE,
"ssp-buffer-size",
"The lower bound for a buffer to be considered for stack smashing
protection",
- 8, 1, 0)
+ 4, 1, 0)
/* When we thread through a block we have to make copies of the
statements within the block. Clearly for large blocks the code
1.1
src/patchsets/gcc/4.9.1/gentoo/10_all_default-fortify-source.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/10_all_default-fortify-source.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/10_all_default-fortify-source.patch?rev=1.1&content-type=text/plain
Index: 10_all_default-fortify-source.patch
===================================================================
Enable -D_FORTIFY_SOURCE=2 by default.
--- a/gcc/c-family/c-cppbuiltin.c
+++ b/gcc/c-family/c-cppbuiltin.c
@@ -951,6 +951,9 @@ c_cpp_builtins (cpp_reader *pfile)
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
+ /* Fortify Source enabled by default w/optimization. */
+ cpp_define (pfile, "_FORTIFY_SOURCE=((defined __OPTIMIZE__ && __OPTIMIZE__ >
0) ? 2 : 0)");
+
/* Misc. */
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
--- a/gcc/doc/gcc.info
+++ b/gcc/doc/gcc.info
@@ -6255,6 +6255,11 @@ find out the exact set of optimizations that are enabled
at each level.
Please note the warning under '-fgcse' about invoking '-O2' on
programs that use computed gotos.
+ NOTE: In Gentoo, `-D_FORTIFY_SOURCE=2' is set by default, and is
+ activated when `-O' is set to 2 or higher. This enables additional
+ compile-time and run-time checks for several libc functions. To disable,
+ specify either `-U_FORTIFY_SOURCE' or `-D_FORTIFY_SOURCE=0'.
+
'-O3'
Optimize yet more. '-O3' turns on all optimizations specified by
'-O2' and also turns on the '-finline-functions',
1.1
src/patchsets/gcc/4.9.1/gentoo/11_all_default-warn-format-security.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/11_all_default-warn-format-security.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/11_all_default-warn-format-security.patch?rev=1.1&content-type=text/plain
Index: 11_all_default-warn-format-security.patch
===================================================================
Enable -Wformat and -Wformat-security by default.
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -412,7 +412,7 @@ C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning
LangEnabledBy(C ObjC C++ O
Warn about format strings that are not literals
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++
ObjC++,Wformat=, warn_format >= 2, 0)
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning LangEnabledBy(C
ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
Warn about possible security problems with format functions
Wformat-y2k
@@ -424,7 +424,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning
LangEnabledBy(C ObjC C++
Warn about zero-length formats
Wformat=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning
LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Init(1)
Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
Warn about printf/scanf/strftime/strfmon format string anomalies
Wignored-qualifiers
--- a/gcc/doc/gcc.info
+++ b/gcc/doc/gcc.info
@@ -3451,6 +3451,8 @@ compiler warns that an unrecognized option is present.
'-Wno-format-contains-nul', '-Wno-format-extra-args', and
'-Wno-format-zero-length'. '-Wformat' is enabled by '-Wall'.
+ This option is enabled by default in Gentoo.
+
'-Wno-format-contains-nul'
If '-Wformat' is specified, do not warn about format strings
that contain NUL bytes.
@@ -3496,6 +3498,8 @@ compiler warns that an unrecognized option is present.
future warnings may be added to '-Wformat-security' that are
not included in '-Wformat-nonliteral'.)
+ This option is enabled by default in Gentoo.
+
'-Wformat-y2k'
If '-Wformat' is specified, also warn about 'strftime' formats
that may yield only a two-digit year.
1.1
src/patchsets/gcc/4.9.1/gentoo/12_all_default-warn-trampolines.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/12_all_default-warn-trampolines.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/12_all_default-warn-trampolines.patch?rev=1.1&content-type=text/plain
Index: 12_all_default-warn-trampolines.patch
===================================================================
Enable -Wtrampolines by default.
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -648,7 +648,7 @@ Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers
Wtrampolines
-Common Var(warn_trampolines) Warning
+Common Var(warn_trampolines) Init(1) Warning
Warn whenever a trampoline is generated
Wtype-limits
--- a/gcc/doc/gcc.info
+++ b/gcc/doc/gcc.info
@@ -4021,6 +4021,8 @@ compiler warns that an unrecognized option is present.
and thus requires the stack to be made executable in order for the
program to work properly.
+ This warning is enabled by default in Gentoo.
+
'-Wfloat-equal'
Warn if floating-point values are used in equality comparisons.
1.1 src/patchsets/gcc/4.9.1/gentoo/13_all_default-color.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/13_all_default-color.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/13_all_default-color.patch?rev=1.1&content-type=text/plain
Index: 13_all_default-color.patch
===================================================================
http://pkgs.fedoraproject.org/cgit/gcc.git/plain/gcc49-color-auto.patch
2013-09-20 Jakub Jelinek <[email protected]>
* common.opt (-fdiagnostics-color=): Default to auto.
* toplev.c (process_options): Always default to
-fdiagnostics-color=auto if no -f{,no-}diagnostics-color*.
* doc/invoke.texi (-fdiagnostics-color*): Adjust documentation
of the default.
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1045,7 +1045,7 @@ Common Alias(fdiagnostics-color=,always,never)
;
fdiagnostics-color=
-Common Joined RejectNegative Var(flag_diagnostics_show_color)
Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO)
+Common Joined RejectNegative Var(flag_diagnostics_show_color)
Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_AUTO)
-fdiagnostics-color=[never|always|auto] Colorize diagnostics
; Required for these enum values.
--- a/gcc/doc/gcc.info
+++ b/gcc/doc/gcc.info
@@ -3106,10 +3106,9 @@ ends may not honor these options.
'-fdiagnostics-color[=WHEN]'
'-fno-diagnostics-color'
Use color in diagnostics. WHEN is 'never', 'always', or 'auto'.
- The default is 'never' if 'GCC_COLORS' environment variable isn't
- present in the environment, and 'auto' otherwise. 'auto' means to
- use color only when the standard error is a terminal. The forms
- '-fdiagnostics-color' and '-fno-diagnostics-color' are aliases for
+ The default is 'auto. 'auto' means to use color only when the
+ standard error is a terminal. The forms '-fdiagnostics-color'
+ and '-fno-diagnostics-color' are aliases for
'-fdiagnostics-color=always' and '-fdiagnostics-color=never',
respectively.
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1229,10 +1229,8 @@ process_options (void)
maximum_field_alignment = initial_max_fld_align * BITS_PER_UNIT;
- /* Default to -fdiagnostics-color=auto if GCC_COLORS is in the environment,
- otherwise default to -fdiagnostics-color=never. */
- if (!global_options_set.x_flag_diagnostics_show_color
- && getenv ("GCC_COLORS"))
+ /* Default to -fdiagnostics-color=auto. */
+ if (!global_options_set.x_flag_diagnostics_show_color)
pp_show_color (global_dc->printer)
= colorize_init (DIAGNOSTICS_COLOR_AUTO);
1.1
src/patchsets/gcc/4.9.1/gentoo/15_all_libgfortran-Werror.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/15_all_libgfortran-Werror.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/15_all_libgfortran-Werror.patch?rev=1.1&content-type=text/plain
Index: 15_all_libgfortran-Werror.patch
===================================================================
libgfortran does not respect --disable-werror
https://bugs.gentoo.org/433435
http://gcc.gnu.org/PR54724
--- a/libgfortran/configure
+++ b/libgfortran/configure
@@ -5764,7 +5764,7 @@ fi
# Add -Wall -fno-repack-arrays -fno-underscoring if we are using GCC.
if test "x$GCC" = "xyes"; then
- AM_FCFLAGS="-I . -Wall -Werror -fimplicit-none -fno-repack-arrays
-fno-underscoring"
+ AM_FCFLAGS="-I . -Wall -fimplicit-none -fno-repack-arrays -fno-underscoring"
## We like to use C99 routines when available. This makes sure that
## __STDC_VERSION__ is set such that libc includes make them available.
AM_CFLAGS="-std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -Wextra -Wwrite-strings"
1.1 src/patchsets/gcc/4.9.1/gentoo/16_all_libgomp-Werror.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/16_all_libgomp-Werror.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/16_all_libgomp-Werror.patch?rev=1.1&content-type=text/plain
Index: 16_all_libgomp-Werror.patch
===================================================================
libgomp does not respect --disable-werror
https://bugs.gentoo.org/229059
http://gcc.gnu.org/PR38436
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -4282,7 +4282,7 @@ save_CFLAGS="$CFLAGS"
# Add -Wall -Werror if we are using GCC.
if test "x$GCC" = "xyes"; then
- XCFLAGS="$XCFLAGS -Wall -Werror"
+ XCFLAGS="$XCFLAGS -Wall"
fi
# Find other programs we need.
1.1 src/patchsets/gcc/4.9.1/gentoo/17_all_libitm-Werror.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/17_all_libitm-Werror.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/17_all_libitm-Werror.patch?rev=1.1&content-type=text/plain
Index: 17_all_libitm-Werror.patch
===================================================================
Add --enable-werror.
https://bugs.gentoo.org/475350
2013-06-30 Ryan Hill <[email protected]>
* configure.ac: Add --enable-werror.
(XCFLAGS): Use it.
* configure: Regenerate.
--- a/libitm/configure.ac
+++ b/libitm/configure.ac
@@ -252,9 +252,15 @@ GCC_CHECK_ELF_STYLE_WEAKREF
CFLAGS="$save_CFLAGS"
AC_CACHE_SAVE
-# Add -Wall -Werror if we are using GCC.
+AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror],
+ [turns on -Werror @<:@default=yes@:>@])])
+# Add -Wall if we are using GCC.
if test "x$GCC" = "xyes"; then
- XCFLAGS="$XCFLAGS -Wall -Werror"
+ XCFLAGS="$XCFLAGS -Wall"
+ # Add -Werror if requested.
+ if test "x$enable_werror" != "xno"; then
+ XCFLAGS="$XCFLAGS -Werror"
+ fi
fi
XCFLAGS="$XCFLAGS $XPCFLAGS"
--- a/libitm/configure
+++ b/libitm/configure
@@ -775,6 +775,7 @@ enable_maintainer_mode
enable_linux_futex
enable_tls
enable_symvers
+enable_werror
'
ac_precious_vars='build_alias
host_alias
@@ -1423,6 +1424,7 @@ Optional Features:
--enable-tls Use thread-local storage [default=yes]
--enable-symvers=STYLE enables symbol versioning of the shared library
[default=yes]
+ --enable-werror turns on -Werror [default=yes]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -17491,9 +17493,18 @@ $as_echo "$as_me: not updating unwritable cache
$cache_file" >&6;}
fi
rm -f confcache
-# Add -Wall -Werror if we are using GCC.
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+ enableval=$enable_werror;
+fi
+
+# Add -Wall if we are using GCC.
if test "x$GCC" = "xyes"; then
- XCFLAGS="$XCFLAGS -Wall -Werror"
+ XCFLAGS="$XCFLAGS -Wall"
+ # Add -Werror if requested.
+ if test "x$enable_werror" != "xno"; then
+ XCFLAGS="$XCFLAGS -Werror"
+ fi
fi
XCFLAGS="$XCFLAGS $XPCFLAGS"
1.1
src/patchsets/gcc/4.9.1/gentoo/18_all_libatomic-Werror.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/18_all_libatomic-Werror.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/18_all_libatomic-Werror.patch?rev=1.1&content-type=text/plain
Index: 18_all_libatomic-Werror.patch
===================================================================
Add --enable-werror.
https://bugs.gentoo.org/475350
2013-06-30 Ryan Hill <[email protected]>
* configure.ac: Add --enable-werror.
(XCFLAGS): Use it.
* configure: Regenerate.
--- a/libatomic/configure.ac
+++ b/libatomic/configure.ac
@@ -226,9 +226,15 @@ LIBAT_ENABLE_SYMVERS
CFLAGS="$save_CFLAGS"
AC_CACHE_SAVE
-# Add -Wall -Werror if we are using GCC.
+AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror],
+ [turns on -Werror @<:@default=yes@:>@])])
+# Add -Wall if we are using GCC.
if test "x$GCC" = "xyes"; then
- XCFLAGS="$XCFLAGS -Wall -Werror"
+ XCFLAGS="$XCFLAGS -Wall"
+ # Add -Werror if requested.
+ if test "x$enable_werror" != "xno"; then
+ XCFLAGS="$XCFLAGS -Werror"
+ fi
fi
XCFLAGS="$XCFLAGS $XPCFLAGS"
--- a/libatomic/configure
+++ b/libatomic/configure
@@ -761,6 +761,7 @@ with_gnu_ld
enable_libtool_lock
enable_maintainer_mode
enable_symvers
+enable_werror
'
ac_precious_vars='build_alias
host_alias
@@ -1406,6 +1407,7 @@ Optional Features:
(and sometimes confusing) to the casual installer
--enable-symvers=STYLE enables symbol versioning of the shared library
[default=yes]
+ --enable-werror turns on -Werror [default=yes]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -15071,9 +15073,18 @@ $as_echo "$as_me: not updating unwritable cache
$cache_file" >&6;}
fi
rm -f confcache
-# Add -Wall -Werror if we are using GCC.
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+ enableval=$enable_werror;
+fi
+
+# Add -Wall if we are using GCC.
if test "x$GCC" = "xyes"; then
- XCFLAGS="$XCFLAGS -Wall -Werror"
+ XCFLAGS="$XCFLAGS -Wall"
+ # Add -Werror if requested.
+ if test "x$enable_werror" != "xno"; then
+ XCFLAGS="$XCFLAGS -Werror"
+ fi
fi
XCFLAGS="$XCFLAGS $XPCFLAGS"
1.1
src/patchsets/gcc/4.9.1/gentoo/19_all_libbacktrace-Werror.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/19_all_libbacktrace-Werror.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/19_all_libbacktrace-Werror.patch?rev=1.1&content-type=text/plain
Index: 19_all_libbacktrace-Werror.patch
===================================================================
add a --enable-werror flag
2014-01-03 Mike Frysinger <[email protected]>
* configure.ac: Add --enable-werror.
(WARN_FLAGS): Use it.
* configure: Regenerate.
--- a/libbacktrace/configure.ac
+++ b/libbacktrace/configure.ac
@@ -132,8 +132,13 @@ ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings
-Wstrict-prototypes \
-Wmissing-format-attribute -Wcast-qual],
[WARN_FLAGS])
+AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror],
+ [turns on -Werror @<:@default=yes@:>@])])
+
if test -n "${with_target_subdir}"; then
- WARN_FLAGS="$WARN_FLAGS -Werror"
+ if test "x$enable_werror" != "xno"; then
+ WARN_FLAGS="$WARN_FLAGS -Werror"
+ fi
fi
AC_SUBST(WARN_FLAGS)
--- a/libbacktrace/configure
+++ b/libbacktrace/configure
@@ -730,6 +730,7 @@ enable_fast_install
with_gnu_ld
enable_libtool_lock
enable_multilib
+enable_werror
with_system_libunwind
enable_host_shared
'
@@ -1370,6 +1371,7 @@ Optional Features:
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-multilib build many library versions (default)
+ --enable-werror turns on -Werror [default=yes]
--enable-host-shared build host code as shared libraries
Optional Packages:
@@ -11614,8 +11616,16 @@ fi
CFLAGS="$save_CFLAGS"
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+ enableval=$enable_werror;
+fi
+
+
if test -n "${with_target_subdir}"; then
- WARN_FLAGS="$WARN_FLAGS -Werror"
+ if test "x$enable_werror" != "xno"; then
+ WARN_FLAGS="$WARN_FLAGS -Werror"
+ fi
fi
1.1
src/patchsets/gcc/4.9.1/gentoo/25_all_alpha-mieee-default.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/25_all_alpha-mieee-default.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/25_all_alpha-mieee-default.patch?rev=1.1&content-type=text/plain
Index: 25_all_alpha-mieee-default.patch
===================================================================
Set the default behavior on alpha to use -mieee since the large majority of
time we want this (bad/weird things can happen with packages built without
it).
To satisfy those people who may not want -mieee forced on them all the time,
we also provide -mno-ieee.
Patch by Mike Frysinger <[email protected]>
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -96,6 +96,8 @@ along with GCC; see the file COPYING3. If not see
while (0)
#endif
+#define CPP_SPEC "%{!no-ieee:-mieee}"
+
/* Run-time compilation parameters selecting different hardware subsets. */
/* Which processor to schedule for. The cpu attribute defines a list that
--- a/gcc/config/alpha/alpha.opt
+++ b/gcc/config/alpha/alpha.opt
@@ -39,7 +39,7 @@ Target RejectNegative Mask(IEEE_CONFORMANT)
Request IEEE-conformant math library routines (OSF/1)
mieee
-Target Report RejectNegative Mask(IEEE)
+Target Report Mask(IEEE)
Emit IEEE-conformant code, without inexact exceptions
mieee-with-inexact
1.1 src/patchsets/gcc/4.9.1/gentoo/26_all_alpha-asm-mcpu.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/26_all_alpha-asm-mcpu.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/26_all_alpha-asm-mcpu.patch?rev=1.1&content-type=text/plain
Index: 26_all_alpha-asm-mcpu.patch
===================================================================
https://bugs.gentoo.org/170146
http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00403.html
alpha: turn -mcpu=<cpu> into -m<cpu> for assembler all the time
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see
#define CC1_SPEC "%{G*}"
#undef ASM_SPEC
-#define ASM_SPEC "%{G*} %{relax:-relax}
%{!gstabs*:-no-mdebug}%{gstabs*:-mdebug}"
+#define ASM_SPEC "%{G*} %{relax:-relax}
%{!gstabs*:-no-mdebug}%{gstabs*:-mdebug} %{mcpu=*:-m%*}"
#undef IDENT_ASM_OP
#define IDENT_ASM_OP "\t.ident\t"
1.1
src/patchsets/gcc/4.9.1/gentoo/29_all_arm_armv4t-default.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/29_all_arm_armv4t-default.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/29_all_arm_armv4t-default.patch?rev=1.1&content-type=text/plain
Index: 29_all_arm_armv4t-default.patch
===================================================================
gcc defaults to armv5t for all targets even armv4t
http://sourceware.org/ml/crossgcc/2008-05/msg00009.html
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -45,7 +45,7 @@
The ARM10TDMI core is the default for armv5t, so set
SUBTARGET_CPU_DEFAULT to achieve this. */
#undef SUBTARGET_CPU_DEFAULT
-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
/* TARGET_BIG_ENDIAN_DEFAULT is set in
config.gcc for big endian configurations. */
1.1 src/patchsets/gcc/4.9.1/gentoo/30_all_freebsd-pie.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/30_all_freebsd-pie.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/30_all_freebsd-pie.patch?rev=1.1&content-type=text/plain
Index: 30_all_freebsd-pie.patch
===================================================================
https://bugs.gentoo.org/415185
http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00555.html
From: Alexis Ballier <[email protected]>
To: [email protected]
Cc: Alexis Ballier <[email protected]>
Date: Tue, 8 May 2012 09:53:43 -0400
Subject: [PATCH] gcc/config/freebsd-spec.h: Fix building PIE executables. Link
them with crt{begin,end}S.o and Scrt1.o which are PIC instead of
crt{begin,end}.o and crt1.o which are not. Spec synced from gnu-user.h.
gcc/config/i386/freebsd.h: Likewise.
---
gcc/config/freebsd-spec.h | 9 +++------
gcc/config/i386/freebsd.h | 9 +++------
2 files changed, 6 insertions(+), 12 deletions(-)
--- a/gcc/config/freebsd-spec.h
+++ b/gcc/config/freebsd-spec.h
@@ -64,11 +64,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If
not, see
before entering `main'. */
#define FBSD_STARTFILE_SPEC \
- "%{!shared: \
- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
- %{!p:%{profile:gcrt1.o%s} \
- %{!profile:crt1.o%s}}}} \
- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
+ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
+ crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
@@ -77,7 +74,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If
not, see
`crtn.o'. */
#define FBSD_ENDFILE_SPEC \
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
/* Provide a LIB_SPEC appropriate for FreeBSD as configured and as
required by the user-land thread model. Before __FreeBSD_version
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -67,11 +67,8 @@ along with GCC; see the file COPYING3. If not see
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
- "%{!shared: \
- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
- %{!p:%{profile:gcrt1.o%s} \
- %{!profile:crt1.o%s}}}} \
- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
+ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
+ crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
the magical crtend.o file (see crtstuff.c) which provides part of
@@ -81,7 +78,7 @@ along with GCC; see the file COPYING3. If not see
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+ "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support
for the special GCC options -static and -shared, which allow us to
--
1.7.8.6
1.1
src/patchsets/gcc/4.9.1/gentoo/34_all_ia64_note.GNU-stack.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/34_all_ia64_note.GNU-stack.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/34_all_ia64_note.GNU-stack.patch?rev=1.1&content-type=text/plain
Index: 34_all_ia64_note.GNU-stack.patch
===================================================================
http://gcc.gnu.org/PR21098
2004-09-20 Jakub Jelinek <[email protected]>
* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
on ppc64-linux.
* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
ia64-linux.
* config/ia64/crtbegin.asm: Likewise.
* config/ia64/crtend.asm: Likewise.
* config/ia64/crti.asm: Likewise.
* config/ia64/crtn.asm: Likewise.
2004-05-14 Jakub Jelinek <[email protected]>
* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -24,6 +24,8 @@ a copy of the GCC Runtime Library Exception along with this
program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+
/* This is for -profile to use -lc_p instead of -lc. */
#undef CC1_SPEC
#define CC1_SPEC "%{profile:-p} %{G*}"
--- a/gcc/config/rs6000/ppc-asm.h
+++ b/gcc/config/rs6000/ppc-asm.h
@@ -352,7 +352,7 @@ GLUE(.L,name): \
#endif
#endif
-#if defined __linux__ && !defined __powerpc64__
+#if defined __linux__
.section .note.GNU-stack
.previous
#endif
--- a/libgcc/config/ia64/crtbegin.S
+++ b/libgcc/config/ia64/crtbegin.S
@@ -252,3 +252,7 @@ __do_jv_register_classes:
.weak __cxa_finalize
#endif
.weak _Jv_RegisterClasses
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- a/libgcc/config/ia64/crtend.S
+++ b/libgcc/config/ia64/crtend.S
@@ -119,3 +119,6 @@ __do_global_ctors_aux:
br.ret.sptk.many rp
.endp __do_global_ctors_aux
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- a/libgcc/config/ia64/crti.S
+++ b/libgcc/config/ia64/crti.S
@@ -49,5 +49,8 @@ _fini:
.save rp, r33
mov r33 = b0
.body
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
# end of crti.S
--- a/libgcc/config/ia64/crtn.S
+++ b/libgcc/config/ia64/crtn.S
@@ -39,5 +39,8 @@
.restore sp
mov r12 = r35
br.ret.sptk.many b0
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
# end of crtn.S
--- a/libgcc/config/ia64/lib1funcs.S
+++ b/libgcc/config/ia64/lib1funcs.S
@@ -793,3 +793,6 @@ __floattitf:
.endp __floattitf
#endif
#endif
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
1.1
src/patchsets/gcc/4.9.1/gentoo/38_all_sh_pr24836_all-archs.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/38_all_sh_pr24836_all-archs.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/38_all_sh_pr24836_all-archs.patch?rev=1.1&content-type=text/plain
Index: 38_all_sh_pr24836_all-archs.patch
===================================================================
gcc/configure doesn't handle all possible SH architectures
http://gcc.gnu.org/PR24836
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2924,7 +2924,7 @@ foo: .long 25
tls_first_minor=14
tls_as_opt="-m64 -Aesame --fatal-warnings"
;;
- sh-*-* | sh[34]-*-*)
+ sh-*-* | sh[34]*-*-*)
conftest_s='
.section ".tdata","awT",@progbits
foo: .long 25
--- a/gcc/configure
+++ b/gcc/configure
@@ -22753,7 +22753,7 @@ foo: .long 25
tls_first_minor=14
tls_as_opt="-m64 -Aesame --fatal-warnings"
;;
- sh-*-* | sh[34]-*-*)
+ sh-*-* | sh[34]*-*-*)
conftest_s='
.section ".tdata","awT",@progbits
foo: .long 25
1.1
src/patchsets/gcc/4.9.1/gentoo/42_all_superh_default-multilib.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/42_all_superh_default-multilib.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/42_all_superh_default-multilib.patch?rev=1.1&content-type=text/plain
Index: 42_all_superh_default-multilib.patch
===================================================================
The gcc-3.x toolchains would contain all the targets by default. With gcc-4,
you have to actually list out the multilibs you want or you will end up with
just one when using targets like 'sh4-linux-gnu'.
The resulting toolchain can't even build a kernel as the kernel needs to build
with the nofpu flag to be sure that no fpu ops are generated.
Here we restore the gcc-3.x behavior; the additional overhead of building all
of these multilibs by default is negligible.
https://bugs.gentoo.org/140205
https://bugs.gentoo.org/320251
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2455,7 +2455,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
if test "$sh_multilibs" = "default" ; then
case ${target} in
sh64-superh-linux* | \
- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
+ 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') ;;
sh64* | sh5*)
sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu
;;
sh-superh-*)
sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
1.1
src/patchsets/gcc/4.9.1/gentoo/50_all_libiberty-asprintf.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/50_all_libiberty-asprintf.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/50_all_libiberty-asprintf.patch?rev=1.1&content-type=text/plain
Index: 50_all_libiberty-asprintf.patch
===================================================================
2008-07-25 Magnus Granberg <[email protected]>
* include/libiberty.h (asprintf): Don't declare if defined as a macro
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -609,8 +609,11 @@ extern int pwait (int, int *, int);
/* Like sprintf but provides a pointer to malloc'd storage, which must
be freed by the caller. */
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */
+#ifndef asprintf
extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
#endif
+#endif
#if !HAVE_DECL_VASPRINTF
/* Like vsprintf but provides a pointer to malloc'd storage, which
1.1 src/patchsets/gcc/4.9.1/gentoo/51_all_libiberty-pic.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/51_all_libiberty-pic.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/51_all_libiberty-pic.patch?rev=1.1&content-type=text/plain
Index: 51_all_libiberty-pic.patch
===================================================================
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -246,6 +246,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
+ cp $(TARGETLIB) ../ ; \
cd ..; \
else true; fi
1.1
src/patchsets/gcc/4.9.1/gentoo/52_all_netbsd-Bsymbolic.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/52_all_netbsd-Bsymbolic.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/52_all_netbsd-Bsymbolic.patch?rev=1.1&content-type=text/plain
Index: 52_all_netbsd-Bsymbolic.patch
===================================================================
https://bugs.gentoo.org/122698
--- a/gcc/config/netbsd-elf.h
+++ b/gcc/config/netbsd-elf.h
@@ -70,6 +70,7 @@ along with GCC; see the file COPYING3. If not see
#define NETBSD_LINK_SPEC_ELF \
"%{assert*} %{R*} %{rpath*} \
%{shared:-shared} \
+ %{symbolic:-Bsymbolic} \
%{!shared: \
-dc -dp \
%{!nostdlib: \
1.1
src/patchsets/gcc/4.9.1/gentoo/53_all_libitm-no-fortify-source.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/53_all_libitm-no-fortify-source.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/53_all_libitm-no-fortify-source.patch?rev=1.1&content-type=text/plain
Index: 53_all_libitm-no-fortify-source.patch
===================================================================
https://bugs.gentoo.org/508852
https://gcc.gnu.org/PR61164
2014-04-27 Magnus Granberg <[email protected]>
#508852
* libitm/configure.tgt: Disable FORTIFY
--- a/libitm/configure.tgt
+++ b/libitm/configure.tgt
@@ -43,6 +43,16 @@ if test "$gcc_cv_have_tls" = yes ; then
esac
fi
+# FIXME: error: inlining failed in call to always_inline
+# ‘int vfprintf(FILE*, const char*, __va_list_tag*)’
+# : function body can be overwritten at link time
+# Disable Fortify in libitm for now. #508852
+case "${target}" in
+ *-*-linux*)
+ XCFLAGS="${XCFLAGS} -U_FORTIFY_SOURCE"
+ ;;
+esac
+
# Map the target cpu to an ARCH sub-directory. At the same time,
# work out any special compilation flags as necessary.
case "${target_cpu}" in
1.1
src/patchsets/gcc/4.9.1/gentoo/67_all_gcc-poison-system-directories.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/67_all_gcc-poison-system-directories.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/67_all_gcc-poison-system-directories.patch?rev=1.1&content-type=text/plain
Index: 67_all_gcc-poison-system-directories.patch
===================================================================
http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gcc/gcc-4.9/0016-gcc-poison-system-directories.patch
From: Khem Raj <[email protected]>
Date: Fri, 29 Mar 2013 08:59:00 +0400
Subject: [PATCH 16/35] gcc: poison-system-directories
Signed-off-by: Khem Raj <[email protected]>
Upstream-Status: Inappropriate [distribution: codesourcery]
---
gcc/Makefile.in | 2 +-
gcc/common.opt | 4 ++++
gcc/config.in | 6 ++++++
gcc/configure | 20 ++++++++++++++++++--
gcc/configure.ac | 10 ++++++++++
gcc/doc/invoke.texi | 9 +++++++++
gcc/gcc.c | 2 ++
gcc/incpath.c | 19 +++++++++++++++++++
8 files changed, 69 insertions(+), 3 deletions(-)
--- gcc-4.9-20140316.orig/gcc/common.opt
+++ gcc-4.9-20140316/gcc/common.opt
@@ -603,6 +603,10 @@ Wpedantic
Common Var(pedantic) Warning
Issue warnings needed for strict compliance to the standard
+Wpoison-system-directories
+Common Var(flag_poison_system_directories) Init(1) Warning
+Warn for -I and -L options using system directories if cross compiling
+
Wshadow
Common Var(warn_shadow) Warning
Warn when one local variable shadows another
--- gcc-4.9-20140316.orig/gcc/configure.ac
+++ gcc-4.9-20140316/gcc/configure.ac
@@ -5366,6 +5366,16 @@ AC_ARG_ENABLE(version-specific-runtime-l
[specify that runtime libraries should be
installed in a compiler-specific directory])])
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system header
directories]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system header directories])
+fi
+
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(srcdir)
--- gcc-4.9-20140316.orig/gcc/configure
+++ gcc-4.9-20140316/gcc/configure
@@ -928,6 +928,7 @@ with_system_zlib
enable_maintainer_mode
enable_link_mutex
enable_version_specific_runtime_libs
+enable_poison_system_directories
enable_plugin
enable_host_shared
enable_libquadmath_support
@@ -1648,6 +1649,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
+ --enable-poison-system-directories
+ warn for use of native system header directories
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--disable-libquadmath-support
@@ -27702,6 +27705,19 @@ if test "${enable_version_specific_runti
fi
+# Check whether --enable-poison-system-directories was given.
+if test "${enable_poison_system_directories+set}" = set; then :
+ enableval=$enable_poison_system_directories;
+else
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" = "xyes"; then
+
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
+
+fi
+
# Substitute configuration variables
--- gcc-4.9-20140316.orig/gcc/config.in
+++ gcc-4.9-20140316/gcc/config.in
@@ -138,6 +138,12 @@
#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
--- gcc-4.9-20140316.orig/gcc/gcc.c
+++ gcc-4.9-20140316/gcc/gcc.c
@@ -764,6 +764,8 @@ proper position among the other output f
"%{fuse-ld=*:-fuse-ld=%*}\
%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} "
VTABLE_VERIFICATION_SPEC " \
+ %{Wno-poison-system-directories:--no-poison-system-directories}\
+ %{Werror=poison-system-directories:--error-poison-system-directories}\
%{static:} %{L*} %(mfwrap) %(link_libgcc) " SANITIZER_EARLY_SPEC " %o\
%{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\
%{fgnu-tm:%:include(libitm.spec)%(link_itm)}\
--- gcc-4.9-20140316.orig/gcc/incpath.c
+++ gcc-4.9-20140316/gcc/incpath.c
@@ -28,6 +28,7 @@
#include "intl.h"
#include "incpath.h"
#include "cppdefault.h"
+#include "diagnostic-core.h"
/* Microsoft Windows does not natively support inodes.
VMS has non-numeric inodes. */
@@ -382,6 +383,24 @@ merge_include_chains (const char *sysroo
}
fprintf (stderr, _("End of search list.\n"));
}
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (flag_poison_system_directories)
+ {
+ struct cpp_dir *p;
+
+ for (p = heads[QUOTE]; p; p = p->next)
+ {
+ if ((!strncmp (p->name, "/usr/include", 12))
+ || (!strncmp (p->name, "/usr/local/include", 18))
+ || (!strncmp (p->name, "/usr/X11R6/include", 18)))
+ warning (OPT_Wpoison_system_directories,
+ "include location \"%s\" is unsafe for "
+ "cross-compilation",
+ p->name);
+ }
+ }
+#endif
}
/* Use given -I paths for #include "..." but not #include <...>, and
--- a/gcc/doc/gcc.info
+++ b/gcc/doc/gcc.info
@@ -558,6 +558,7 @@ _Warning Options_
-Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded
-Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format
-Wpointer-arith -Wno-pointer-to-int-cast
+ -Wno-poison-system-directories
-Wredundant-decls -Wno-return-local-addr
-Wreturn-type -Wsequence-point -Wshadow
-Wsign-compare -Wsign-conversion -Wfloat-conversion
@@ -4010,6 +4011,13 @@ compiler warns that an unrecognized option is present.
pragmas in system headers--for that, '-Wunknown-pragmas' must also
be used.
+'-Wno-poison-system-directories'
+ Do not warn for @option{-I} or @option{-L} options using system
+ directories such as @file{/usr/include} when cross compiling. This
+ option is intended for use in chroot environments when such
+ directories contain the correct headers and libraries for the target
+ system rather than the host.
+
'-Wtrampolines'
Warn about trampolines generated for pointers to nested functions.
1.1 src/patchsets/gcc/4.9.1/gentoo/74_all_gcc49_cloog-dl.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/74_all_gcc49_cloog-dl.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/74_all_gcc49_cloog-dl.patch?rev=1.1&content-type=text/plain
Index: 74_all_gcc49_cloog-dl.patch
===================================================================
dlopen cloog-isl library rather than link to it directly. This prevents
cloog upgrades that change the soname from breaking the compiler.
http://pkgs.fedoraproject.org/cgit/gcc.git/tree/gcc49-cloog-dl.patch
In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.
2014-04-30 Ryan Hill <[email protected]>
* configure.ac (DL_LIB): Set to ac_cv_search_dlopen.
* configure: Regenerate.
* Makefile.in (BACKENDLIBS): Use DL_LIB.
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1006,7 +1006,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
# and the system's installed libraries.
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
-BACKENDLIBS = $(CLOOGLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
+BACKENDLIBS = $(if $(CLOOGLIBS),@DL_LIB@) $(GMPLIBS) $(PLUGINLIBS)
$(HOST_LIBS) \
$(ZLIB)
# Any system libraries needed just for GNAT.
SYSLIBS = @GNAT_LIBEXC@
@@ -2011,6 +2011,15 @@ $(out_object_file): $(out_file)
$(common_out_object_file): $(common_out_file)
$(COMPILE) $<
$(POSTCOMPILE)
+
+graphite%.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+graphite.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+graphite%.o : \
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
+graphite.o : \
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
#
# Generate header and source files from the machine description,
# and compile them.
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -5515,12 +5515,15 @@ if test x"$enable_plugin" = x"yes"; then
fi
# Check -ldl
+ DL_LIB=
saved_LIBS="$LIBS"
AC_SEARCH_LIBS([dlopen], [dl])
if test x"$ac_cv_search_dlopen" = x"-ldl"; then
pluginlibs="$pluginlibs -ldl"
+ DL_LIB=$ac_cv_search_dlopen
fi
LIBS="$saved_LIBS"
+ AC_SUBST(DL_LIB)
# Check that we can build shared objects with -fPIC -shared
saved_LDFLAGS="$LDFLAGS"
--- a/gcc/configure
+++ b/gcc/configure
@@ -604,6 +604,7 @@ PICFLAG
enable_host_shared
enable_plugin
pluginlibs
+DL_LIB
CLOOGINC
CLOOGLIBS
ISLINC
@@ -27862,6 +27863,7 @@ $as_echo "unable to check" >&6; }
fi
# Check -ldl
+ DL_LIB=
saved_LIBS="$LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing
dlopen" >&5
$as_echo_n "checking for library containing dlopen... " >&6; }
@@ -27921,9 +27923,11 @@ fi
if test x"$ac_cv_search_dlopen" = x"-ldl"; then
pluginlibs="$pluginlibs -ldl"
+ DL_LIB=$ac_cv_search_dlopen
fi
LIBS="$saved_LIBS"
+
# Check that we can build shared objects with -fPIC -shared
saved_LDFLAGS="$LDFLAGS"
saved_CFLAGS="$CFLAGS"
--- a/gcc/graphite-clast-to-gimple.c
+++ b/gcc/graphite-clast-to-gimple.c
@@ -930,7 +930,7 @@ compute_bounds_for_loop (struct clast_for *loop, mpz_t low,
mpz_t up)
from STMT_FOR. */
static tree
-type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip)
{
mpz_t bound_one, bound_two;
tree lb_type, ub_type;
@@ -938,8 +938,8 @@ type_for_clast_for (struct clast_for *stmt_for,
ivs_params_p ip)
mpz_init (bound_one);
mpz_init (bound_two);
- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two);
- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two);
+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two);
+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two);
mpz_clear (bound_one);
mpz_clear (bound_two);
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -22,6 +22,371 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_GRAPHITE_POLY_H
#define GCC_GRAPHITE_POLY_H
+#include <isl/aff.h>
+#include <isl/schedule.h>
+#include <isl/ilp.h>
+#include <isl/flow.h>
+#include <isl/options.h>
+#include <cloog/isl/cloog.h>
+#include <dlfcn.h>
+#define DYNSYMS \
+ DYNSYM (clast_pprint); \
+ DYNSYM (cloog_clast_create_from_input); \
+ DYNSYM (cloog_clast_free); \
+ DYNSYM (cloog_domain_from_isl_set); \
+ DYNSYM (cloog_input_alloc); \
+ DYNSYM (cloog_isl_state_malloc); \
+ DYNSYM (cloog_options_free); \
+ DYNSYM (cloog_options_malloc); \
+ DYNSYM (cloog_scattering_from_isl_map); \
+ DYNSYM (cloog_state_free); \
+ DYNSYM (cloog_union_domain_add_domain); \
+ DYNSYM (cloog_union_domain_alloc); \
+ DYNSYM (cloog_union_domain_set_name); \
+ DYNSYM (isl_aff_add_coefficient_si); \
+ DYNSYM (isl_aff_add_constant); \
+ DYNSYM (isl_aff_free); \
+ DYNSYM (isl_aff_get_coefficient); \
+ DYNSYM (isl_aff_get_space); \
+ DYNSYM (isl_aff_mod); \
+ DYNSYM (isl_aff_set_coefficient_si); \
+ DYNSYM (isl_aff_set_constant_si); \
+ DYNSYM (isl_aff_zero_on_domain); \
+ DYNSYM (isl_band_free); \
+ DYNSYM (isl_band_get_children); \
+ DYNSYM (isl_band_get_partial_schedule); \
+ DYNSYM (isl_band_has_children); \
+ DYNSYM (isl_band_list_free); \
+ DYNSYM (isl_band_list_get_band); \
+ DYNSYM (isl_band_list_get_ctx); \
+ DYNSYM (isl_band_list_n_band); \
+ DYNSYM (isl_band_member_is_zero_distance); \
+ DYNSYM (isl_band_n_member); \
+ DYNSYM (isl_basic_map_add_constraint); \
+ DYNSYM (isl_basic_map_project_out); \
+ DYNSYM (isl_basic_map_universe); \
+ DYNSYM (isl_constraint_set_coefficient); \
+ DYNSYM (isl_constraint_set_coefficient_si); \
+ DYNSYM (isl_constraint_set_constant); \
+ DYNSYM (isl_constraint_set_constant_si); \
+ DYNSYM (isl_ctx_alloc); \
+ DYNSYM (isl_ctx_free); \
+ DYNSYM (isl_equality_alloc); \
+ DYNSYM (isl_id_alloc); \
+ DYNSYM (isl_id_copy); \
+ DYNSYM (isl_id_free); \
+ DYNSYM (isl_inequality_alloc); \
+ DYNSYM (isl_local_space_copy); \
+ DYNSYM (isl_local_space_free); \
+ DYNSYM (isl_local_space_from_space); \
+ DYNSYM (isl_local_space_range); \
+ DYNSYM (isl_map_add_constraint); \
+ DYNSYM (isl_map_add_dims); \
+ DYNSYM (isl_map_align_params); \
+ DYNSYM (isl_map_apply_range); \
+ DYNSYM (isl_map_copy); \
+ DYNSYM (isl_map_dim); \
+ DYNSYM (isl_map_dump); \
+ DYNSYM (isl_map_equate); \
+ DYNSYM (isl_map_fix_si); \
+ DYNSYM (isl_map_flat_product); \
+ DYNSYM (isl_map_flat_range_product); \
+ DYNSYM (isl_map_free); \
+ DYNSYM (isl_map_from_basic_map); \
+ DYNSYM (isl_map_from_pw_aff); \
+ DYNSYM (isl_map_from_union_map); \
+ DYNSYM (isl_map_get_ctx); \
+ DYNSYM (isl_map_get_space); \
+ DYNSYM (isl_map_get_tuple_id); \
+ DYNSYM (isl_map_insert_dims); \
+ DYNSYM (isl_map_intersect); \
+ DYNSYM (isl_map_intersect_domain); \
+ DYNSYM (isl_map_intersect_range); \
+ DYNSYM (isl_map_is_empty); \
+ DYNSYM (isl_map_lex_ge); \
+ DYNSYM (isl_map_lex_le); \
+ DYNSYM (isl_map_n_out); \
+ DYNSYM (isl_map_range); \
+ DYNSYM (isl_map_set_tuple_id); \
+ DYNSYM (isl_map_universe); \
+ DYNSYM (isl_options_set_on_error); \
+ DYNSYM (isl_options_set_schedule_fuse); \
+ DYNSYM (isl_options_set_schedule_max_constant_term); \
+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
+ DYNSYM (isl_printer_free); \
+ DYNSYM (isl_printer_print_aff); \
+ DYNSYM (isl_printer_print_constraint); \
+ DYNSYM (isl_printer_print_map); \
+ DYNSYM (isl_printer_print_set); \
+ DYNSYM (isl_printer_to_file); \
+ DYNSYM (isl_pw_aff_add); \
+ DYNSYM (isl_pw_aff_alloc); \
+ DYNSYM (isl_pw_aff_copy); \
+ DYNSYM (isl_pw_aff_eq_set); \
+ DYNSYM (isl_pw_aff_free); \
+ DYNSYM (isl_pw_aff_from_aff); \
+ DYNSYM (isl_pw_aff_ge_set); \
+ DYNSYM (isl_pw_aff_gt_set); \
+ DYNSYM (isl_pw_aff_is_cst); \
+ DYNSYM (isl_pw_aff_le_set); \
+ DYNSYM (isl_pw_aff_lt_set); \
+ DYNSYM (isl_pw_aff_mod); \
+ DYNSYM (isl_pw_aff_mul); \
+ DYNSYM (isl_pw_aff_ne_set); \
+ DYNSYM (isl_pw_aff_nonneg_set); \
+ DYNSYM (isl_pw_aff_set_tuple_id); \
+ DYNSYM (isl_pw_aff_sub); \
+ DYNSYM (isl_pw_aff_zero_set); \
+ DYNSYM (isl_schedule_free); \
+ DYNSYM (isl_schedule_get_band_forest); \
+ DYNSYM (isl_set_add_constraint); \
+ DYNSYM (isl_set_add_dims); \
+ DYNSYM (isl_set_apply); \
+ DYNSYM (isl_set_coalesce); \
+ DYNSYM (isl_set_copy); \
+ DYNSYM (isl_set_dim); \
+ DYNSYM (isl_set_fix_si); \
+ DYNSYM (isl_set_free); \
+ DYNSYM (isl_set_from_cloog_domain); \
+ DYNSYM (isl_set_get_space); \
+ DYNSYM (isl_set_get_tuple_id); \
+ DYNSYM (isl_set_intersect); \
+ DYNSYM (isl_set_is_empty); \
+ DYNSYM (isl_set_max); \
+ DYNSYM (isl_set_min); \
+ DYNSYM (isl_set_n_dim); \
+ DYNSYM (isl_set_nat_universe); \
+ DYNSYM (isl_set_project_out); \
+ DYNSYM (isl_set_set_tuple_id); \
+ DYNSYM (isl_set_universe); \
+ DYNSYM (isl_space_add_dims); \
+ DYNSYM (isl_space_alloc); \
+ DYNSYM (isl_space_copy); \
+ DYNSYM (isl_space_dim); \
+ DYNSYM (isl_space_domain); \
+ DYNSYM (isl_space_find_dim_by_id); \
+ DYNSYM (isl_space_free); \
+ DYNSYM (isl_space_from_domain); \
+ DYNSYM (isl_space_get_tuple_id); \
+ DYNSYM (isl_space_params_alloc); \
+ DYNSYM (isl_space_range); \
+ DYNSYM (isl_space_set_alloc); \
+ DYNSYM (isl_space_set_dim_id); \
+ DYNSYM (isl_space_set_tuple_id); \
+ DYNSYM (isl_union_map_add_map); \
+ DYNSYM (isl_union_map_align_params); \
+ DYNSYM (isl_union_map_apply_domain); \
+ DYNSYM (isl_union_map_apply_range); \
+ DYNSYM (isl_union_map_compute_flow); \
+ DYNSYM (isl_union_map_copy); \
+ DYNSYM (isl_union_map_empty); \
+ DYNSYM (isl_union_map_flat_range_product); \
+ DYNSYM (isl_union_map_foreach_map); \
+ DYNSYM (isl_union_map_free); \
+ DYNSYM (isl_union_map_from_map); \
+ DYNSYM (isl_union_map_get_ctx); \
+ DYNSYM (isl_union_map_get_space); \
+ DYNSYM (isl_union_map_gist_domain); \
+ DYNSYM (isl_union_map_gist_range); \
+ DYNSYM (isl_union_map_intersect_domain); \
+ DYNSYM (isl_union_map_is_empty); \
+ DYNSYM (isl_union_map_subtract); \
+ DYNSYM (isl_union_map_union); \
+ DYNSYM (isl_union_set_add_set); \
+ DYNSYM (isl_union_set_compute_schedule); \
+ DYNSYM (isl_union_set_copy); \
+ DYNSYM (isl_union_set_empty); \
+ DYNSYM (isl_union_set_from_set); \
+ DYNSYM (stmt_ass); \
+ DYNSYM (stmt_block); \
+ DYNSYM (stmt_for); \
+ DYNSYM (stmt_guard); \
+ DYNSYM (stmt_root); \
+ DYNSYM (stmt_user);
+extern struct cloog_pointers_s__
+{
+ bool inited;
+ void *h;
+#define DYNSYM(x) __typeof (x) *p_##x
+ DYNSYMS
+#undef DYNSYM
+} cloog_pointers__;
+
+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
+#define clast_pprint (*cloog_pointers__.p_clast_pprint)
+#define cloog_clast_create_from_input
(*cloog_pointers__.p_cloog_clast_create_from_input)
+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
+#define cloog_domain_from_isl_set
(*cloog_pointers__.p_cloog_domain_from_isl_set)
+#define cloog_input_alloc (*cloog_pointers__.p_cloog_input_alloc)
+#define cloog_isl_state_malloc (*cloog_pointers__.p_cloog_isl_state_malloc)
+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
+#define cloog_scattering_from_isl_map
(*cloog_pointers__.p_cloog_scattering_from_isl_map)
+#define cloog_state_free (*cloog_pointers__.p_cloog_state_free)
+#define cloog_union_domain_add_domain
(*cloog_pointers__.p_cloog_union_domain_add_domain)
+#define cloog_union_domain_alloc (*cloog_pointers__.p_cloog_union_domain_alloc)
+#define cloog_union_domain_set_name
(*cloog_pointers__.p_cloog_union_domain_set_name)
+#define isl_aff_add_coefficient_si
(*cloog_pointers__.p_isl_aff_add_coefficient_si)
+#define isl_aff_add_constant (*cloog_pointers__.p_isl_aff_add_constant)
+#define isl_aff_free (*cloog_pointers__.p_isl_aff_free)
+#define isl_aff_get_coefficient (*cloog_pointers__.p_isl_aff_get_coefficient)
+#define isl_aff_get_space (*cloog_pointers__.p_isl_aff_get_space)
+#define isl_aff_mod (*cloog_pointers__.p_isl_aff_mod)
+#define isl_aff_set_coefficient_si
(*cloog_pointers__.p_isl_aff_set_coefficient_si)
+#define isl_aff_set_constant_si (*cloog_pointers__.p_isl_aff_set_constant_si)
+#define isl_aff_zero_on_domain (*cloog_pointers__.p_isl_aff_zero_on_domain)
+#define isl_band_free (*cloog_pointers__.p_isl_band_free)
+#define isl_band_get_children (*cloog_pointers__.p_isl_band_get_children)
+#define isl_band_get_partial_schedule
(*cloog_pointers__.p_isl_band_get_partial_schedule)
+#define isl_band_has_children (*cloog_pointers__.p_isl_band_has_children)
+#define isl_band_list_free (*cloog_pointers__.p_isl_band_list_free)
+#define isl_band_list_get_band (*cloog_pointers__.p_isl_band_list_get_band)
+#define isl_band_list_get_ctx (*cloog_pointers__.p_isl_band_list_get_ctx)
+#define isl_band_list_n_band (*cloog_pointers__.p_isl_band_list_n_band)
+#define isl_band_member_is_zero_distance
(*cloog_pointers__.p_isl_band_member_is_zero_distance)
+#define isl_band_n_member (*cloog_pointers__.p_isl_band_n_member)
+#define isl_basic_map_add_constraint
(*cloog_pointers__.p_isl_basic_map_add_constraint)
+#define isl_basic_map_project_out
(*cloog_pointers__.p_isl_basic_map_project_out)
+#define isl_basic_map_universe (*cloog_pointers__.p_isl_basic_map_universe)
+#define isl_constraint_set_coefficient
(*cloog_pointers__.p_isl_constraint_set_coefficient)
+#define isl_constraint_set_coefficient_si
(*cloog_pointers__.p_isl_constraint_set_coefficient_si)
+#define isl_constraint_set_constant
(*cloog_pointers__.p_isl_constraint_set_constant)
+#define isl_constraint_set_constant_si
(*cloog_pointers__.p_isl_constraint_set_constant_si)
+#define isl_ctx_alloc (*cloog_pointers__.p_isl_ctx_alloc)
+#define isl_ctx_free (*cloog_pointers__.p_isl_ctx_free)
+#define isl_equality_alloc (*cloog_pointers__.p_isl_equality_alloc)
+#define isl_id_alloc (*cloog_pointers__.p_isl_id_alloc)
+#define isl_id_copy (*cloog_pointers__.p_isl_id_copy)
+#define isl_id_free (*cloog_pointers__.p_isl_id_free)
+#define isl_inequality_alloc (*cloog_pointers__.p_isl_inequality_alloc)
+#define isl_local_space_copy (*cloog_pointers__.p_isl_local_space_copy)
+#define isl_local_space_free (*cloog_pointers__.p_isl_local_space_free)
+#define isl_local_space_from_space
(*cloog_pointers__.p_isl_local_space_from_space)
+#define isl_local_space_range (*cloog_pointers__.p_isl_local_space_range)
+#define isl_map_add_constraint (*cloog_pointers__.p_isl_map_add_constraint)
+#define isl_map_add_dims (*cloog_pointers__.p_isl_map_add_dims)
+#define isl_map_align_params (*cloog_pointers__.p_isl_map_align_params)
+#define isl_map_apply_range (*cloog_pointers__.p_isl_map_apply_range)
+#define isl_map_copy (*cloog_pointers__.p_isl_map_copy)
+#define isl_map_dim (*cloog_pointers__.p_isl_map_dim)
+#define isl_map_dump (*cloog_pointers__.p_isl_map_dump)
+#define isl_map_equate (*cloog_pointers__.p_isl_map_equate)
+#define isl_map_fix_si (*cloog_pointers__.p_isl_map_fix_si)
+#define isl_map_flat_product (*cloog_pointers__.p_isl_map_flat_product)
+#define isl_map_flat_range_product
(*cloog_pointers__.p_isl_map_flat_range_product)
+#define isl_map_free (*cloog_pointers__.p_isl_map_free)
+#define isl_map_from_basic_map (*cloog_pointers__.p_isl_map_from_basic_map)
+#define isl_map_from_pw_aff (*cloog_pointers__.p_isl_map_from_pw_aff)
+#define isl_map_from_union_map (*cloog_pointers__.p_isl_map_from_union_map)
+#define isl_map_get_ctx (*cloog_pointers__.p_isl_map_get_ctx)
+#define isl_map_get_space (*cloog_pointers__.p_isl_map_get_space)
+#define isl_map_get_tuple_id (*cloog_pointers__.p_isl_map_get_tuple_id)
+#define isl_map_insert_dims (*cloog_pointers__.p_isl_map_insert_dims)
+#define isl_map_intersect (*cloog_pointers__.p_isl_map_intersect)
+#define isl_map_intersect_domain (*cloog_pointers__.p_isl_map_intersect_domain)
+#define isl_map_intersect_range (*cloog_pointers__.p_isl_map_intersect_range)
+#define isl_map_is_empty (*cloog_pointers__.p_isl_map_is_empty)
+#define isl_map_lex_ge (*cloog_pointers__.p_isl_map_lex_ge)
+#define isl_map_lex_le (*cloog_pointers__.p_isl_map_lex_le)
+#define isl_map_n_out (*cloog_pointers__.p_isl_map_n_out)
+#define isl_map_range (*cloog_pointers__.p_isl_map_range)
+#define isl_map_set_tuple_id (*cloog_pointers__.p_isl_map_set_tuple_id)
+#define isl_map_universe (*cloog_pointers__.p_isl_map_universe)
+#define isl_options_set_on_error (*cloog_pointers__.p_isl_options_set_on_error)
+#define isl_options_set_schedule_fuse
(*cloog_pointers__.p_isl_options_set_schedule_fuse)
+#define isl_options_set_schedule_max_constant_term
(*cloog_pointers__.p_isl_options_set_schedule_max_constant_term)
+#define isl_options_set_schedule_maximize_band_depth
(*cloog_pointers__.p_isl_options_set_schedule_maximize_band_depth)
+#define isl_printer_free (*cloog_pointers__.p_isl_printer_free)
+#define isl_printer_print_aff (*cloog_pointers__.p_isl_printer_print_aff)
+#define isl_printer_print_constraint
(*cloog_pointers__.p_isl_printer_print_constraint)
+#define isl_printer_print_map (*cloog_pointers__.p_isl_printer_print_map)
+#define isl_printer_print_set (*cloog_pointers__.p_isl_printer_print_set)
+#define isl_printer_to_file (*cloog_pointers__.p_isl_printer_to_file)
+#define isl_pw_aff_add (*cloog_pointers__.p_isl_pw_aff_add)
+#define isl_pw_aff_alloc (*cloog_pointers__.p_isl_pw_aff_alloc)
+#define isl_pw_aff_copy (*cloog_pointers__.p_isl_pw_aff_copy)
+#define isl_pw_aff_eq_set (*cloog_pointers__.p_isl_pw_aff_eq_set)
+#define isl_pw_aff_free (*cloog_pointers__.p_isl_pw_aff_free)
+#define isl_pw_aff_from_aff (*cloog_pointers__.p_isl_pw_aff_from_aff)
+#define isl_pw_aff_ge_set (*cloog_pointers__.p_isl_pw_aff_ge_set)
+#define isl_pw_aff_gt_set (*cloog_pointers__.p_isl_pw_aff_gt_set)
+#define isl_pw_aff_is_cst (*cloog_pointers__.p_isl_pw_aff_is_cst)
+#define isl_pw_aff_le_set (*cloog_pointers__.p_isl_pw_aff_le_set)
+#define isl_pw_aff_lt_set (*cloog_pointers__.p_isl_pw_aff_lt_set)
+#define isl_pw_aff_mod (*cloog_pointers__.p_isl_pw_aff_mod)
+#define isl_pw_aff_mul (*cloog_pointers__.p_isl_pw_aff_mul)
+#define isl_pw_aff_ne_set (*cloog_pointers__.p_isl_pw_aff_ne_set)
+#define isl_pw_aff_nonneg_set (*cloog_pointers__.p_isl_pw_aff_nonneg_set)
+#define isl_pw_aff_set_tuple_id (*cloog_pointers__.p_isl_pw_aff_set_tuple_id)
+#define isl_pw_aff_sub (*cloog_pointers__.p_isl_pw_aff_sub)
+#define isl_pw_aff_zero_set (*cloog_pointers__.p_isl_pw_aff_zero_set)
+#define isl_schedule_free (*cloog_pointers__.p_isl_schedule_free)
+#define isl_schedule_get_band_forest
(*cloog_pointers__.p_isl_schedule_get_band_forest)
+#define isl_set_add_constraint (*cloog_pointers__.p_isl_set_add_constraint)
+#define isl_set_add_dims (*cloog_pointers__.p_isl_set_add_dims)
+#define isl_set_apply (*cloog_pointers__.p_isl_set_apply)
+#define isl_set_coalesce (*cloog_pointers__.p_isl_set_coalesce)
+#define isl_set_copy (*cloog_pointers__.p_isl_set_copy)
+#define isl_set_dim (*cloog_pointers__.p_isl_set_dim)
+#define isl_set_fix_si (*cloog_pointers__.p_isl_set_fix_si)
+#define isl_set_free (*cloog_pointers__.p_isl_set_free)
+#define isl_set_from_cloog_domain
(*cloog_pointers__.p_isl_set_from_cloog_domain)
+#define isl_set_get_space (*cloog_pointers__.p_isl_set_get_space)
+#define isl_set_get_tuple_id (*cloog_pointers__.p_isl_set_get_tuple_id)
+#define isl_set_intersect (*cloog_pointers__.p_isl_set_intersect)
+#define isl_set_is_empty (*cloog_pointers__.p_isl_set_is_empty)
+#define isl_set_max (*cloog_pointers__.p_isl_set_max)
+#define isl_set_min (*cloog_pointers__.p_isl_set_min)
+#define isl_set_n_dim (*cloog_pointers__.p_isl_set_n_dim)
+#define isl_set_nat_universe (*cloog_pointers__.p_isl_set_nat_universe)
+#define isl_set_project_out (*cloog_pointers__.p_isl_set_project_out)
+#define isl_set_set_tuple_id (*cloog_pointers__.p_isl_set_set_tuple_id)
+#define isl_set_universe (*cloog_pointers__.p_isl_set_universe)
+#define isl_space_add_dims (*cloog_pointers__.p_isl_space_add_dims)
+#define isl_space_alloc (*cloog_pointers__.p_isl_space_alloc)
+#define isl_space_copy (*cloog_pointers__.p_isl_space_copy)
+#define isl_space_dim (*cloog_pointers__.p_isl_space_dim)
+#define isl_space_domain (*cloog_pointers__.p_isl_space_domain)
+#define isl_space_find_dim_by_id (*cloog_pointers__.p_isl_space_find_dim_by_id)
+#define isl_space_free (*cloog_pointers__.p_isl_space_free)
+#define isl_space_from_domain (*cloog_pointers__.p_isl_space_from_domain)
+#define isl_space_get_tuple_id (*cloog_pointers__.p_isl_space_get_tuple_id)
+#define isl_space_params_alloc (*cloog_pointers__.p_isl_space_params_alloc)
+#define isl_space_range (*cloog_pointers__.p_isl_space_range)
+#define isl_space_set_alloc (*cloog_pointers__.p_isl_space_set_alloc)
+#define isl_space_set_dim_id (*cloog_pointers__.p_isl_space_set_dim_id)
+#define isl_space_set_tuple_id (*cloog_pointers__.p_isl_space_set_tuple_id)
+#define isl_union_map_add_map (*cloog_pointers__.p_isl_union_map_add_map)
+#define isl_union_map_align_params
(*cloog_pointers__.p_isl_union_map_align_params)
+#define isl_union_map_apply_domain
(*cloog_pointers__.p_isl_union_map_apply_domain)
+#define isl_union_map_apply_range
(*cloog_pointers__.p_isl_union_map_apply_range)
+#define isl_union_map_compute_flow
(*cloog_pointers__.p_isl_union_map_compute_flow)
+#define isl_union_map_copy (*cloog_pointers__.p_isl_union_map_copy)
+#define isl_union_map_empty (*cloog_pointers__.p_isl_union_map_empty)
+#define isl_union_map_flat_range_product
(*cloog_pointers__.p_isl_union_map_flat_range_product)
+#define isl_union_map_foreach_map
(*cloog_pointers__.p_isl_union_map_foreach_map)
+#define isl_union_map_free (*cloog_pointers__.p_isl_union_map_free)
+#define isl_union_map_from_map (*cloog_pointers__.p_isl_union_map_from_map)
+#define isl_union_map_get_ctx (*cloog_pointers__.p_isl_union_map_get_ctx)
+#define isl_union_map_get_space (*cloog_pointers__.p_isl_union_map_get_space)
+#define isl_union_map_gist_domain
(*cloog_pointers__.p_isl_union_map_gist_domain)
+#define isl_union_map_gist_range (*cloog_pointers__.p_isl_union_map_gist_range)
+#define isl_union_map_intersect_domain
(*cloog_pointers__.p_isl_union_map_intersect_domain)
+#define isl_union_map_is_empty (*cloog_pointers__.p_isl_union_map_is_empty)
+#define isl_union_map_subtract (*cloog_pointers__.p_isl_union_map_subtract)
+#define isl_union_map_union (*cloog_pointers__.p_isl_union_map_union)
+#define isl_union_set_add_set (*cloog_pointers__.p_isl_union_set_add_set)
+#define isl_union_set_compute_schedule
(*cloog_pointers__.p_isl_union_set_compute_schedule)
+#define isl_union_set_copy (*cloog_pointers__.p_isl_union_set_copy)
+#define isl_union_set_empty (*cloog_pointers__.p_isl_union_set_empty)
+#define isl_union_set_from_set (*cloog_pointers__.p_isl_union_set_from_set)
+#define stmt_ass (*cloog_pointers__.p_stmt_ass)
+#define stmt_block (*cloog_pointers__.p_stmt_block)
+#define stmt_for (*cloog_pointers__.p_stmt_for)
+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
+#define stmt_root (*cloog_pointers__.p_stmt_root)
+#define stmt_user (*cloog_pointers__.p_stmt_user)
+
typedef struct poly_dr *poly_dr_p;
typedef struct poly_bb *poly_bb_p;
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -78,6 +78,34 @@ along with GCC; see the file COPYING3. If not see
CloogState *cloog_state;
+__typeof (cloog_pointers__) cloog_pointers__;
+
+static bool
+init_cloog_pointers (void)
+{
+ void *h;
+
+ if (cloog_pointers__.inited)
+ return cloog_pointers__.h != NULL;
+ h = dlopen ("libcloog-isl.so.4", RTLD_LAZY);
+ cloog_pointers__.h = h;
+ if (h == NULL)
+ return false;
+#define DYNSYM(x) \
+ do \
+ { \
+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
+ u.q = dlsym (h, #x); \
+ if (u.q == NULL) \
+ return false; \
+ cloog_pointers__.p_##x = u.p; \
+ } \
+ while (0)
+ DYNSYMS
+#undef DYNSYM
+ return true;
+}
+
/* Print global statistics to FILE. */
static void
@@ -277,6 +305,15 @@ graphite_transform_loops (void)
if (parallelized_function_p (cfun->decl))
return;
+ if (number_of_loops (cfun) <= 1)
+ return;
+
+ if (!init_cloog_pointers ())
+ {
+ sorry ("Graphite loop optimizations cannot be used");
+ return;
+ }
+
ctx = isl_ctx_alloc ();
isl_options_set_on_error (ctx, ISL_ON_ERROR_ABORT);
if (!graphite_initialize (ctx))
1.1
src/patchsets/gcc/4.9.1/gentoo/90_all_pr55930-dependency-tracking.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/90_all_pr55930-dependency-tracking.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/90_all_pr55930-dependency-tracking.patch?rev=1.1&content-type=text/plain
Index: 90_all_pr55930-dependency-tracking.patch
===================================================================
libatomic build failure if configured with --disable-dependency-tracking
load_n.c:115:1: fatal error: opening dependency file .deps/load_1_.lo.Ppo: No
such file or directory
https://bugs.gentoo.org/463463
http://gcc.gnu.org/PR55930
--- a/libatomic/Makefile.in
+++ b/libatomic/Makefile.in
@@ -298,7 +298,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
PAT_S = $(word 3,$(PAT_SPLIT))
IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
+@AMDEP_FALSE@M_DEPS =
M_SIZE = -DN=$(PAT_N)
M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
M_FILE = $(PAT_BASE)_n.c
1.1 src/patchsets/gcc/4.9.1/gentoo/91_all_4.9.2_pr61801.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/91_all_4.9.2_pr61801.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/91_all_4.9.2_pr61801.patch?rev=1.1&content-type=text/plain
Index: 91_all_4.9.2_pr61801.patch
===================================================================
sched2 miscompiles syscall sequence with -g / Random panic in load_balance()
with kernel 3.16-rc
https://bugs.gentoo.org/519172
https://gcc.gnu.org/PR61801
http://lkml.iu.edu/hypermail/linux/kernel/1407.3/00650.html
commit 556537c4ad0df4cbebb74197bb2bdea75cf5dd35
Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Jul 17 07:48:49 2014 +0000
2014-07-17 Richard Biener <[email protected]>
PR rtl-optimization/61801
* sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
ASM_INPUT don't set reg_pending_barrier if it appears in a
debug-insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@212739
138bc75d-0d04-0410-961f-82ee72b054a4
---
gcc/ChangeLog | 7 +++++++
gcc/sched-deps.c | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2750,7 +2750,8 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx insn)
Consider for instance a volatile asm that changes the fpu rounding
mode. An insn should not be moved across this even if it only uses
pseudo-regs because it might give an incorrectly rounded result. */
- if (code != ASM_OPERANDS || MEM_VOLATILE_P (x))
+ if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x))
+ && !DEBUG_INSN_P (insn))
reg_pending_barrier = TRUE_BARRIER;
/* For all ASM_OPERANDS, we must traverse the vector of input operands.
1.1 src/patchsets/gcc/4.9.1/gentoo/README.history
file :
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/README.history?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.1/gentoo/README.history?rev=1.1&content-type=text/plain
Index: README.history
===================================================================
1.0 (pending)
+ 09_all_default-ssp.patch
+ 10_all_default-fortify-source.patch
+ 11_all_default-warn-format-security.patch
+ 12_all_default-warn-trampolines.patch
+ 13_all_default-color.patch
+ 15_all_libgfortran-Werror.patch
+ 16_all_libgomp-Werror.patch
+ 17_all_libitm-Werror.patch
+ 18_all_libatomic-Werror.patch
+ 19_all_libbacktrace-Werror.patch
+ 25_all_alpha-mieee-default.patch
+ 26_all_alpha-asm-mcpu.patch
+ 29_all_arm_armv4t-default.patch
+ 30_all_freebsd-pie.patch
+ 34_all_ia64_note.GNU-stack.patch
+ 38_all_sh_pr24836_all-archs.patch
+ 42_all_superh_default-multilib.patch
+ 50_all_libiberty-asprintf.patch
+ 51_all_libiberty-pic.patch
+ 52_all_netbsd-Bsymbolic.patch
+ 53_all_libitm-no-fortify-source.patch
+ 67_all_gcc-poison-system-directories.patch
+ 74_all_gcc49_cloog-dl.patch
+ 90_all_pr55930-dependency-tracking.patch
+ 93_all_pr60971-wrong-code.patch
+ 94_all_pr60902-ffmpeg-miscompile.patch
+ 95_all_pr60960-wrong-code.patch
+ 96_all_pr59952-avx2-no-rtm.patch
+ 97_all_pr60965-devirt-placement-new.patch