public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo commit in src/patchsets/gcc/4.6.0/gentoo: 03_all_java-nomulti.patch 08_all_cross-compile.patch 10_all_default-fortify-source.patch 11_all_default-warn-format-security.patch 12_all_default-warn-trampolines.patch 15_all_libgomp-Werror.patch 25_all_alpha-mieee-default.patch 26_all_alpha-asm-mcpu.patch 29_all_arm_armv4t-default.patch 34_all_ia64_note.GNU-stack.patch 38_all_sh_pr24836_all-archs.patch 42_all_superh_default-multilib.patch 46_all_sparc64-freebsd.patch 50_all_libiberty-asprintf.patch 51_all_libiberty-pic.patch 52_all_netbsd-Bsymbolic.patch 74_all_gcc46_cloog-dl.patch README.history
@ 2011-04-01  5:20 Ryan Hill (dirtyepic)
  0 siblings, 0 replies; only message in thread
From: Ryan Hill (dirtyepic) @ 2011-04-01  5:20 UTC (permalink / raw
  To: gentoo-commits

dirtyepic    11/04/01 05:20:12

  Added:                03_all_java-nomulti.patch
                        08_all_cross-compile.patch
                        10_all_default-fortify-source.patch
                        11_all_default-warn-format-security.patch
                        12_all_default-warn-trampolines.patch
                        15_all_libgomp-Werror.patch
                        25_all_alpha-mieee-default.patch
                        26_all_alpha-asm-mcpu.patch
                        29_all_arm_armv4t-default.patch
                        34_all_ia64_note.GNU-stack.patch
                        38_all_sh_pr24836_all-archs.patch
                        42_all_superh_default-multilib.patch
                        46_all_sparc64-freebsd.patch
                        50_all_libiberty-asprintf.patch
                        51_all_libiberty-pic.patch
                        52_all_netbsd-Bsymbolic.patch
                        74_all_gcc46_cloog-dl.patch README.history
  Log:
  Initial 4.6.0 patchset based on latest 4.5.2.

Revision  Changes    Path
1.1                  src/patchsets/gcc/4.6.0/gentoo/03_all_java-nomulti.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/03_all_java-nomulti.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/03_all_java-nomulti.patch?rev=1.1&content-type=text/plain

Index: 03_all_java-nomulti.patch
===================================================================
--- a/libjava/configure
+++ b/libjava/configure
@@ -1618,6 +1618,8 @@ Optional Features:
                           default=yes
   --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
@@ -3361,6 +3363,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.
 
 
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -139,6 +139,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
 



1.1                  src/patchsets/gcc/4.6.0/gentoo/08_all_cross-compile.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/08_all_cross-compile.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/08_all_cross-compile.patch?rev=1.1&content-type=text/plain

Index: 08_all_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

--- a/gcc/configure
+++ b/gcc/configure
@@ -11354,7 +11354,7 @@ then
 		*)
 			;;
 	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
 
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1759,7 +1759,7 @@ then
 		*)
 			;;
 	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
 
--- a/gcc/unwind-dw2.c
+++ b/gcc/unwind-dw2.c
@@ -329,9 +329,11 @@ _Unwind_GetTextRelBase (struct _Unwind_Context *context)
 }
 #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,



1.1                  src/patchsets/gcc/4.6.0/gentoo/10_all_default-fortify-source.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/10_all_default-fortify-source.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/10_all_default-fortify-source.patch?rev=1.1&content-type=text/plain

Index: 10_all_default-fortify-source.patch
===================================================================
Enable -D_FORTIFY_SOURCE=2 by default at -O2 and higher.


--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -5983,6 +5983,11 @@ also turns on the following optimization flags:
 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
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -741,6 +741,7 @@ static const char *cpp_unique_options =
  %{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.6.0/gentoo/11_all_default-warn-format-security.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/11_all_default-warn-format-security.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/11_all_default-warn-format-security.patch?rev=1.1&content-type=text/plain

Index: 11_all_default-warn-format-security.patch
===================================================================
Enable -Wformat and -Wformat-security by default.


--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -201,7 +201,7 @@ int warn_unknown_pragmas; /* Tri state variable.  */
 /* Warn about format/argument anomalies in calls to formatted I/O functions
    (*printf, *scanf, strftime, strfmon, etc.).  */
 
-int warn_format;
+int warn_format = 1;
 
 /* C/ObjC language option variables.  */
 
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -384,7 +384,7 @@ C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning
 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
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -3111,6 +3111,9 @@ aspects of format checking, the options @option{-Wformat-y2k},
 @option{-Wformat-nonliteral}, @option{-Wformat-security}, and
 @option{-Wformat=2} are available, but are not included in @option{-Wall}.
 
+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
@@ -3164,6 +3167,11 @@ currently a subset of what @option{-Wformat-nonliteral} warns about, but
 in future warnings may be added to @option{-Wformat-security} that are not
 included in @option{-Wformat-nonliteral}.)
 
+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.6.0/gentoo/12_all_default-warn-trampolines.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/12_all_default-warn-trampolines.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/12_all_default-warn-trampolines.patch?rev=1.1&content-type=text/plain

Index: 12_all_default-warn-trampolines.patch
===================================================================
Enable -Wtrampolines by default.


--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -611,7 +611,7 @@ Common Var(warn_system_headers) Warning
 Do not suppress warnings from system headers
 
 Wtrampolines
-Common Var(warn_trampolines) Warning
+Common Var(warn_trampolines) Init(1) Warning
 Warn whenever a trampoline is generated
 
 Wtype-limits
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -3766,6 +3766,8 @@ headers---for that, @option{-Wunknown-pragmas} must also be used.
 @opindex Wno-trampolines
  Warn about trampolines generated for pointers to nested functions.
  
+ In Gentoo, @option{-Wtrampolines} is enabled by default.
+ 
  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



1.1                  src/patchsets/gcc/4.6.0/gentoo/15_all_libgomp-Werror.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/15_all_libgomp-Werror.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/15_all_libgomp-Werror.patch?rev=1.1&content-type=text/plain

Index: 15_all_libgomp-Werror.patch
===================================================================
libgomp does not respect --disable-werror

https://bugs.gentoo.org/229059
http://gcc.gnu.org/PR38436

--- a/libgomp/configure
+++ b/libgomp/configure
@@ -4284,7 +4284,7 @@ save_CFLAGS="$CFLAGS"
 
 # Add -Wall -Werror if we are using GCC.
 if test "x$GCC" = "xyes"; then
-  XCFLAGS="$XCFLAGS -Wall -Werror"
+  XCFLAGS="$XCFLAGS -Wall"
 fi
 
 # Find other programs we need.



1.1                  src/patchsets/gcc/4.6.0/gentoo/25_all_alpha-mieee-default.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/25_all_alpha-mieee-default.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/25_all_alpha-mieee-default.patch?rev=1.1&content-type=text/plain

Index: 25_all_alpha-mieee-default.patch
===================================================================
Set the default behavior on alpha to use -mieee since the large majority of
time we want this (bad/weird things can happen with packages built without
it).

To satisfy those people who may not want -mieee forced on them all the time,
we also provide -mno-ieee.

Patch by Mike Frysinger <vapier@gentoo.org>

--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -96,6 +96,8 @@ along with GCC; see the file COPYING3.  If not see
   while (0)
 #endif
 
+#define CPP_SPEC "%{!no-ieee:-mieee}"
+
 /* Print subsidiary information on the compiler version in use.  */
 #define TARGET_VERSION
 
--- a/gcc/config/alpha/alpha.opt
+++ b/gcc/config/alpha/alpha.opt
@@ -39,7 +39,7 @@ Target RejectNegative Mask(IEEE_CONFORMANT)
 Request IEEE-conformant math library routines (OSF/1)
 
 mieee
-Target Report RejectNegative Mask(IEEE)
+Target Report Mask(IEEE)
 Emit IEEE-conformant code, without inexact exceptions
 
 mieee-with-inexact



1.1                  src/patchsets/gcc/4.6.0/gentoo/26_all_alpha-asm-mcpu.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/26_all_alpha-asm-mcpu.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/26_all_alpha-asm-mcpu.patch?rev=1.1&content-type=text/plain

Index: 26_all_alpha-asm-mcpu.patch
===================================================================
https://bugs.gentoo.org/170146
http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00403.html

alpha: turn -mcpu=<cpu> into -m<cpu> for assembler all the time

--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3.  If not see
 #define CC1_SPEC  "%{G*}"
 
 #undef  ASM_SPEC
-#define ASM_SPEC  "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug}"
+#define ASM_SPEC  "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug} %{mcpu=*:-m%*}"
 
 #undef  IDENT_ASM_OP
 #define IDENT_ASM_OP "\t.ident\t"



1.1                  src/patchsets/gcc/4.6.0/gentoo/29_all_arm_armv4t-default.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/29_all_arm_armv4t-default.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/29_all_arm_armv4t-default.patch?rev=1.1&content-type=text/plain

Index: 29_all_arm_armv4t-default.patch
===================================================================
gcc defaults to armv5t for all targets even armv4t

http://sourceware.org/ml/crossgcc/2008-05/msg00009.html


--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -45,7 +45,7 @@
    The ARM10TDMI core is the default for armv5t, so set
    SUBTARGET_CPU_DEFAULT to achieve this.  */
 #undef  SUBTARGET_CPU_DEFAULT
-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
 
 /* TARGET_BIG_ENDIAN_DEFAULT is set in
    config.gcc for big endian configurations.  */



1.1                  src/patchsets/gcc/4.6.0/gentoo/34_all_ia64_note.GNU-stack.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/34_all_ia64_note.GNU-stack.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/34_all_ia64_note.GNU-stack.patch?rev=1.1&content-type=text/plain

Index: 34_all_ia64_note.GNU-stack.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.


--- a/gcc/config/ia64/crtbegin.asm
+++ b/gcc/config/ia64/crtbegin.asm
@@ -252,3 +252,7 @@ __do_jv_register_classes:
 .weak __cxa_finalize
 #endif
 .weak _Jv_RegisterClasses
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- a/gcc/config/ia64/crtend.asm
+++ b/gcc/config/ia64/crtend.asm
@@ -119,3 +119,7 @@ __do_global_ctors_aux:
 
 	br.ret.sptk.many rp
 	.endp __do_global_ctors_aux
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- a/gcc/config/ia64/crti.asm
+++ b/gcc/config/ia64/crti.asm
@@ -51,3 +51,7 @@ _fini:
 	.body
 
 # end of crti.asm
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- a/gcc/config/ia64/crtn.asm
+++ b/gcc/config/ia64/crtn.asm
@@ -41,3 +41,7 @@
 	br.ret.sptk.many b0
 
 # end of crtn.asm
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- a/gcc/config/ia64/lib1funcs.asm
+++ b/gcc/config/ia64/lib1funcs.asm
@@ -793,3 +793,7 @@ __floattitf:
 	.endp __floattitf
 #endif
 #endif
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -29,6 +29,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #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*}"
--- a/gcc/config/rs6000/ppc-asm.h
+++ b/gcc/config/rs6000/ppc-asm.h
@@ -352,7 +352,7 @@ GLUE(.L,name): \
 #endif
 #endif
 
-#if defined __linux__ && !defined __powerpc64__
+#if defined __linux__
 	.section .note.GNU-stack
 	.previous
 #endif



1.1                  src/patchsets/gcc/4.6.0/gentoo/38_all_sh_pr24836_all-archs.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/38_all_sh_pr24836_all-archs.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/38_all_sh_pr24836_all-archs.patch?rev=1.1&content-type=text/plain

Index: 38_all_sh_pr24836_all-archs.patch
===================================================================
gcc/configure doesn't handle all possible SH architectures

http://gcc.gnu.org/PR24836


--- a/gcc/configure
+++ b/gcc/configure
@@ -22753,7 +22753,7 @@ foo:	.long	25
 	tls_first_minor=14
 	tls_as_opt="-m64 -Aesame --fatal-warnings"
 	;;
-  sh-*-* | sh[34]-*-*)
+  sh-*-* | sh[34]*-*-*)
     conftest_s='
 	.section ".tdata","awT",@progbits
 foo:	.long	25
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2924,7 +2924,7 @@ foo:	.long	25
 	tls_first_minor=14
 	tls_as_opt="-m64 -Aesame --fatal-warnings"
 	;;
-  sh-*-* | sh[34]-*-*)
+  sh-*-* | sh[34]*-*-*)
     conftest_s='
 	.section ".tdata","awT",@progbits
 foo:	.long	25



1.1                  src/patchsets/gcc/4.6.0/gentoo/42_all_superh_default-multilib.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/42_all_superh_default-multilib.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/42_all_superh_default-multilib.patch?rev=1.1&content-type=text/plain

Index: 42_all_superh_default-multilib.patch
===================================================================
The gcc-3.x toolchains would contain all the targets by default.  With gcc-4,
you have to actually list out the multilibs you want or you will end up with
just one when using targets like 'sh4-linux-gnu'.

The resulting toolchain can't even build a kernel as the kernel needs to build
with the nofpu flag to be sure that no fpu ops are generated.

Here we restore the gcc-3.x behavior; the additional overhead of building all
of these multilibs by default is negligible.

https://bugs.gentoo.org/140205
https://bugs.gentoo.org/320251

--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2455,7 +2455,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
 	if test "$sh_multilibs" = "default" ; then
 		case ${target} in
 		sh64-superh-linux* | \
-		sh[1234]*)	sh_multilibs=${sh_cpu_target} ;;
+		sh[1234]*)	sh_multilibs=$(echo $(sed -n '/^[[:space:]]*case ${sh_multilib} in/,/)/{s:case ${sh_multilib} in::;s: | *:,:g;s:[\\)]::g;p}' ${srcdir}/config.gcc) | sed 's: ::g') ;;
 		sh64* | sh5*)	sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
 		sh-superh-*)	sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
 		sh*-*-linux*)	sh_multilibs=m1,m3e,m4 ;;



1.1                  src/patchsets/gcc/4.6.0/gentoo/46_all_sparc64-freebsd.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/46_all_sparc64-freebsd.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/46_all_sparc64-freebsd.patch?rev=1.1&content-type=text/plain

Index: 46_all_sparc64-freebsd.patch
===================================================================
--- a/gcc/config/sparc/freebsd.h
+++ b/gcc/config/sparc/freebsd.h
@@ -26,9 +26,22 @@ along with GCC; see the file COPYING3.  If not see
 /* 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)
+
 
 #undef ASM_SPEC
 #define ASM_SPEC "%{fpic|fPIC|fpie|fPIE:-K PIC} %(asm_cpu)"



1.1                  src/patchsets/gcc/4.6.0/gentoo/50_all_libiberty-asprintf.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/50_all_libiberty-asprintf.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/50_all_libiberty-asprintf.patch?rev=1.1&content-type=text/plain

Index: 50_all_libiberty-asprintf.patch
===================================================================
2008-07-25  Magnus Granberg  <zorry@ume.nu>

    * include/libiberty.h (asprintf): Don't declare if defined as a macro

--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -609,8 +609,11 @@ extern int pwait (int, int *, int);
 /* Like sprintf but provides a pointer to malloc'd storage, which must
    be freed by the caller.  */
 
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL.  */
+#ifndef asprintf
 extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
 #endif
+#endif
 
 #if !HAVE_DECL_VASPRINTF
 /* Like vsprintf but provides a pointer to malloc'd storage, which



1.1                  src/patchsets/gcc/4.6.0/gentoo/51_all_libiberty-pic.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/51_all_libiberty-pic.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/51_all_libiberty-pic.patch?rev=1.1&content-type=text/plain

Index: 51_all_libiberty-pic.patch
===================================================================
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -246,6 +246,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
 	  $(AR) $(AR_FLAGS) $(TARGETLIB) \
 	    $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
 	  $(RANLIB) $(TARGETLIB); \
+	  cp $(TARGETLIB) ../ ; \
 	  cd ..; \
 	else true; fi
 



1.1                  src/patchsets/gcc/4.6.0/gentoo/52_all_netbsd-Bsymbolic.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/52_all_netbsd-Bsymbolic.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/52_all_netbsd-Bsymbolic.patch?rev=1.1&content-type=text/plain

Index: 52_all_netbsd-Bsymbolic.patch
===================================================================
https://bugs.gentoo.org/122698

--- a/gcc/config/netbsd-elf.h
+++ b/gcc/config/netbsd-elf.h
@@ -70,6 +70,7 @@ along with GCC; see the file COPYING3.  If not see
 #define NETBSD_LINK_SPEC_ELF \
   "%{assert*} %{R*} %{rpath*} \
    %{shared:-shared} \
+   %{symbolic:-Bsymbolic} \
    %{!shared: \
      -dc -dp \
      %{!nostdlib: \



1.1                  src/patchsets/gcc/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/74_all_gcc46_cloog-dl.patch?rev=1.1&content-type=text/plain

Index: 74_all_gcc46_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).

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
@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plugin-common.h $(CONFIG_H) $(SYSTEM_H) \
 PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
 PLUGIN_VERSION_H = plugin-version.h configargs.h
 LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
+GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
+GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
 
 #\f
 # Now figure out from those variables how to compile and link.
@@ -1037,7 +1039,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)
 # Any system libraries needed just for GNAT.
 SYSLIBS = @GNAT_LIBEXC@
@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \
    $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
 graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
    $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
-   $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
+   $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
    graphite-clast-to-gimple.h graphite-sese-to-poly.h
 graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
    coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-   sese.h graphite-ppl.h graphite-poly.h
+   sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
 graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
    $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
-   $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
-   graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
+   $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
+   graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
    graphite-dependences.h graphite-cloog-compat.h
 graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
-   coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
+   coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
 graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
    coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-   sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h \
-   graphite-cloog-util.h
+   sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h \
+   $(GRAPHITE_CLOOG_UTIL_H)
 graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H)	\
    coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-   sese.h graphite-ppl.h graphite-poly.h
+   sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
 graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
    coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
-   sese.h graphite-ppl.h graphite-poly.h
+   sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
 graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
    $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
-   $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
-   graphite-dependences.h graphite-cloog-util.h
+   $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
+   graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
 graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-   graphite-cloog-util.h graphite-ppl.h
+   $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
 graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
    coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
-   sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
+   sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
 graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
    $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
-   $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
+   $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
    graphite-sese-to-poly.h
 tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
    $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
@@ -3482,6 +3484,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
 CLOOGINC
 CLOOGLIBS
 PPLINC
@@ -17505,7 +17506,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17508 "configure"
+#line 17509 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17611,7 +17612,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17614 "configure"
+#line 17615 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -26284,6 +26285,7 @@ $as_echo "unable to check" >&6; }
   fi
 
   # Check -ldl
+  DL_LIB=
   saved_LIBS="$LIBS"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
 $as_echo_n "checking for library containing dlopen... " >&6; }
@@ -26343,7 +26345,9 @@ fi
 
   if test x"$ac_cv_search_dlopen" = x"-ldl"; then
     pluginlibs="$pluginlibs -ldl"
+	DL_LIB=$ac_cv_search_dlopen
   fi
+
   LIBS="$saved_LIBS"
 
   # Check that we can build shared objects with -fPIC -shared
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -4841,11 +4841,14 @@ if test x"$enable_plugin" = x"yes"; then
   fi
 
   # Check -ldl
+  DL_LIB=
   saved_LIBS="$LIBS"
   AC_SEARCH_LIBS([dlopen], [dl])
   if test x"$ac_cv_search_dlopen" = x"-ldl"; then
     pluginlibs="$pluginlibs -ldl"
+	DL_LIB=$ac_cv_search_dlopen
   fi
+  AC_SUBST(DL_LIB)
   LIBS="$saved_LIBS"
 
   # Check that we can build shared objects with -fPIC -shared
--- a/gcc/graphite-clast-to-gimple.c
+++ b/gcc/graphite-clast-to-gimple.c
@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stmt *stmt)
    from STMT_FOR.  */
 
 static tree
-gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
 			       tree lb_type, tree ub_type)
 {
-  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);
   CloogStatement *cs = body->statement;
   poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
--- a/gcc/graphite-cloog-compat.h
+++ b/gcc/graphite-cloog-compat.h
@@ -272,4 +272,263 @@ static inline int cloog_matrix_nrows (CloogMatrix * m)
    return m->NbRows;
 }
 #endif /* CLOOG_ORG  */
+
+#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); \
+  DYNSYM (ppl_delete_Constraint_System); \
+  DYNSYM (ppl_initialize); \
+  DYNSYM (ppl_new_Constraint_System_from_Constraint); \
+  DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
+  DYNSYM (ppl_Polyhedron_affine_image); \
+  DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron);
+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)
+#ifndef CLOOG_ORG
+#undef cloog_loop_malloc
+#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
+#else
+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
+#endif
+#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)
+#ifndef CLOOG_ORG
+#undef cloog_options_malloc
+#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
+#undef cloog_program_dump_cloog
+#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
+  (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
+#undef cloog_program_extract_scalars
+#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
+  (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
+#else
+#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)
+#endif
+#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)
+#ifndef CLOOG_ORG
+#undef cloog_program_scatter
+#define cloog_program_scatter(PROG, SCATT, OPT) \
+  (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
+#undef cloog_statement_alloc
+#define cloog_statement_alloc(STATE, INDEX) \
+  (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
+#else
+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
+#endif
+#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 ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
+#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
+#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
+#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
+#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
+#define ppl_io_fprint_Pointset_Powerset_C_Polyhedron (cloog_pointers__.p_ppl_io_fprint_Pointset_Powerset_C_Polyhedron)
+
+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
+
+
 #endif /* GRAPHITE_CLOOG_COMPAT_H  */
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_GRAPHITE_POLY_H
 #define GCC_GRAPHITE_POLY_H
 
+#include "graphite-cloog-util.h"
+
 typedef struct poly_dr *poly_dr_p;
 DEF_VEC_P(poly_dr_p);
 DEF_VEC_ALLOC_P (poly_dr_p, heap);
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -56,6 +56,35 @@ along with GCC; see the file COPYING3.  If not see
 
 CloogState *cloog_state;
 
+__typeof (cloog_pointers__) cloog_pointers__;
+
+static bool
+init_cloog_pointers (void)
+{
+  void *h;
+
+  if (cloog_pointers__.inited)
+    return cloog_pointers__.h != NULL;
+  h = dlopen ("libcloog.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
@@ -201,6 +230,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 ();



1.1                  src/patchsets/gcc/4.6.0/gentoo/README.history

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/README.history?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/README.history?rev=1.1&content-type=text/plain

Index: README.history
===================================================================
1.0		pending
	+ 03_all_java-nomulti.patch
	+ 08_all_cross-compile.patch
	+ 10_all_default-fortify-source.patch
	+ 11_all_default-warn-format-security.patch
	+ 12_all_default-warn-trampolines.patch
	+ 15_all_libgomp-Werror.patch
	+ 25_all_alpha-mieee-default.patch
	+ 26_all_alpha-asm-mcpu.patch
	+ 29_all_arm_armv4t-default.patch
	+ 34_all_ia64_note.GNU-stack.patch
	+ 38_all_sh_pr24836_all-archs.patch
	+ 42_all_superh_default-multilib.patch
	+ 46_all_sparc64-freebsd.patch
	+ 50_all_libiberty-asprintf.patch
	+ 51_all_libiberty-pic.patch
	+ 52_all_netbsd-Bsymbolic.patch
	+ 74_all_gcc46_cloog-dl.patch






^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-04-01  5:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-01  5:20 [gentoo-commits] gentoo commit in src/patchsets/gcc/4.6.0/gentoo: 03_all_java-nomulti.patch 08_all_cross-compile.patch 10_all_default-fortify-source.patch 11_all_default-warn-format-security.patch 12_all_default-warn-trampolines.patch 15_all_libgomp-Werror.patch 25_all_alpha-mieee-default.patch 26_all_alpha-asm-mcpu.patch 29_all_arm_armv4t-default.patch 34_all_ia64_note.GNU-stack.patch 38_all_sh_pr24836_all-archs.patch 42_all_superh_default-multilib.patch 46_all_sparc64-freebsd.patch 50_all_libiberty-asprintf.patch 51_all_libiberty-pic.patch 52_all_netbsd-Bsymbolic.patch 74_all_gcc46_cloog-dl.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