* [gentoo-commits] gentoo commit in src/patchsets/gcc/4.5.4/gentoo: 00_all_gcc-4.1-alpha-mieee-default.patch 01_all_gcc-4.1-alpha-asm-mcpu.patch 03_all_gcc43-java-nomulti.patch 08_all_gcc-4.1-cross-compile.patch 09_all_gcc-4.5-Wtrampolines.patch 10_all_gcc-default-format-security.patch 10_all_gcc-default-fortify-source.patch 11_all_gcc-netbsd-symbolic.patch 14_all_gcc-sparc64-bsd.patch 15_all_gcc-libgomp-no-werror.patch 22_all_4.6_pr45094_arm-dword-move.patch 23_all_4.6_pr45886_ARM_PCS_VFP.patch 30_all_gcc-4.5-ppc-msingle-pic-base.patch 31_all_gcc-4.4-ppc-fpic-mrelocatable.patch 33_all_armhf.patch 40_all_gcc-4.4-libiberty.h-asprintf.patch 47_all_arm-unbreak-armv4t.patch 51_all_gcc-3.4-libiberty-pic.patch 53_all_gcc4-superh-default-multilib.patch 61_all_gcc4-ia64-noteGNUstack.patch 74_all_sh-pr24836.patch 92_all_freebsd-pie.patch 93_all_gcc-4.5-cloog-dl.patch 94_all_gcc-4.5-pch-nostdinc.patch 95_all_arm-pr43440.patch 99_all_testsuite-01-Wformat.patch 99_all_testsuite-02 -Wtrampolines.pat ch 99_all_testsuite-03-check-lto.patch README.history
@ 2012-07-15 5:28 Ryan Hill (dirtyepic)
0 siblings, 0 replies; only message in thread
From: Ryan Hill (dirtyepic) @ 2012-07-15 5:28 UTC (permalink / raw
To: gentoo-commits
dirtyepic 12/07/15 05:28:55
Added: 00_all_gcc-4.1-alpha-mieee-default.patch
01_all_gcc-4.1-alpha-asm-mcpu.patch
03_all_gcc43-java-nomulti.patch
08_all_gcc-4.1-cross-compile.patch
09_all_gcc-4.5-Wtrampolines.patch
10_all_gcc-default-format-security.patch
10_all_gcc-default-fortify-source.patch
11_all_gcc-netbsd-symbolic.patch
14_all_gcc-sparc64-bsd.patch
15_all_gcc-libgomp-no-werror.patch
22_all_4.6_pr45094_arm-dword-move.patch
23_all_4.6_pr45886_ARM_PCS_VFP.patch
30_all_gcc-4.5-ppc-msingle-pic-base.patch
31_all_gcc-4.4-ppc-fpic-mrelocatable.patch
33_all_armhf.patch
40_all_gcc-4.4-libiberty.h-asprintf.patch
47_all_arm-unbreak-armv4t.patch
51_all_gcc-3.4-libiberty-pic.patch
53_all_gcc4-superh-default-multilib.patch
61_all_gcc4-ia64-noteGNUstack.patch
74_all_sh-pr24836.patch 92_all_freebsd-pie.patch
93_all_gcc-4.5-cloog-dl.patch
94_all_gcc-4.5-pch-nostdinc.patch
95_all_arm-pr43440.patch
99_all_testsuite-01-Wformat.patch
99_all_testsuite-02-Wtrampolines.patch
99_all_testsuite-03-check-lto.patch README.history
Log:
Initial 4.5.4 patchset based off latest 4.5.3 patchset.
Revision Changes Path
1.1 src/patchsets/gcc/4.5.4/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch?rev=1.1&content-type=text/plain
Index: 00_all_gcc-4.1-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
-mieee).
To satisfy those people who may not want -mieee forced on them all the time,
we also provide -mno-ieee.
Patch by Mike Frysinger <vapier@gentoo.org>
--- gcc-4.3.0/gcc/config/alpha/alpha.h
+++ gcc-4.3.0/gcc/config/alpha/alpha.h
@@ -95,6 +95,8 @@
while (0)
#endif
+#define CPP_SPEC "%{!no-ieee:-mieee}"
+
#define WORD_SWITCH_TAKES_ARG(STR) \
(!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
--- gcc-4.3.0/gcc/config/alpha/alpha.opt
+++ gcc-4.3.0/gcc/config/alpha/alpha.opt
@@ -39,7 +39,7 @@
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.5.4/gentoo/01_all_gcc-4.1-alpha-asm-mcpu.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/01_all_gcc-4.1-alpha-asm-mcpu.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/01_all_gcc-4.1-alpha-asm-mcpu.patch?rev=1.1&content-type=text/plain
Index: 01_all_gcc-4.1-alpha-asm-mcpu.patch
===================================================================
http://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
--- gcc-x/gcc/config/alpha/elf.h
+++ gcc-x/gcc/config/alpha/elf.h
@@ -46,7 +46,7 @@
#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.5.4/gentoo/03_all_gcc43-java-nomulti.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/03_all_gcc43-java-nomulti.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/03_all_gcc43-java-nomulti.patch?rev=1.1&content-type=text/plain
Index: 03_all_gcc43-java-nomulti.patch
===================================================================
--- libjava/configure.ac.jj
+++ libjava/configure.ac
@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
[allow rebuilding of .class and .h files]))
AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
+AC_ARG_ENABLE(libjava-multilib,
+ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
+if test "$enable_libjava_multilib" = no; then
+ multilib=no
+ ac_configure_args="$ac_configure_args --disable-multilib"
+fi
+
# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
GCC_NO_EXECUTABLES
--- libjava/configure.jj
+++ libjava/configure
@@ -1018,6 +1018,8 @@ Optional Features:
--enable-gconf-peer compile GConf native peers for util.preferences
--enable-java-maintainer-mode
allow rebuilding of .class and .h files
+ --enable-libjava-multilib
+ build libjava as multilib
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--enable-maintainer-mode enable make rules and dependencies not useful
@@ -1848,6 +1850,16 @@ else
fi
+# Check whether --enable-libjava-multilib was given.
+if test "${enable_libjava_multilib+set}" = set; then
+ enableval=$enable_libjava_multilib;
+fi
+
+if test "$enable_libjava_multilib" = no; then
+ multilib=no
+ ac_configure_args="$ac_configure_args --disable-multilib"
+fi
+
# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
1.1 src/patchsets/gcc/4.5.4/gentoo/08_all_gcc-4.1-cross-compile.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/08_all_gcc-4.1-cross-compile.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/08_all_gcc-4.1-cross-compile.patch?rev=1.1&content-type=text/plain
Index: 08_all_gcc-4.1-cross-compile.patch
===================================================================
Some notes on the 'bootstrap with or without libc headers' debate:
http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
--- gcc/unwind-dw2.c
+++ gcc/unwind-dw2.c
@@ -253,9 +253,11 @@
}
#endif
+#ifndef inhibit_libc
#ifdef MD_UNWIND_SUPPORT
#include MD_UNWIND_SUPPORT
#endif
+#endif
\f
/* Extract any interesting information from the CIE for the translation
unit F belongs to. Return a pointer to the byte after the augmentation,
--- gcc/configure
+++ gcc/configure
@@ -12857,7 +12857,7 @@ then
| powerpc*-*-*,powerpc64*-*-*)
CROSS="$CROSS -DNATIVE_CROSS" ;;
esac
-elif test "x$TARGET_SYSTEM_ROOT" != x; then
+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
SYSTEM_HEADER_DIR=$build_system_header_dir
fi
--- gcc/configure.ac
+++ gcc/configure.ac
@@ -1717,7 +1717,7 @@ then
| powerpc*-*-*,powerpc64*-*-*)
CROSS="$CROSS -DNATIVE_CROSS" ;;
esac
-elif test "x$TARGET_SYSTEM_ROOT" != x; then
+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
SYSTEM_HEADER_DIR=$build_system_header_dir
fi
1.1 src/patchsets/gcc/4.5.4/gentoo/09_all_gcc-4.5-Wtrampolines.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/09_all_gcc-4.5-Wtrampolines.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/09_all_gcc-4.5-Wtrampolines.patch?rev=1.1&content-type=text/plain
Index: 09_all_gcc-4.5-Wtrampolines.patch
===================================================================
2010-07-15 Magnus Granberg <zorry@gentoo.org>
Kevin F. Quinn <kevquinn@gentoo.org>
* builtins.c (expand_builtin_init_trampoline): If
-Wtrampolines make a warning.
* common.opt: Add -Wtrampolines.
* doc/invoke.texi: Add -Wtrampolines.
2010-07-31 Magnus Granberg <zorry@gentoo.org>
#328451 set -Wtrampolines as default
http://gcc.gnu.org/viewcvs?view=revision&revision=162205
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -5155,6 +5155,10 @@ expand_builtin_init_trampoline (tree exp)
targetm.calls.trampoline_init (m_tramp, t_func, r_chain);
trampolines_created = 1;
+
+ warning_at (DECL_SOURCE_LOCATION (t_func), OPT_Wtrampolines,
+ "trampoline generated for nested function %qD", t_func);
+
return const0_rtx;
}
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -192,6 +192,10 @@ Wsystem-headers
Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers
+Wtrampolines
+Common Var(warn_trampolines) Init(1) Warning
+Warn whenever a trampoline is generated
+
Wtype-limits
Common Var(warn_type_limits) Init(-1) Warning
Warn if a comparison is always true or always false due to the limited range of the data type
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -3611,6 +3611,21 @@ code. However, note that using @option{-Wall} in conjunction with this
option will @emph{not} warn about unknown pragmas in system
headers---for that, @option{-Wunknown-pragmas} must also be used.
+@item -Wtrampolines
+@opindex Wtrampolines
+@opindex Wno-trampolines
+ Warn about trampolines generated for pointers to nested functions.
+
+ NOTE: In Gentoo, @option{-Wtrampolines} is set by default.
+ To disable, specify @option{-Wno-trampolines}
+
+ A trampoline is a small piece of data or code that is created at run
+ time on the stack when the address of a nested function is taken, and
+ is used to call the nested function indirectly. For some targets, it
+ is made up of data only and thus requires no special treatment. But,
+ for most targets, it is made up of code and thus requires the stack
+ to be made executable in order for the program to work properly.
+
@item -Wfloat-equal
@opindex Wfloat-equal
@opindex Wno-float-equal
1.1 src/patchsets/gcc/4.5.4/gentoo/10_all_gcc-default-format-security.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/10_all_gcc-default-format-security.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/10_all_gcc-default-format-security.patch?rev=1.1&content-type=text/plain
Index: 10_all_gcc-default-format-security.patch
===================================================================
ripped from Debian
# DP: Turn on -Wformat -Wformat-security by default for C, C++, ObjC, ObjC++.
--- gcc/c-common.c
+++ gcc/c-common.c
@@ -277,7 +277,7 @@
/* Warn about format/argument anomalies in calls to formatted I/O functions
(*printf, *scanf, strftime, strfmon, etc.). */
-int warn_format;
+int warn_format = 1;
/* Warn about using __null (as NULL in C++) as sentinel. For code compiled
with GCC this doesn't matter as __null is guaranteed to have the right
--- gcc/c.opt
+++ gcc/c.opt
@@ -228,7 +228,7 @@
Warn about format strings that contain NUL bytes
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning
Warn about possible security problems with format functions
Wformat-y2k
--- gcc/doc/invoke.texi
+++ gcc/doc/invoke.texi
@@ -2802,6 +2802,9 @@
@option{-Wformat-nonliteral}, @option{-Wformat-security}, and
@option{-Wformat=2} are available, but are not included in @option{-Wall}.
+NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
+To disable, use @option{-Wformat=0}.
+
@item -Wformat-y2k
@opindex Wformat-y2k
@opindex Wno-format-y2k
@@ -2849,6 +2852,11 @@
in future warnings may be added to @option{-Wformat-security} that are not
included in @option{-Wformat-nonliteral}.)
+NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
+To disable, use @option{-Wno-format-security}, or disable all format warnings
+with @option{-Wformat=0}. To make format security warnings fatal, specify
+@option{-Werror=format-security}.
+
@item -Wformat=2
@opindex Wformat=2
@opindex Wno-format=2
1.1 src/patchsets/gcc/4.5.4/gentoo/10_all_gcc-default-fortify-source.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/10_all_gcc-default-fortify-source.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/10_all_gcc-default-fortify-source.patch?rev=1.1&content-type=text/plain
Index: 10_all_gcc-default-fortify-source.patch
===================================================================
ripped from Debian
# DP: Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++.
--- gcc/doc/invoke.texi
+++ gcc/doc/invoke.texi
@@ -5204,6 +5204,11 @@
Please note the warning under @option{-fgcse} about
invoking @option{-O2} on programs that use computed gotos.
+NOTE: In Gentoo, @option{-D_FORTIFY_SOURCE=2} is set by default, and is
+activated when @option{-O} is set to 2 or higher. This enables additional
+compile-time and run-time checks for several libc functions. To disable,
+specify either @option{-U_FORTIFY_SOURCE} or @option{-D_FORTIFY_SOURCE=0}.
+
@item -O3
@opindex O3
Optimize yet more. @option{-O3} turns on all optimizations specified by
--- gcc/gcc.c
+++ gcc/gcc.c
@@ -802,6 +802,7 @@
%{H} %C %{D*&U*&A*} %{i*} %Z %i\
%{fmudflap:-D_MUDFLAP -include mf-runtime.h}\
%{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h}\
+ %{!D_FORTIFY_SOURCE:%{!D_FORTIFY_SOURCE=*:%{!U_FORTIFY_SOURCE:-D_FORTIFY_SOURCE=2}}}\
%{E|M|MM:%W{o*}}";
/* This contains cpp options which are common with cc1_options and are passed
1.1 src/patchsets/gcc/4.5.4/gentoo/11_all_gcc-netbsd-symbolic.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/11_all_gcc-netbsd-symbolic.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/11_all_gcc-netbsd-symbolic.patch?rev=1.1&content-type=text/plain
Index: 11_all_gcc-netbsd-symbolic.patch
===================================================================
http://bugs.gentoo.org/122698
--- gcc/config/netbsd-elf.h
+++ gcc/config/netbsd-elf.h
@@ -83,6 +83,7 @@
#define NETBSD_LINK_SPEC_ELF \
"%{assert*} %{R*} %{rpath*} \
%{shared:-shared} \
+ %{symbolic:-Bsymbolic} \
%{!shared: \
-dc -dp \
%{!nostdlib: \
1.1 src/patchsets/gcc/4.5.4/gentoo/14_all_gcc-sparc64-bsd.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/14_all_gcc-sparc64-bsd.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/14_all_gcc-sparc64-bsd.patch?rev=1.1&content-type=text/plain
Index: 14_all_gcc-sparc64-bsd.patch
===================================================================
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -26,9 +26,22 @@
/* FreeBSD needs the platform name (sparc64) defined.
Emacs needs to know if the arch is 64 or 32-bits. */
-#undef CPP_CPU64_DEFAULT_SPEC
-#define CPP_CPU64_DEFAULT_SPEC \
- "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
+#undef FBSD_TARGET_CPU_CPP_BUILTINS
+#define FBSD_TARGET_CPU_CPP_BUILTINS() \
+ do \
+ { \
+ if (TARGET_ARCH64) \
+ { \
+ builtin_define ("__sparc64__"); \
+ builtin_define ("__sparc_v9__"); \
+ builtin_define ("__sparcv9"); \
+ } \
+ else \
+ builtin_define ("__sparc"); \
+ builtin_define ("__sparc__"); \
+ } \
+ while (0)
+
#define LINK_SPEC "%(link_arch) \
%{!mno-relax:%{!r:-relax}} \
1.1 src/patchsets/gcc/4.5.4/gentoo/15_all_gcc-libgomp-no-werror.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/15_all_gcc-libgomp-no-werror.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/15_all_gcc-libgomp-no-werror.patch?rev=1.1&content-type=text/plain
Index: 15_all_gcc-libgomp-no-werror.patch
===================================================================
libgomp does not respect --disable-werror
http://bugs.gentoo.org/229059
http://gcc.gnu.org/PR38436
--- gcc-4.3.2/libgomp/configure
+++ gcc-4.3.2/libgomp/configure
@@ -3297,7 +3297,7 @@
# 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.5.4/gentoo/22_all_4.6_pr45094_arm-dword-move.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/22_all_4.6_pr45094_arm-dword-move.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/22_all_4.6_pr45094_arm-dword-move.patch?rev=1.1&content-type=text/plain
Index: 22_all_4.6_pr45094_arm-dword-move.patch
===================================================================
Backport from 4.6
http://gcc.gnu.org/PR45094
https://bugs.gentoo.org/352064
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -12182,13 +12182,13 @@ output_move_double (rtx *operands)
{
if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY)
{
- output_asm_insn ("ldr%?\t%0, [%1, %2]!", otherops);
- output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops);
+ output_asm_insn ("str%?\t%0, [%1, %2]!", otherops);
+ output_asm_insn ("str%?\t%H0, [%1, #4]", otherops);
}
else
{
- output_asm_insn ("ldr%?\t%H0, [%1, #4]", otherops);
- output_asm_insn ("ldr%?\t%0, [%1], %2", otherops);
+ output_asm_insn ("str%?\t%H0, [%1, #4]", otherops);
+ output_asm_insn ("str%?\t%0, [%1], %2", otherops);
}
}
else if (GET_CODE (XEXP (operands[0], 0)) == PRE_MODIFY)
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr45094.c
@@ -0,0 +1,26 @@
+/* { dg-do run } */
+/* { dg-require-effective-target arm_neon_hw } */
+/* { dg-options "-O2 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp" } */
+
+#include <stdlib.h>
+
+long long buffer[32];
+
+void __attribute__((noinline)) f(long long *p, int n)
+{
+ while (--n >= 0)
+ {
+ *p = 1;
+ p += 32;
+ }
+}
+
+int main(void)
+{
+ f(buffer, 1);
+
+ if (!buffer[0])
+ abort();
+
+ return 0;
+}
1.1 src/patchsets/gcc/4.5.4/gentoo/23_all_4.6_pr45886_ARM_PCS_VFP.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/23_all_4.6_pr45886_ARM_PCS_VFP.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/23_all_4.6_pr45886_ARM_PCS_VFP.patch?rev=1.1&content-type=text/plain
Index: 23_all_4.6_pr45886_ARM_PCS_VFP.patch
===================================================================
Backport from 4.6
http://gcc.gnu.org/PR45886
https://bugs.gentoo.org/351851
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -700,7 +700,7 @@ static int after_arm_reorg = 0;
/* The maximum number of insns to be used when loading a constant. */
static int arm_constant_limit = 3;
-static enum arm_pcs arm_pcs_default;
+enum arm_pcs arm_pcs_default;
/* For an explanation of these variables, see final_prescan_insn below. */
int arm_ccfsm_state;
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -94,7 +94,13 @@ extern char arm_arch_name[];
if (arm_arch_iwmmxt) \
builtin_define ("__IWMMXT__"); \
if (TARGET_AAPCS_BASED) \
- builtin_define ("__ARM_EABI__"); \
+ { \
+ if (arm_pcs_default == ARM_PCS_AAPCS_VFP) \
+ builtin_define ("__ARM_PCS_VFP"); \
+ else if (arm_pcs_default == ARM_PCS_AAPCS) \
+ builtin_define ("__ARM_PCS"); \
+ builtin_define ("__ARM_EABI__"); \
+ } \
} while (0)
/* The various ARM cores. */
@@ -1648,6 +1654,9 @@ enum arm_pcs
ARM_PCS_UNKNOWN
};
+/* Default procedure calling standard of current compilation unit. */
+extern enum arm_pcs arm_pcs_default;
+
/* A C type for declaring a variable that is used as the first argument of
`FUNCTION_ARG' and other related values. */
typedef struct
1.1 src/patchsets/gcc/4.5.4/gentoo/30_all_gcc-4.5-ppc-msingle-pic-base.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/30_all_gcc-4.5-ppc-msingle-pic-base.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/30_all_gcc-4.5-ppc-msingle-pic-base.patch?rev=1.1&content-type=text/plain
Index: 30_all_gcc-4.5-ppc-msingle-pic-base.patch
===================================================================
https://bugs.gentoo.org/347281
backported from gcc-4.6
From aaf90e018802d80e9cd6ba86c6d03aee1456d737 Mon Sep 17 00:00:00 2001
From: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Date: Sat, 9 Oct 2010 12:45:39 +0200
Subject: [PATCH] PowerPC: Add msingle-pic-base option, gcc 4.5.
Do not generate fPIC/fpic prologue nor save
and restore PIC register.
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
---
gcc/config/rs6000/rs6000.c | 5 +++++
gcc/config/rs6000/rs6000.opt | 4 ++++
gcc/doc/invoke.texi | 9 ++++++++-
3 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 01e6d71..1552ec1 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -18553,8 +18553,10 @@ rs6000_reg_live_or_pic_offset_p (int reg)
return ((df_regs_ever_live_p (reg)
&& (!call_used_regs[reg]
|| (reg == RS6000_PIC_OFFSET_TABLE_REGNUM
+ && !TARGET_SINGLE_PIC_BASE
&& TARGET_TOC && TARGET_MINIMAL_TOC)))
|| (reg == RS6000_PIC_OFFSET_TABLE_REGNUM
+ && !TARGET_SINGLE_PIC_BASE
&& ((DEFAULT_ABI == ABI_V4 && flag_pic != 0)
|| (DEFAULT_ABI == ABI_DARWIN && flag_pic))));
}
@@ -19305,6 +19307,9 @@ rs6000_emit_prologue (void)
insn = emit_insn (generate_set_vrsave (reg, info, 0));
}
+ if (TARGET_SINGLE_PIC_BASE)
+ return; /* Do not set PIC register */
+
/* If we are using RS6000_PIC_OFFSET_TABLE_REGNUM, we need to set it up. */
if ((TARGET_TOC && TARGET_MINIMAL_TOC && get_pool_size () != 0)
|| (DEFAULT_ABI == ABI_V4
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
index 63f0f8c..1c97c94 100644
--- a/gcc/config/rs6000/rs6000.opt
+++ b/gcc/config/rs6000/rs6000.opt
@@ -163,6 +163,10 @@ mupdate
Target Report RejectNegative InverseMask(NO_UPDATE, UPDATE)
Generate load/store with update instructions
+msingle-pic-base
+Target Report Var(TARGET_SINGLE_PIC_BASE) Init(0)
+Do not load the PIC register in function prologues
+
mavoid-indexed-addresses
Target Report Var(TARGET_AVOID_XFORM) Init(-1)
Avoid generation of indexed load/store instructions when possible
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index a1846dc..32e17b6 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -765,7 +765,7 @@ See RS/6000 and PowerPC Options.
-mstrict-align -mno-strict-align -mrelocatable @gol
-mno-relocatable -mrelocatable-lib -mno-relocatable-lib @gol
-mtoc -mno-toc -mlittle -mlittle-endian -mbig -mbig-endian @gol
--mdynamic-no-pic -maltivec -mswdiv @gol
+-mdynamic-no-pic -maltivec -mswdiv -msingle-pic-base @gol
-mprioritize-restricted-insns=@var{priority} @gol
-msched-costly-dep=@var{dependence_type} @gol
-minsert-sched-nops=@var{scheme} @gol
@@ -15221,6 +15221,13 @@ relocatable, but that its external references are relocatable. The
resulting code is suitable for applications, but not shared
libraries.
+@item -msingle-pic-base
+@opindex msingle-pic-base
+Treat the register used for PIC addressing as read-only, rather than
+loading it in the prologue for each function. The run-time system is
+responsible for initializing this register with an appropriate value
+before execution begins.
+
@item -mprioritize-restricted-insns=@var{priority}
@opindex mprioritize-restricted-insns
This option controls the priority that is assigned to
--
1.7.2.2
1.1 src/patchsets/gcc/4.5.4/gentoo/31_all_gcc-4.4-ppc-fpic-mrelocatable.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/31_all_gcc-4.4-ppc-fpic-mrelocatable.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/31_all_gcc-4.4-ppc-fpic-mrelocatable.patch?rev=1.1&content-type=text/plain
Index: 31_all_gcc-4.4-ppc-fpic-mrelocatable.patch
===================================================================
https://bugs.gentoo.org/347281
backported from gcc-4.6
From d8ff0b3f0b44480542eab04d1659f4368b6b09cf Mon Sep 17 00:00:00 2001
From: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Date: Sun, 10 Oct 2010 10:34:50 +0200
Subject: [PATCH] powerpc: Support -fpic too with mrelocatable
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
---
sysv4.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 8da8410..e4b8280 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -227,7 +227,8 @@ do { \
} \
\
else if (TARGET_RELOCATABLE) \
- flag_pic = 2; \
+ if (!flag_pic) \
+ flag_pic = 2; \
} while (0)
#ifndef RS6000_BI_ARCH
--
1.7.2.2
1.1 src/patchsets/gcc/4.5.4/gentoo/33_all_armhf.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/33_all_armhf.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/33_all_armhf.patch?rev=1.1&content-type=text/plain
Index: 33_all_armhf.patch
===================================================================
use new common path to the arm hard float linker
change taken from upstream gcc
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -32,7 +32,8 @@
while (false)
/* We default to a soft-float ABI so that binaries can run on all
- target hardware. */
+ target hardware. If you override this to use the hard-float ABI then
+ change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */
#undef TARGET_DEFAULT_FLOAT_ABI
#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT
@@ -59,10 +60,23 @@
#undef SUBTARGET_EXTRA_LINK_SPEC
#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION
-/* Use ld-linux.so.3 so that it will be possible to run "classic"
- GNU/Linux binaries on an EABI system. */
+/* GNU/Linux on ARM currently supports three dynamic linkers:
+ - ld-linux.so.2 - for the legacy ABI
+ - ld-linux.so.3 - for the EABI-derived soft-float ABI
+ - ld-linux-armhf.so.3 - for the EABI-derived hard-float ABI.
+ All the dynamic linkers live in /lib.
+ We default to soft-float, but this can be overridden by changing both
+ GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
+
#undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
+#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
+
+#define GLIBC_DYNAMIC_LINKER \
+ "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
+ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
+ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
1.1 src/patchsets/gcc/4.5.4/gentoo/40_all_gcc-4.4-libiberty.h-asprintf.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/40_all_gcc-4.4-libiberty.h-asprintf.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/40_all_gcc-4.4-libiberty.h-asprintf.patch?rev=1.1&content-type=text/plain
Index: 40_all_gcc-4.4-libiberty.h-asprintf.patch
===================================================================
2008-07-25 Magnus Granberg <zorry@ume.nu>
* include/libiberty.h (asprintf): Don't declare if defined as a macro
--- include/libiberty.h.zorry
+++ include/libiberty.h
@@ -554,8 +554,11 @@
/* 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.5.4/gentoo/47_all_arm-unbreak-armv4t.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/47_all_arm-unbreak-armv4t.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/47_all_arm-unbreak-armv4t.patch?rev=1.1&content-type=text/plain
Index: 47_all_arm-unbreak-armv4t.patch
===================================================================
http://sourceware.org/ml/crossgcc/2008-05/msg00009.html
gcc defaults to armv5t for all targets even armv4t
--- gcc/config/arm/linux-eabi.h
+++ 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.5.4/gentoo/51_all_gcc-3.4-libiberty-pic.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/51_all_gcc-3.4-libiberty-pic.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/51_all_gcc-3.4-libiberty-pic.patch?rev=1.1&content-type=text/plain
Index: 51_all_gcc-3.4-libiberty-pic.patch
===================================================================
--- gcc-4.1.0-orig/libiberty/Makefile.in
+++ gcc-4.1.0/libiberty/Makefile.in
@@ -232,6 +232,7 @@
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
+ cp $(TARGETLIB) ../ ; \
cd ..; \
else true; fi
1.1 src/patchsets/gcc/4.5.4/gentoo/53_all_gcc4-superh-default-multilib.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/53_all_gcc4-superh-default-multilib.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/53_all_gcc4-superh-default-multilib.patch?rev=1.1&content-type=text/plain
Index: 53_all_gcc4-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.
http://bugs.gentoo.org/140205
http://bugs.gentoo.org/320251
--- gcc-4.2.0/gcc/config.gcc
+++ gcc-4.2.0/gcc/config.gcc
@@ -2092,7 +2092,7 @@
if test x${sh_multilibs} = x ; 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.5.4/gentoo/61_all_gcc4-ia64-noteGNUstack.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/61_all_gcc4-ia64-noteGNUstack.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/61_all_gcc4-ia64-noteGNUstack.patch?rev=1.1&content-type=text/plain
Index: 61_all_gcc4-ia64-noteGNUstack.patch
===================================================================
2004-09-20 Jakub Jelinek <jakub@redhat.com>
* 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 <jakub@redhat.com>
* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
--- gcc/config/ia64/linux.h.jj
+++ gcc/config/ia64/linux.h
@@ -5,6 +5,8 @@
#define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
+#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*}"
--- gcc/config/rs6000/ppc-asm.h.jj
+++ gcc/config/rs6000/ppc-asm.h
@@ -158,7 +158,7 @@ GLUE(.L,name): \
.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
#endif
-#if defined __linux__ && !defined __powerpc64__
+#if defined __linux__
.section .note.GNU-stack
.previous
#endif
--- gcc/config/ia64/lib1funcs.asm.jj
+++ gcc/config/ia64/lib1funcs.asm
@@ -741,3 +741,7 @@ __floattitf:
.endp __floattitf
#endif
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/ia64/crtend.asm.jj
+++ gcc/config/ia64/crtend.asm
@@ -113,3 +113,7 @@ __do_global_ctors_aux:
br.ret.sptk.many rp
.endp __do_global_ctors_aux
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/ia64/crti.asm.jj
+++ gcc/config/ia64/crti.asm
@@ -64,3 +64,7 @@ _fini:
.body
# end of crti.asm
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/ia64/crtbegin.asm.jj
+++ gcc/config/ia64/crtbegin.asm
@@ -246,3 +246,7 @@ __do_jv_register_classes:
.weak __cxa_finalize
#endif
.weak _Jv_RegisterClasses
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/ia64/crtn.asm.jj
+++ gcc/config/ia64/crtn.asm
@@ -54,3 +54,7 @@
br.ret.sptk.many b0
# end of crtn.asm
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
1.1 src/patchsets/gcc/4.5.4/gentoo/74_all_sh-pr24836.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/74_all_sh-pr24836.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/74_all_sh-pr24836.patch?rev=1.1&content-type=text/plain
Index: 74_all_sh-pr24836.patch
===================================================================
http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
http://gcc.gnu.org/PR24836
--- gcc/gcc/configure.ac
+++ gcc/gcc/configure.ac
@@ -2446,7 +2446,7 @@
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
--- gcc/gcc/configure
+++ gcc/gcc/configure
@@ -14846,7 +14846,7 @@
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.5.4/gentoo/92_all_freebsd-pie.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/92_all_freebsd-pie.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/92_all_freebsd-pie.patch?rev=1.1&content-type=text/plain
Index: 92_all_freebsd-pie.patch
===================================================================
https://bugs.gentoo.org/415185
http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00555.html
From: Alexis Ballier <aballier@gentoo.org>
To: gcc-patches@gcc.gnu.org
Cc: Alexis Ballier <aballier@gentoo.org>
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(-)
diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h
index 770a3d1..2808582 100644
--- 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
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 649274d..dd69e43 100644
--- 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.5.4/gentoo/93_all_gcc-4.5-cloog-dl.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/93_all_gcc-4.5-cloog-dl.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/93_all_gcc-4.5-cloog-dl.patch?rev=1.1&content-type=text/plain
Index: 93_all_gcc-4.5-cloog-dl.patch
===================================================================
When graphite support is enabled, C++ libraries (libppl, libcloog, libgmpxx,
libstdc++-v3) are linked into cc1. Because of libstdc++ symbol versioning
this has the unfortunate side effect of making it difficult to switch to a
previous version of GCC using gcc-config once these libraries have be built
with the newer version. (http://bugs.gentoo.org/315377#c3)
Instead, dlopen libcloog as necessary. This patch originated in Fedora and
was modified to work on FreeBSD (http://bugs.gentoo.org/317211).
http://cvs.fedoraproject.org/viewvc/devel/gcc/gcc45-cloog-dl.patch
2010-07-01 Jakub Jelinek <jakub@redhat.com>
* Makefile.in (BACKENDLIBS): Link against -ldl instead of -lcloog -lppl.
(graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
(graphite-ppl.o): Depend on graphite.h.
* graphite.h: Include <dlfcn.h>. Reference libcloog and libppl symbols
through pointers in cloog_pointers__ variable.
* graphite.c (init_cloog_pointers): New function.
(graphite_transform_loops): Call init_cloog_pointers.
* graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename stmt_for
argument to stmt_fora.
* graphite-ppl.c: Include graphite.h.
2010-07-22 Ryan Hill <dirtyepic@gentoo.org>
* configure.ac (DL_LIB): Check how to dlopen.
* configure: Regenerate.
* Makefile.in (BACKENDLIBS): Use DL_LIB.
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1025,7 +1025,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
# and the system's installed libraries.
LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
$(HOST_LIBS)
-BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),@DL_LIB@) $(PLUGINLIBS) $(HOST_LIBS) \
$(ZLIB) $(LIBELFLIBS)
# Any system libraries needed just for GNAT.
SYSLIBS = @GNAT_LIBEXC@
@@ -2633,7 +2633,7 @@ graphite-poly.o: graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_DATA_REF_H) tree-pass.h domwalk.h graphite.h graphite-dependences.h \
pointer-set.h value-prof.h graphite-ppl.h sese.h output.h graphite-poly.h
graphite-ppl.o: graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
- $(GGC_H) graphite-ppl.h
+ $(GGC_H) graphite-ppl.h graphite.h
graphite-scop-detection.o: graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
$(GGC_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TOPLEV_H) \
$(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) $(CFGLOOP_H) $(GIMPLE_H) \
@@ -3384,6 +3384,11 @@ $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) \
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
$(out_file) $(OUTPUT_OPTION)
+graphite%.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+graphite.o : \
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
+
# Build auxiliary files that support ecoff format.
mips-tfile: mips-tfile.o version.o $(LIBDEPS)
$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
--- a/gcc/configure
+++ b/gcc/configure
@@ -602,6 +602,7 @@ ac_subst_vars='LTLIBOBJS
LIBOBJS
enable_plugin
pluginlibs
+DL_LIB
LIBELFINC
LIBELFLIBS
CLOOGINC
@@ -25148,6 +25149,72 @@ $as_echo "#define HAVE_libelf 1" >>confdefs.h
fi
+# Check how to dlopen
+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; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if test "${ac_cv_search_dlopen+set}" = set; then :
+ break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+ ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+case $ac_cv_search_dlopen in
+ no*) ;;
+ *) DL_LIB=$ac_cv_search_dlopen ;;
+esac
+
+LIBS=$saved_LIBS
+
# Check for plugin support
# Check whether --enable-plugin was given.
if test "${enable_plugin+set}" = set; then :
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -4372,6 +4372,17 @@ if test "x${LIBELFLIBS}" != "x" ; then
AC_DEFINE(HAVE_libelf, 1, [Define if libelf is in use.])
fi
+# Check how to dlopen
+DL_LIB=
+saved_LIBS="$LIBS"
+AC_SEARCH_LIBS([dlopen], [dl])
+case $ac_cv_search_dlopen in
+ no*) ;;
+ *) DL_LIB=$ac_cv_search_dlopen ;;
+esac
+AC_SUBST(DL_LIB)
+LIBS=$saved_LIBS
+
# Check for plugin support
AC_ARG_ENABLE(plugin,
[ --enable-plugin enable plugin support],
--- a/gcc/graphite-clast-to-gimple.c
+++ b/gcc/graphite-clast-to-gimple.c
@@ -613,11 +613,11 @@ gcc_type_for_cloog_iv (const char *cloog_iv, gimple_bb_p gbb)
STMT. */
static tree
-gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for)
+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora)
{
- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
- const char *cloog_iv = stmt_for->iterator;
+ const char *cloog_iv = stmt_fora->iterator;
CloogStatement *cs = body->statement;
poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
--- a/gcc/graphite-ppl.c
+++ b/gcc/graphite-ppl.c
@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3. If not see
#include "ppl_c.h"
#include "cloog/cloog.h"
#include "graphite-ppl.h"
+#include "graphite.h"
/* Translates row ROW of the CloogMatrix MATRIX to a PPL Constraint. */
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -67,6 +67,35 @@ along with GCC; see the file COPYING3. If not see
#include "graphite-clast-to-gimple.h"
#include "graphite-sese-to-poly.h"
+__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.so.0", 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
@@ -210,6 +239,12 @@ graphite_initialize (void)
return false;
}
+ if (!init_cloog_pointers ())
+ {
+ sorry ("Graphite loop optimizations cannot be used");
+ return false;
+ }
+
scev_reset ();
recompute_all_dominators ();
initialize_original_copy_tables ();
--- a/gcc/graphite.h
+++ b/gcc/graphite.h
@@ -21,4 +21,224 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_GRAPHITE_H
#define GCC_GRAPHITE_H
+#include <dlfcn.h>
+#define DYNSYMS \
+ DYNSYM (cloog_block_alloc); \
+ DYNSYM (cloog_block_list_free); \
+ DYNSYM (cloog_block_list_malloc); \
+ DYNSYM (cloog_clast_create); \
+ DYNSYM (cloog_clast_free); \
+ DYNSYM (cloog_domain_free); \
+ DYNSYM (cloog_domain_matrix2domain); \
+ DYNSYM (cloog_initialize); \
+ DYNSYM (cloog_loop_malloc); \
+ DYNSYM (cloog_matrix_alloc); \
+ DYNSYM (cloog_matrix_copy); \
+ DYNSYM (cloog_matrix_free); \
+ DYNSYM (cloog_matrix_print); \
+ DYNSYM (cloog_names_malloc); \
+ DYNSYM (cloog_names_scalarize); \
+ DYNSYM (cloog_options_free); \
+ DYNSYM (cloog_options_malloc); \
+ DYNSYM (cloog_program_dump_cloog); \
+ DYNSYM (cloog_program_extract_scalars); \
+ DYNSYM (cloog_program_free); \
+ DYNSYM (cloog_program_generate); \
+ DYNSYM (cloog_program_malloc); \
+ DYNSYM (cloog_program_print); \
+ DYNSYM (cloog_program_scatter); \
+ DYNSYM (cloog_statement_alloc); \
+ DYNSYM (cloog_domain_union); \
+ DYNSYM (cloog_matrix_read); \
+ DYNSYM (cloog_new_pol); \
+ DYNSYM (cloog_vector_gcd); \
+ DYNSYM (ppl_finalize); \
+ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
+ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
+ DYNSYM (ppl_Coefficient_to_mpz_t); \
+ DYNSYM (ppl_Constraint_coefficient); \
+ DYNSYM (ppl_Constraint_inhomogeneous_term); \
+ DYNSYM (ppl_Constraint_space_dimension); \
+ DYNSYM (ppl_Constraint_System_begin); \
+ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
+ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
+ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
+ DYNSYM (ppl_Constraint_System_end); \
+ DYNSYM (ppl_Constraint_System_insert_Constraint); \
+ DYNSYM (ppl_Constraint_System_space_dimension); \
+ DYNSYM (ppl_Constraint_type); \
+ DYNSYM (ppl_delete_Coefficient); \
+ DYNSYM (ppl_delete_Constraint); \
+ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
+ DYNSYM (ppl_delete_Linear_Expression); \
+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
+ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
+ DYNSYM (ppl_delete_Polyhedron); \
+ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
+ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
+ DYNSYM (ppl_Linear_Expression_coefficient); \
+ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
+ DYNSYM (ppl_Linear_Expression_space_dimension); \
+ DYNSYM (ppl_new_Coefficient); \
+ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
+ DYNSYM (ppl_new_Constraint); \
+ DYNSYM (ppl_new_Constraint_System); \
+ DYNSYM (ppl_new_Constraint_System_const_iterator); \
+ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
+ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
+ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
+ DYNSYM (ppl_new_Linear_Expression); \
+ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
+ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
+ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
+ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
+ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
+ DYNSYM (ppl_Polyhedron_add_constraint); \
+ DYNSYM (ppl_Polyhedron_add_constraints); \
+ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
+ DYNSYM (ppl_Polyhedron_get_constraints); \
+ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
+ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
+ DYNSYM (ppl_Polyhedron_space_dimension); \
+ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
+ DYNSYM (pprint); \
+ DYNSYM (stmt_block); \
+ DYNSYM (stmt_for); \
+ DYNSYM (stmt_guard); \
+ DYNSYM (stmt_root); \
+ DYNSYM (stmt_user);
+extern struct
+{
+ 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 cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
+#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
+#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
+#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
+#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
+#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
+#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
+#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
+#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
+#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
+#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
+#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
+#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
+#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
+#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
+#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
+#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
+#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
+#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
+#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
+#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
+#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
+#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
+#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
+#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
+#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
+#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
+#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
+#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
+#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
+#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
+#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
+#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
+#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
+#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
+#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
+#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
+#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
+#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
+#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
+#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
+#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
+#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
+#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
+#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)
+#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
+#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
+#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
+#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
+#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
+#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
+#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
+#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
+#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
+#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
+#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
+#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
+#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
+#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
+#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
+#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
+#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
+#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
+#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
+#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
+#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
+#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
+#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
+#define pprint (*cloog_pointers__.p_pprint)
+#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)
+
+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
+
#endif /* GCC_GRAPHITE_H */
1.1 src/patchsets/gcc/4.5.4/gentoo/94_all_gcc-4.5-pch-nostdinc.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/94_all_gcc-4.5-pch-nostdinc.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/94_all_gcc-4.5-pch-nostdinc.patch?rev=1.1&content-type=text/plain
Index: 94_all_gcc-4.5-pch-nostdinc.patch
===================================================================
Make precompiled headers cross buildable.
http://bugs.gentoo.org/show_bug.cgi?id=262912
--- gcc-4.5.0.orig//libstdc++-v3/include/Makefile.am
+++ gcc-4.5.0/libstdc++-v3/include/Makefile.am
@@ -893,7 +893,7 @@
${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
pch_output_anchors = \
${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
-PCHFLAGS=-x c++-header $(CXXFLAGS)
+PCHFLAGS=-x c++-header $(CXXFLAGS) -nostdinc++
if GLIBCXX_BUILD_PCH
pch_build = ${pch_output}
else
--- gcc-4.5.0.orig//libstdc++-v3/include/Makefile.in
+++ gcc-4.5.0/libstdc++-v3/include/Makefile.in
@@ -1119,7 +1119,7 @@
pch_output_anchors = \
${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
-PCHFLAGS = -x c++-header $(CXXFLAGS)
+PCHFLAGS = -x c++-header $(CXXFLAGS) -nostdinc++
@GLIBCXX_BUILD_PCH_FALSE@pch_build =
@GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output}
1.1 src/patchsets/gcc/4.5.4/gentoo/95_all_arm-pr43440.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/95_all_arm-pr43440.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/95_all_arm-pr43440.patch?rev=1.1&content-type=text/plain
Index: 95_all_arm-pr43440.patch
===================================================================
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43440
--- gcc-4.4.4.orig/gcc/config/arm/aout.h
+++ gcc-4.4.4/gcc/config/arm/aout.h
@@ -163,34 +163,49 @@
{"mvdx12", 39}, \
{"mvdx13", 40}, \
{"mvdx14", 41}, \
- {"mvdx15", 42}, \
- {"d0", 63}, {"q0", 63}, \
- {"d1", 65}, \
- {"d2", 67}, {"q1", 67}, \
- {"d3", 69}, \
- {"d4", 71}, {"q2", 71}, \
- {"d5", 73}, \
- {"d6", 75}, {"q3", 75}, \
- {"d7", 77}, \
- {"d8", 79}, {"q4", 79}, \
- {"d9", 81}, \
- {"d10", 83}, {"q5", 83}, \
- {"d11", 85}, \
- {"d12", 87}, {"q6", 87}, \
- {"d13", 89}, \
- {"d14", 91}, {"q7", 91}, \
- {"d15", 93}, \
- {"q8", 95}, \
- {"q9", 99}, \
- {"q10", 103}, \
- {"q11", 107}, \
- {"q12", 111}, \
- {"q13", 115}, \
- {"q14", 119}, \
- {"q15", 123} \
+ {"mvdx15", 42} \
}
#endif
+#ifndef OVERLAPPING_REGISTER_NAMES
+#define OVERLAPPING_REGISTER_NAMES \
+{ \
+ {"d0", 63, 2}, \
+ {"d1", 65, 2}, \
+ {"d2", 67, 2}, \
+ {"d3", 69, 2}, \
+ {"d4", 71, 2}, \
+ {"d5", 73, 2}, \
+ {"d6", 75, 2}, \
+ {"d7", 77, 2}, \
+ {"d8", 79, 2}, \
+ {"d9", 81, 2}, \
+ {"d10", 83, 2}, \
+ {"d11", 85, 2}, \
+ {"d12", 87, 2}, \
+ {"d13", 89, 2}, \
+ {"d14", 91, 2}, \
+ {"d15", 93, 2}, \
+ {"q0", 63, 4}, \
+ {"q1", 67, 4}, \
+ {"q2", 71, 4}, \
+ {"q3", 75, 4}, \
+ {"q4", 79, 4}, \
+ {"q5", 83, 4}, \
+ {"q6", 87, 4}, \
+ {"q7", 91, 4}, \
+ {"q8", 95, 4}, \
+ {"q9", 99, 4}, \
+ {"q10", 103, 4}, \
+ {"q11", 107, 4}, \
+ {"q12", 111, 4}, \
+ {"q13", 115, 4}, \
+ {"q14", 119, 4}, \
+ {"q15", 123, 4} \
+}
+#endif
+
+
#ifndef NO_DOLLAR_IN_LABEL
#define NO_DOLLAR_IN_LABEL 1
#endif
--- gcc-4.4.4.orig/gcc/output.h
+++ gcc-4.4.4/gcc/output.h
@@ -169,6 +169,11 @@
Prefixes such as % are optional. */
extern int decode_reg_name (const char *);
+/* Similar to decode_reg_name, but takes an extra parameter that is a
+ pointer to the number of (internal) registers described by the
+ external name. */
+extern int decode_reg_name_and_count (const char *, int *);
+
extern void assemble_alias (tree, tree);
extern void default_assemble_visibility (tree, int);
--- gcc-4.4.4.orig/gcc/reginfo.c
+++ gcc-4.4.4/gcc/reginfo.c
@@ -800,39 +800,44 @@
fix_register (const char *name, int fixed, int call_used)
{
int i;
+ int reg, nregs;
/* Decode the name and update the primary form of
the register info. */
-
- if ((i = decode_reg_name (name)) >= 0)
+ if ((reg = decode_reg_name_and_count (name, &nregs)) >= 0)
{
- if ((i == STACK_POINTER_REGNUM
+ gcc_assert (nregs >= 1);
+ for (i = reg; i < reg + nregs; i++)
+ {
+ if ((i == STACK_POINTER_REGNUM
#ifdef HARD_FRAME_POINTER_REGNUM
- || i == HARD_FRAME_POINTER_REGNUM
+ || i == HARD_FRAME_POINTER_REGNUM
#else
- || i == FRAME_POINTER_REGNUM
+ || i == FRAME_POINTER_REGNUM
#endif
- )
- && (fixed == 0 || call_used == 0))
- {
- static const char * const what_option[2][2] = {
- { "call-saved", "call-used" },
- { "no-such-option", "fixed" }};
+ )
+ && (fixed == 0 || call_used == 0))
+ {
+ static const char * const what_option[2][2] = {
+ { "call-saved", "call-used" },
+ { "no-such-option", "fixed" }};
- error ("can't use '%s' as a %s register", name,
- what_option[fixed][call_used]);
- }
- else
- {
- fixed_regs[i] = fixed;
- call_used_regs[i] = call_used;
+ error ("can't use '%s' as a %s register", name,
+ what_option[fixed][call_used]);
+ }
+ else
+ {
+ fixed_regs[i] = fixed;
+ call_used_regs[i] = call_used;
#ifdef CALL_REALLY_USED_REGISTERS
- if (fixed == 0)
- call_really_used_regs[i] = call_used;
+ if (fixed == 0)
+ call_really_used_regs[i] = call_used;
#endif
- }
- }
- else
+ }
+ }
+ }
+ else
+
{
warning (0, "unknown register name: %s", name);
}
--- gcc-4.4.4.orig/gcc/stmt.c
+++ gcc-4.4.4/gcc/stmt.c
@@ -681,13 +681,14 @@
for (tail = clobbers; tail; tail = TREE_CHAIN (tail))
{
const char *regname;
+ int nregs;
if (TREE_VALUE (tail) == error_mark_node)
return;
regname = TREE_STRING_POINTER (TREE_VALUE (tail));
- i = decode_reg_name (regname);
- if (i >= 0 || i == -4)
+ i = decode_reg_name_and_count (regname, &nregs);
+ if (i == -4)
++nclobbers;
else if (i == -2)
error ("unknown register name %qs in %<asm%>", regname);
@@ -695,14 +696,21 @@
/* Mark clobbered registers. */
if (i >= 0)
{
- /* Clobbering the PIC register is an error. */
- if (i == (int) PIC_OFFSET_TABLE_REGNUM)
- {
- error ("PIC register %qs clobbered in %<asm%>", regname);
- return;
- }
+ int reg;
- SET_HARD_REG_BIT (clobbered_regs, i);
+ for (reg = i; reg < i + nregs; reg++)
+ {
+ ++nclobbers;
+
+ /* Clobbering the PIC register is an error. */
+ if (reg == (int) PIC_OFFSET_TABLE_REGNUM)
+ {
+ error ("PIC register clobbered by %qs in %<asm%>", regname);
+ return;
+ }
+
+ SET_HARD_REG_BIT (clobbered_regs, reg);
+ }
}
}
@@ -1012,8 +1020,9 @@
for (tail = clobbers; tail; tail = TREE_CHAIN (tail))
{
const char *regname = TREE_STRING_POINTER (TREE_VALUE (tail));
- int j = decode_reg_name (regname);
- rtx clobbered_reg;
+ int reg, nregs;
+ int j = decode_reg_name_and_count (regname, &nregs);
+ rtx clobbered_reg;
if (j < 0)
{
@@ -1033,31 +1042,40 @@
/* Ignore unknown register, error already signaled. */
continue;
}
-
- /* Use QImode since that's guaranteed to clobber just one reg. */
- clobbered_reg = gen_rtx_REG (QImode, j);
-
- /* Do sanity check for overlap between clobbers and respectively
- input and outputs that hasn't been handled. Such overlap
- should have been detected and reported above. */
- if (!clobber_conflict_found)
- {
- int opno;
-
- /* We test the old body (obody) contents to avoid tripping
- over the under-construction body. */
- for (opno = 0; opno < noutputs; opno++)
- if (reg_overlap_mentioned_p (clobbered_reg, output_rtx[opno]))
- internal_error ("asm clobber conflict with output operand");
-
- for (opno = 0; opno < ninputs - ninout; opno++)
- if (reg_overlap_mentioned_p (clobbered_reg,
- ASM_OPERANDS_INPUT (obody, opno)))
- internal_error ("asm clobber conflict with input operand");
+
+ for (reg = j; reg < j + nregs; reg++)
+ {
+ /* Use QImode since that's guaranteed to clobber just
+ * one reg. */
+ clobbered_reg = gen_rtx_REG (QImode, reg);
+
+ /* Do sanity check for overlap between clobbers and
+ respectively input and outputs that hasn't been
+ handled. Such overlap should have been detected and
+ reported above. */
+ if (!clobber_conflict_found)
+ {
+ int opno;
+
+ /* We test the old body (obody) contents to avoid
+ tripping over the under-construction body. */
+ for (opno = 0; opno < noutputs; opno++)
+ if (reg_overlap_mentioned_p (clobbered_reg,
+ output_rtx[opno]))
+ internal_error
+ ("asm clobber conflict with output operand");
+
+ for (opno = 0; opno < ninputs - ninout; opno++)
+ if (reg_overlap_mentioned_p (clobbered_reg,
+ ASM_OPERANDS_INPUT (obody,
+ opno)))
+ internal_error
+ ("asm clobber conflict with input operand");
+ }
+
+ XVECEXP (body, 0, i++)
+ = gen_rtx_CLOBBER (VOIDmode, clobbered_reg);
}
-
- XVECEXP (body, 0, i++)
- = gen_rtx_CLOBBER (VOIDmode, clobbered_reg);
}
emit_insn (body);
--- gcc-4.4.4.orig/gcc/varasm.c
+++ gcc-4.4.4/gcc/varasm.c
@@ -1031,8 +1031,11 @@
Prefixes such as % are optional. */
int
-decode_reg_name (const char *asmspec)
+decode_reg_name_and_count (const char *asmspec, int *pnregs)
{
+ /* Presume just one register is clobbered. */
+ *pnregs = 1;
+
if (asmspec != 0)
{
int i;
@@ -1058,6 +1061,25 @@
&& ! strcmp (asmspec, strip_reg_name (reg_names[i])))
return i;
+#ifdef OVERLAPPING_REGISTER_NAMES
+ {
+ static const struct
+ {
+ const char *const name;
+ const int number;
+ const int nregs;
+ } table[] = OVERLAPPING_REGISTER_NAMES;
+
+ for (i = 0; i < (int) ARRAY_SIZE (table); i++)
+ if (table[i].name[0]
+ && ! strcmp (asmspec, table[i].name))
+ {
+ *pnregs = table[i].nregs;
+ return table[i].number;
+ }
+ }
+#endif /* OVERLAPPING_REGISTER_NAMES */
+
#ifdef ADDITIONAL_REGISTER_NAMES
{
static const struct { const char *const name; const int number; } table[]
@@ -1081,6 +1103,15 @@
return -1;
}
+
+int
+decode_reg_name (const char *name)
+{
+ int count;
+ return decode_reg_name_and_count (name, &count);
+}
+
+
\f
/* Return true if DECL's initializer is suitable for a BSS section. */
1.1 src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-01-Wformat.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-01-Wformat.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-01-Wformat.patch?rev=1.1&content-type=text/plain
Index: 99_all_testsuite-01-Wformat.patch
===================================================================
Workaround testsuite failures caused by enabling -Wformat -Wformat-security
by default.
gcc/testsuite/g++.dg/abi/pragma-pack1.C | 1 +
gcc/testsuite/g++.dg/ext/align1.C | 2 ++
gcc/testsuite/g++.dg/opt/alias2.C | 2 +-
gcc/testsuite/g++.old-deja/g++.abi/vbase1.C | 1 +
gcc/testsuite/g++.old-deja/g++.brendan/template8.C | 1 +
gcc/testsuite/g++.old-deja/g++.jason/access23.C | 1 +
gcc/testsuite/g++.old-deja/g++.law/cvt8.C | 1 +
gcc/testsuite/g++.old-deja/g++.law/operators28.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/net35.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/offset1.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/p12306.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/p3579.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/p3708.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/p3708a.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/p3708b.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/p646.C | 2 +-
gcc/testsuite/g++.old-deja/g++.mike/p710.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/p789a.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/pmf2.C | 1 +
gcc/testsuite/g++.old-deja/g++.mike/temp.C | 1 +
gcc/testsuite/g++.old-deja/g++.other/virtual8.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C | 1 +
gcc/testsuite/g++.old-deja/g++.pt/t39.C | 1 +
gcc/testsuite/g++.old-deja/g++.robertl/eb17.C | 1 +
gcc/testsuite/gcc.dg/charset/builtin2.c | 2 +-
gcc/testsuite/gcc.dg/format/opt-1.c | 2 +-
gcc/testsuite/gcc.dg/format/opt-2.c | 2 +-
gcc/testsuite/gcc.dg/format/opt-3.c | 2 +-
gcc/testsuite/gcc.dg/format/opt-4.c | 2 +-
gcc/testsuite/gcc.dg/format/opt-5.c | 2 +-
gcc/testsuite/gcc.dg/format/opt-6.c | 2 +-
gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c | 2 +-
gcc/testsuite/gcc.dg/matrix/matrix-2.c | 2 +-
gcc/testsuite/gcc.dg/packed-vla.c | 2 +-
gcc/testsuite/gcc.dg/pch/inline-4.c | 2 ++
gcc/testsuite/gcc.dg/pr30473.c | 2 +-
gcc/testsuite/gcc.dg/pr38902.c | 2 +-
40 files changed, 42 insertions(+), 14 deletions(-)
--- a/gcc/testsuite/g++.dg/abi/pragma-pack1.C
+++ b/gcc/testsuite/g++.dg/abi/pragma-pack1.C
@@ -1,3 +1,4 @@
+/* { dg-options "-Wformat=0" } */
// PR c++/7046
extern "C" int printf (const char *, ...);
--- a/gcc/testsuite/g++.dg/ext/align1.C
+++ b/gcc/testsuite/g++.dg/ext/align1.C
@@ -1,3 +1,5 @@
+/* { dg-options "-Wformat=0" } */
+
// Test that __attribute__ ((aligned)) is preserved.
// The alignment used to be 64 but Cygwin does not
// support an alignment greater than 16 and COFF
--- a/gcc/testsuite/g++.dg/opt/alias2.C
+++ b/gcc/testsuite/g++.dg/opt/alias2.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-O2" }
+// { dg-options "-O2 -Wformat=0" }
extern "C" int printf (const char*, ...);
--- a/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C
+++ b/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
// Copyright (C) 2000 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 16 Jan 2001 <nathan@codesourcery.com>
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template8.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/template8.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+/* { dg-options "-Wformat=0" } */
// GROUPS passed templates
#include <stdio.h>
--- a/gcc/testsuite/g++.old-deja/g++.jason/access23.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/access23.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+/* { dg-options "-Wformat=0" } */
// PRMS Id: 9127
// Bug: members of anonymous unions are not access-controlled.
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt8.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/cvt8.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+/* { dg-options "-Wformat=0" } */
// GROUPS passed conversions
// cvt file
// From: solomon@cs.wisc.edu (Marvin Solomon)
--- a/gcc/testsuite/g++.old-deja/g++.law/operators28.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/operators28.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+/* { dg-options "-Wformat=0" } */
// GROUPS passed operators
#include <sys/types.h>
#include <stdio.h>
--- a/gcc/testsuite/g++.old-deja/g++.mike/net35.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/net35.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
extern "C" int printf(const char *, ...);
class A {
--- a/gcc/testsuite/g++.old-deja/g++.mike/offset1.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/offset1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
extern "C" int printf(const char *, ...);
void *vp;
int fail = 0;
--- a/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
// prms-id: 12306
void *ptr1, *ptr2;
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
// prms-id: 3579
extern "C" int printf(const char *, ...);
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3708.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p3708.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
// prms-id: 3708
extern "C" int printf (const char *, ...);
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
// prms-id: 3708
extern "C" int printf (const char *, ...);
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
// prms-id: 3708
extern "C" int printf (const char *, ...);
--- a/gcc/testsuite/g++.old-deja/g++.mike/p646.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p646.C
@@ -1,5 +1,5 @@
// { dg-do assemble }
-// { dg-options "-Wno-deprecated -Wreturn-type" }
+// { dg-options "-Wno-deprecated -Wreturn-type -Wformat=0" }
// GROUPS passed i960
/*
Bug Id: bnr
--- a/gcc/testsuite/g++.old-deja/g++.mike/p710.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p710.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+/* { dg-options "-Wformat=0" } */
// GROUPS passed delete
/*
Bug Id:
--- a/gcc/testsuite/g++.old-deja/g++.mike/p789a.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p789a.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
// global and local multidimensional array objects are not getting
// constructors called on any dimension, other than the first. Also,
// the destructors are not being called. Seems odd, they probably
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
extern "C" int printf(const char *, ...);
class A_table {
--- a/gcc/testsuite/g++.old-deja/g++.mike/temp.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/temp.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
extern "C" int printf(const char *, ...);
extern "C" const char *getenv(const char *);
--- a/gcc/testsuite/g++.old-deja/g++.other/virtual8.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/virtual8.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
extern "C" int printf (const char*, ...);
struct A
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C
@@ -1,4 +1,5 @@
// { dg-do link }
+/* { dg-options "-Wformat=0" } */
// GROUPS passed templates membertemplates
extern "C" int printf(const char*, ...);
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C
@@ -1,4 +1,5 @@
// { dg-do link }
+/* { dg-options "-Wformat=0" } */
// GROUPS passed templates membertemplates
extern "C" int printf(const char*, ...);
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C
@@ -1,4 +1,5 @@
// { dg-do link }
+/* { dg-options "-Wformat=0" } */
// GROUPS passed templates membertemplates
extern "C" int printf(const char*, ...);
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C
@@ -1,4 +1,5 @@
// { dg-do link }
+/* { dg-options "-Wformat=0" } */
// GROUPS passed templates membertemplates
extern "C" int printf(const char*, ...);
--- a/gcc/testsuite/g++.old-deja/g++.pt/t39.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/t39.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
extern "C" int printf (const char *, ...);
template <class T>
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C
@@ -1,4 +1,5 @@
// { dg-do run }
+/* { dg-options "-Wformat=0" } */
#include <stdio.h>
class A {
--- a/gcc/testsuite/gcc.dg/charset/builtin2.c
+++ b/gcc/testsuite/gcc.dg/charset/builtin2.c
@@ -3,7 +3,7 @@
/* { dg-do compile } */
/* { dg-require-iconv "IBM1047" } */
-/* { dg-options "-O2 -fexec-charset=IBM1047" } */
+/* { dg-options "-O2 -fexec-charset=IBM1047 -Wformat=0" } */
/* { dg-final { scan-assembler-not "printf" } } */
/* { dg-final { scan-assembler-not "fprintf" } } */
/* { dg-final { scan-assembler-not "sprintf" } } */
--- a/gcc/testsuite/gcc.dg/format/opt-1.c
+++ b/gcc/testsuite/gcc.dg/format/opt-1.c
@@ -2,6 +2,6 @@
-Wformat. -Wformat-extra-args. */
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do compile } */
-/* { dg-options "-Wformat-extra-args" } */
+/* { dg-options "-Wformat=0 -Wformat-extra-args" } */
/* { dg-warning "-Wformat-extra-args ignored without -Wformat" "ignored" { target *-*-* } 0 } */
--- a/gcc/testsuite/gcc.dg/format/opt-2.c
+++ b/gcc/testsuite/gcc.dg/format/opt-2.c
@@ -2,6 +2,6 @@
-Wformat. -Wformat-nonliteral. */
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do compile } */
-/* { dg-options "-Wformat-nonliteral" } */
+/* { dg-options "-Wformat=0 -Wformat-nonliteral" } */
/* { dg-warning "-Wformat-nonliteral ignored without -Wformat" "ignored" { target *-*-* } 0 } */
--- a/gcc/testsuite/gcc.dg/format/opt-3.c
+++ b/gcc/testsuite/gcc.dg/format/opt-3.c
@@ -2,6 +2,6 @@
-Wformat. -Wformat-security. */
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do compile } */
-/* { dg-options "-Wformat-security" } */
+/* { dg-options "-Wformat=0 -Wformat-security" } */
/* { dg-warning "-Wformat-security ignored without -Wformat" "ignored" { target *-*-* } 0 } */
--- a/gcc/testsuite/gcc.dg/format/opt-4.c
+++ b/gcc/testsuite/gcc.dg/format/opt-4.c
@@ -2,6 +2,6 @@
-Wformat. -Wformat-y2k. */
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do compile } */
-/* { dg-options "-Wformat-y2k" } */
+/* { dg-options "-Wformat=0 -Wformat-y2k" } */
/* { dg-warning "-Wformat-y2k ignored without -Wformat" "ignored" { target *-*-* } 0 } */
--- a/gcc/testsuite/gcc.dg/format/opt-5.c
+++ b/gcc/testsuite/gcc.dg/format/opt-5.c
@@ -2,6 +2,6 @@
-Wformat. -Wformat-zero-length. */
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do compile } */
-/* { dg-options "-Wformat-zero-length" } */
+/* { dg-options "-Wformat=0 -Wformat-zero-length" } */
/* { dg-warning "-Wformat-zero-length ignored without -Wformat" "ignored" { target *-*-* } 0 } */
--- a/gcc/testsuite/gcc.dg/format/opt-6.c
+++ b/gcc/testsuite/gcc.dg/format/opt-6.c
@@ -2,6 +2,6 @@
-Wformat. -Wformat-contains-nul. */
/* Origin: Bruce Korb <bkorb@gnu.org> */
/* { dg-do compile } */
-/* { dg-options "-Wformat-contains-nul" } */
+/* { dg-options "-Wformat=0 -Wformat-contains-nul" } */
/* { dg-warning "-Wformat-contains-nul ignored without -Wformat" "ignored" { target *-*-* } 0 } */
--- a/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-details" } */
+/* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-details -Wformat=0" } */
struct bovid
{
--- a/gcc/testsuite/gcc.dg/matrix/matrix-2.c
+++ b/gcc/testsuite/gcc.dg/matrix/matrix-2.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-do run } */
-
+/* { dg-options "-Wformat=0" } */
#include <stdio.h>
#include <stdlib.h>
--- a/gcc/testsuite/gcc.dg/packed-vla.c
+++ b/gcc/testsuite/gcc.dg/packed-vla.c
@@ -1,6 +1,6 @@
/* PR middle-end/27945 */
/* { dg-do run } */
-/* { dg-options "" } */
+/* { dg-options "-Wformat=0" } */
extern int printf (const char *, ...);
extern void abort ();
--- a/gcc/testsuite/gcc.dg/pch/inline-4.c
+++ b/gcc/testsuite/gcc.dg/pch/inline-4.c
@@ -1,3 +1,5 @@
+/* { dg-options "-Wformat=0" } */
+
#include "inline-4.h"
extern int printf (const char *, ...);
int main(void) {
--- a/gcc/testsuite/gcc.dg/pr30473.c
+++ b/gcc/testsuite/gcc.dg/pr30473.c
@@ -1,7 +1,7 @@
/* PR middle-end/30473 */
/* Make sure this doesn't ICE. */
/* { dg-do compile } */
-/* { dg-options "-O2" } */
+/* { dg-options "-O2 -Wformat=0" } */
extern int sprintf (char *, const char *, ...);
--- a/gcc/testsuite/gcc.dg/pr38902.c
+++ b/gcc/testsuite/gcc.dg/pr38902.c
@@ -1,6 +1,6 @@
/* PR target/38902 */
/* { dg-do run } */
-/* { dg-options "-O2 -fstack-protector" } */
+/* { dg-options "-O2 -fstack-protector -Wformat=0" } */
/* { dg-require-effective-target fstack_protector } */
#ifdef DEBUG
1.1 src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-02-Wtrampolines.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-02-Wtrampolines.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-02-Wtrampolines.patch?rev=1.1&content-type=text/plain
Index: 99_all_testsuite-02-Wtrampolines.patch
===================================================================
Workaround testsuite failures caused by enabling -Wtrampolines by default.
gcc/testsuite/gcc.dg/20050607-1.c | 2 +-
gcc/testsuite/gcc.dg/debug/debug-3.c | 1 +
gcc/testsuite/gcc.dg/debug/debug-5.c | 1 +
gcc/testsuite/gcc.dg/nested-func-5.c | 2 +-
gcc/testsuite/gcc.dg/pr34457-1.c | 2 +-
gcc/testsuite/gcc.dg/torture/nested-fn-1.c | 2 +-
gcc/testsuite/gcc.dg/torture/stackalign/nested-5.c | 1 +
gcc/testsuite/gcc.dg/torture/stackalign/nested-6.c | 1 +
gcc/testsuite/gcc.dg/trampoline-1.c | 2 +-
9 files changed, 9 insertions(+), 5 deletions(-)
--- a/gcc/testsuite/gcc.dg/20050607-1.c
+++ b/gcc/testsuite/gcc.dg/20050607-1.c
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target trampolines } */
-/* { dg-options "-Wpadded" }
+/* { dg-options "-Wpadded -Wno-trampolines" }
/* The struct internally constructed for the nested function should
not result in a warning from -Wpadded. */
extern int baz(int (*) (int));
--- a/gcc/testsuite/gcc.dg/debug/debug-3.c
+++ b/gcc/testsuite/gcc.dg/debug/debug-3.c
@@ -2,6 +2,7 @@
(spanned 0 basic blocks) and DWARF-2 couldn't find baz origin. */
/* { dg-do compile } */
/* { dg-require-effective-target trampolines } */
+/* { dg-options "-Wno-trampolines" } */
struct A { char *a, *b, *c, *d; };
--- a/gcc/testsuite/gcc.dg/debug/debug-5.c
+++ b/gcc/testsuite/gcc.dg/debug/debug-5.c
@@ -2,6 +2,7 @@
(spanned 0 basic blocks) and DWARF-2 couldn't find baz origin. */
/* { dg-do compile } */
/* { dg-require-effective-target trampolines } */
+/* { dg-options "-Wno-trampolines" } */
extern void abort (void);
--- a/gcc/testsuite/gcc.dg/nested-func-5.c
+++ b/gcc/testsuite/gcc.dg/nested-func-5.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-fexceptions" } */
+/* { dg-options "-fexceptions -Wno-trampolines" } */
/* PR28516: ICE generating ARM unwind directives for nested functions. */
/* { dg-require-effective-target trampolines } */
--- a/gcc/testsuite/gcc.dg/pr34457-1.c
+++ b/gcc/testsuite/gcc.dg/pr34457-1.c
@@ -1,7 +1,7 @@
/* PR c/34457 */
/* { dg-do compile } */
/* { dg-require-effective-target trampolines } */
-/* { dg-options "--combine -O2" } */
+/* { dg-options "--combine -O2 -Wno-trampolines" } */
/* { dg-additional-sources "pr34457-2.c" } */
--- a/gcc/testsuite/gcc.dg/torture/nested-fn-1.c
+++ b/gcc/testsuite/gcc.dg/torture/nested-fn-1.c
@@ -1,7 +1,7 @@
/* PR middle-end/15345, c/16450 */
/* Test whether unused nested functions aren't emitted into the assembly. */
/* { dg-do compile } */
-/* { dg-options "-g0" } */
+/* { dg-options "-g0 -Wno-trampolines" } */
/* { dg-require-effective-target trampolines } */
int
--- a/gcc/testsuite/gcc.dg/torture/stackalign/nested-5.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/nested-5.c
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-options "-Wno-trampolines" } */
extern void abort (void);
extern void exit (int);
--- a/gcc/testsuite/gcc.dg/torture/stackalign/nested-6.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/nested-6.c
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-options "-Wno-trampolines" } */
#ifndef NO_TRAMPOLINES
--- a/gcc/testsuite/gcc.dg/trampoline-1.c
+++ b/gcc/testsuite/gcc.dg/trampoline-1.c
@@ -3,7 +3,7 @@
/* { dg-do run } */
/* { dg-require-effective-target trampolines } */
-/* { dg-options "-O2" } */
+/* { dg-options "-O2 -Wno-trampolines" } */
#ifndef NO_TRAMPOLINES
1.1 src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-03-check-lto.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-03-check-lto.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/99_all_testsuite-03-check-lto.patch?rev=1.1&content-type=text/plain
Index: 99_all_testsuite-03-check-lto.patch
===================================================================
Backport from 4.6.0.
http://gcc.gnu.org/PR45638
http://gcc.gnu.org/viewcvs?view=revision&revision=165638
make[3]: [check-parallel-g++] Error 1 (ignored)
make[3]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.5.2/work/build/gcc'
make[2]: *** No rule to make target `check-lto', needed by `check'.
make[2]: Target `check' not remade because of errors.
make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.5.2/work/build/gcc'
make[1]: *** [check-gcc] Error 2
--- a/gcc/lto/Make-lang.in
+++ b/gcc/lto/Make-lang.in
@@ -94,3 +94,6 @@ lto/lto-coff.o: lto/lto-coff.c $(CONFIG_H) coretypes.h $(SYSTEM_H) \
lto/lto-macho.o: lto/lto-macho.c $(CONFIG_H) coretypes.h $(SYSTEM_H) \
toplev.h $(LTO_H) $(TM_H) $(LIBIBERTY_H) $(GGC_H) $(LTO_STREAMER_H) \
lto/lto-macho.h lto/lto-endian.h
+
+# LTO testing is done as part of C/C++/Fortran etc. testing.
+check-lto:
1.1 src/patchsets/gcc/4.5.4/gentoo/README.history
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/README.history?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.5.4/gentoo/README.history?rev=1.1&content-type=text/plain
Index: README.history
===================================================================
1.0 (pending)
+ 00_all_gcc-4.1-alpha-mieee-default.patch
+ 01_all_gcc-4.1-alpha-asm-mcpu.patch
+ 03_all_gcc43-java-nomulti.patch
+ 08_all_gcc-4.1-cross-compile.patch
+ 09_all_gcc-4.5-Wtrampolines.patch
+ 10_all_gcc-default-format-security.patch
+ 10_all_gcc-default-fortify-source.patch
+ 11_all_gcc-netbsd-symbolic.patch
+ 14_all_gcc-sparc64-bsd.patch
+ 15_all_gcc-libgomp-no-werror.patch
+ 22_all_4.6_pr45094_arm-dword-move.patch
+ 23_all_4.6_pr45886_ARM_PCS_VFP.patch
+ 30_all_gcc-4.5-ppc-msingle-pic-base.patch
+ 31_all_gcc-4.4-ppc-fpic-mrelocatable.patch
+ 33_all_armhf.patch
+ 40_all_gcc-4.4-libiberty.h-asprintf.patch
+ 47_all_arm-unbreak-armv4t.patch
+ 51_all_gcc-3.4-libiberty-pic.patch
+ 53_all_gcc4-superh-default-multilib.patch
+ 61_all_gcc4-ia64-noteGNUstack.patch
+ 74_all_sh-pr24836.patch
+ 92_all_freebsd-pie.patch
+ 93_all_gcc-4.5-cloog-dl.patch
+ 94_all_gcc-4.5-pch-nostdinc.patch
+ 95_all_arm-pr43440.patch
+ 99_all_testsuite-01-Wformat.patch
+ 99_all_testsuite-02-Wtrampolines.patch
+ 99_all_testsuite-03-check-lto.patch
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-07-15 5:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-15 5:28 [gentoo-commits] gentoo commit in src/patchsets/gcc/4.5.4/gentoo: 00_all_gcc-4.1-alpha-mieee-default.patch 01_all_gcc-4.1-alpha-asm-mcpu.patch 03_all_gcc43-java-nomulti.patch 08_all_gcc-4.1-cross-compile.patch 09_all_gcc-4.5-Wtrampolines.patch 10_all_gcc-default-format-security.patch 10_all_gcc-default-fortify-source.patch 11_all_gcc-netbsd-symbolic.patch 14_all_gcc-sparc64-bsd.patch 15_all_gcc-libgomp-no-werror.patch 22_all_4.6_pr45094_arm-dword-move.patch 23_all_4.6_pr45886_ARM_PCS_VFP.patch 30_all_gcc-4.5-ppc-msingle-pic-base.patch 31_all_gcc-4.4-ppc-fpic-mrelocatable.patch 33_all_armhf.patch 40_all_gcc-4.4-libiberty.h-asprintf.patch 47_all_arm-unbreak-armv4t.patch 51_all_gcc-3.4-libiberty-pic.patch 53_all_gcc4-superh-default-multilib.patch 61_all_gcc4-ia64-noteGNUstack.patch 74_all_sh-pr24836.patch 92_all_freebsd-pie.patch 93_all_gcc-4.5-cloog-dl.patch 94_all_gcc-4.5-pch-nostdinc.patch 95_all_arm-pr43440.patch 99_all_testsuite-01-Wformat.patch 99_all_testsuite-02 -Wtrampolines.pat ch 99_all_testsuite-03-check-lto.patch README.history Ryan Hill (dirtyepic)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox