summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gcc-apple/files/gcc-apple-4.0.1_p5465-default-altivec.patch38
-rw-r--r--sys-devel/gcc-apple/files/gcc-apple-4.2.1-dsymutil.patch20
-rw-r--r--sys-devel/gcc-apple/files/gcc-apple-4.2.1-gfortran.patch137
-rw-r--r--sys-devel/gcc-apple/files/gcc-apple-4.2.1-inline-asm.patch24
-rw-r--r--sys-devel/gcc-apple/files/gcc-apple-4.2.1-prefix-search-dirs.patch27
-rw-r--r--sys-devel/gcc-apple/files/gcc-apple-4.2.1-texinfo.patch33
-rw-r--r--sys-devel/gcc-apple/files/gcc-apple-4.2.1_p5566-x86_64-defines.patch25
-rw-r--r--sys-devel/gcc-apple/files/libstdc++-16.patch11
-rw-r--r--sys-devel/gcc-apple/metadata.xml2
9 files changed, 316 insertions, 1 deletions
diff --git a/sys-devel/gcc-apple/files/gcc-apple-4.0.1_p5465-default-altivec.patch b/sys-devel/gcc-apple/files/gcc-apple-4.0.1_p5465-default-altivec.patch
new file mode 100644
index 000000000000..e7b0bbbf8078
--- /dev/null
+++ b/sys-devel/gcc-apple/files/gcc-apple-4.0.1_p5465-default-altivec.patch
@@ -0,0 +1,38 @@
+* reverse patch to gain 10.4 behaviour for AltiVec.
+
+--- gcc/config/rs6000/rs6000-c.c
++++ gcc/config/rs6000/rs6000-c.c
+@@ -245,22 +245,22 @@
+ builtin_define ("__bool=__attribute__((altivec(bool__))) unsigned");
+
+ /* APPLE LOCAL begin AltiVec */
++ builtin_define ("vector=vector");
++ builtin_define ("pixel=pixel");
++ builtin_define ("_Bool=_Bool");
++ builtin_define ("bool=bool");
++ init_vector_keywords (pfile);
++
++ /* Indicate that the compiler supports Apple AltiVec syntax,
++ including context-sensitive keywords. */
+ if (rs6000_altivec_pim)
+ {
+- builtin_define ("vector=vector");
+- builtin_define ("pixel=pixel");
+- builtin_define ("_Bool=_Bool");
+- builtin_define ("bool=bool");
+- init_vector_keywords (pfile);
+-
+- /* Indicate that the compiler supports Apple AltiVec syntax,
+- including context-sensitive keywords. */
+ builtin_define ("__APPLE_ALTIVEC__");
+ builtin_define ("vec_step(T)=(sizeof (__typeof__(T)) / sizeof (__typeof__(T) __attribute__((altivec(element__)))))");
+-
+- /* Enable context-sensitive macros. */
+- cpp_get_callbacks (pfile)->macro_to_expand = rs6000_macro_to_expand;
+ }
++
++ /* Enable context-sensitive macros. */
++ cpp_get_callbacks (pfile)->macro_to_expand = rs6000_macro_to_expand;
+ /* APPLE LOCAL end AltiVec */
+ }
+ if (TARGET_SPE)
diff --git a/sys-devel/gcc-apple/files/gcc-apple-4.2.1-dsymutil.patch b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-dsymutil.patch
new file mode 100644
index 000000000000..8da025d8c5d0
--- /dev/null
+++ b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-dsymutil.patch
@@ -0,0 +1,20 @@
+Revert of dsymutil part of
+http://gcc.gnu.org/ml/gcc-patches/2006-09/msg00057.html
+See http://article.gmane.org/gmane.linux.gentoo.alt/4327
+
+--- gcc/config/darwin.h
++++ gcc/config/darwin.h
+@@ -326,12 +326,7 @@
+ "/* APPLE LOCAL nested functions 4357979 */"\
+ %{fnested-functions: -allow_stack_execute} \
+ %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %G %L}} \
+-"/* APPLE LOCAL begin mainline 4.3 2006-10-31 4370146 */"\
+- %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}}\n\
+-%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
+-"/* APPLE LOCAL end mainline 4.3 2006-10-31 4370146 */"\
+- %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \
+- %{g*:%{!gstabs*:%{!g0: dsymutil %{o*:%*}%{!o:a.out}}}}}}}}}}}}"
++ %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}}"
+ /* APPLE LOCAL end mainline */
+
+ #ifdef TARGET_SYSTEM_ROOT
diff --git a/sys-devel/gcc-apple/files/gcc-apple-4.2.1-gfortran.patch b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-gfortran.patch
new file mode 100644
index 000000000000..b5f2cc544c96
--- /dev/null
+++ b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-gfortran.patch
@@ -0,0 +1,137 @@
+diff -Nru gcc_42-5564/build_gcc gcc_42-5564.mod/build_gcc
+--- gcc_42-5564/build_gcc 2008-04-15 20:25:12.000000000 -0400
++++ gcc_42-5564.mod/build_gcc 2008-08-29 17:25:03.000000000 -0400
+@@ -112,7 +112,7 @@
+ CONFIGFLAGS="--disable-checking --enable-werror \
+ --prefix=$DEST_ROOT \
+ --mandir=\${prefix}/share/man \
+- --enable-languages=c,objc,c++,obj-c++ \
++ --enable-languages=c,objc,c++,obj-c++,fortran \
+ --program-transform-name=/^[cg][^.-]*$/s/$/-$MAJ_VERS/ \
+ --with-gxx-include-dir=\${prefix}/include/c++/$LIBSTDCXX_VERSION \
+ --with-slibdir=/usr/lib \
+@@ -326,6 +326,8 @@
+ $DIR/dst-*-$t$DEST_ROOT/bin/$t-apple-darwin$DARWIN_VERS-gcc-$VERS || exit 1
+ lipo -output .$DEST_ROOT/bin/$t-apple-darwin$DARWIN_VERS-g++-$VERS -create \
+ $DIR/dst-*-$t$DEST_ROOT/bin/$t-apple-darwin$DARWIN_VERS-g++* || exit 1
++ lipo -output .$DEST_ROOT/bin/$t-apple-darwin$DARWIN_VERS-gfortran-$VERS -create \
++ $DIR/dst-*-$t$DEST_ROOT/bin/$t-apple-darwin$DARWIN_VERS-gfortran* || exit 1
+ done
+
+ # lib
+@@ -348,16 +350,22 @@
+ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ || exit 1
+ cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/libgomp.spec \
+ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ || exit 1
++ cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/libgfortran.a \
++ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ || exit 1
+ if [ $h = 'powerpc' ] ; then
+ cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/ppc64/libgomp.a \
+ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ppc64/ || exit 1
+ cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/ppc64/libgomp.spec \
+ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ppc64/ || exit 1
++ cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/ppc64/libgfortran.a \
++ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ppc64/ || exit 1
+ elif [ $h = 'i686' ] ; then
+ cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/x86_64/libgomp.a \
+ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/x86_64/ || exit 1
+ cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/x86_64/libgomp.spec \
+ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/x86_64/ || exit 1
++ cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/x86_64/libgfortran.a \
++ .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/x86_64/ || exit 1
+ fi
+ fi
+ done
+@@ -432,6 +440,16 @@
+ -L$DIR/dst-$BUILD-$h$DEST_ROOT/$h-apple-darwin$DARWIN_VERS/lib/ \
+ -L$DIR/obj-$h-$BUILD/libiberty/ \
+ -o $DEST_DIR/$DEST_ROOT/bin/tmp-$h-g++-$MAJ_VERS || exit 1
++
++ $DEST_DIR$DEST_ROOT/bin/$h-apple-darwin$DARWIN_VERS-gcc-$VERS \
++ $ORIG_SRC_DIR/driverdriver.c \
++ -DPDN="\"-apple-darwin$DARWIN_VERS-gfortran-$VERS\"" \
++ -DIL="\"$DEST_ROOT/bin/\"" -I $ORIG_SRC_DIR/include \
++ -I $ORIG_SRC_DIR/gcc -I $ORIG_SRC_DIR/gcc/config \
++ -liberty -L$DIR/dst-$BUILD-$h$DEST_ROOT/lib/ \
++ -L$DIR/dst-$BUILD-$h$DEST_ROOT/$h-apple-darwin$DARWIN_VERS/lib/ \
++ -L$DIR/obj-$h-$BUILD/libiberty/ \
++ -o $DEST_DIR/$DEST_ROOT/bin/tmp-$h-gfortran-$MAJ_VERS || exit 1
+ done
+
+ lipo -output $DEST_DIR/$DEST_ROOT/bin/gcc-$MAJ_VERS -create \
+@@ -440,10 +458,14 @@
+ lipo -output $DEST_DIR/$DEST_ROOT/bin/g++-$MAJ_VERS -create \
+ $DEST_DIR/$DEST_ROOT/bin/tmp-*-g++-$MAJ_VERS || exit 1
+
++lipo -output $DEST_DIR/$DEST_ROOT/bin/gfortran-$MAJ_VERS -create \
++ $DEST_DIR/$DEST_ROOT/bin/tmp-*-gfortran-$MAJ_VERS || exit 1
++
+ ln -f $DEST_DIR/$DEST_ROOT/bin/g++-$MAJ_VERS $DEST_DIR/$DEST_ROOT/bin/c++-$MAJ_VERS || exit 1
+
+ rm $DEST_DIR/$DEST_ROOT/bin/tmp-*-gcc-$MAJ_VERS || exit 1
+ rm $DEST_DIR/$DEST_ROOT/bin/tmp-*-g++-$MAJ_VERS || exit 1
++rm $DEST_DIR/$DEST_ROOT/bin/tmp-*-gfortran-$MAJ_VERS || exit 1
+
+ # Remove extraneous stuff
+ rm -rf $DEST_DIR/$DEST_ROOT/lib/gcc/*/*/include/c++
+@@ -472,7 +494,7 @@
+ ########################################
+ # Remove debugging information from DEST_DIR.
+
+-find $DEST_DIR -perm -0111 \! -name fixinc.sh \
++find $DEST_DIR -perm -0111 \! -name fixinc.sh \! -name libgfortran\* \
+ \! -name mkheaders \! -name libstdc++.dylib -type f -print \
+ | xargs strip || exit 1
+ find $DEST_DIR -name \*.a -print | xargs strip -SX || exit 1
+diff -Nru gcc_42-5564/gcc/fortran/Make-lang.in gcc_42-5564.mod/gcc/fortran/Make-lang.in
+--- gcc_42-5564/gcc/fortran/Make-lang.in 2008-04-01 17:26:19.000000000 -0400
++++ gcc_42-5564.mod/gcc/fortran/Make-lang.in 2008-08-29 17:25:03.000000000 -0400
+@@ -73,7 +73,7 @@
+ fortran/trans.o fortran/trans-array.o fortran/trans-common.o \
+ fortran/trans-const.o fortran/trans-decl.o fortran/trans-expr.o \
+ fortran/trans-intrinsic.o fortran/trans-io.o fortran/trans-openmp.o \
+- fortran/trans-stmt.o fortran/trans-types.o
++ fortran/trans-stmt.o fortran/trans-types.o fortran/fake.o
+
+ # GFORTRAN uses GMP for its internal arithmetics.
+ F95_LIBS = $(GMPLIBS) $(LIBS)
+@@ -106,7 +106,7 @@
+ f951$(exeext): $(F95_OBJS) \
+ $(BACKEND) $(LIBDEPS)
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
+- $(F95_OBJS) $(BACKEND) $(F95_LIBS)
++ $(F95_OBJS) $(BACKEND) $(F95_LIBS) stub-objc.o
+
+ gt-fortran-trans.h : s-gtype; @true
+ #
+diff -Nru gcc_42-5564/gcc/fortran/fake.c gcc_42-5564.mod/gcc/fortran/fake.c
+--- gcc_42-5564/gcc/fortran/fake.c 1969-12-31 19:00:00.000000000 -0500
++++ gcc_42-5564.mod/gcc/fortran/fake.c 2008-08-29 17:42:58.000000000 -0400
+@@ -0,0 +1,27 @@
++#include <stdlib.h>
++#include <stdio.h>
++
++#define MK_FAKE(X) void X (void); void X (void) { fprintf(stderr, "** FATAL: call to an unsupported function!\n"); exit(1); }
++
++int c_language = 0; /* 0 is C which is the default */
++int disable_typechecking_for_spec_flag = 0;
++
++MK_FAKE(build_function_call)
++MK_FAKE(build_modify_expr)
++MK_FAKE(build_stmt)
++MK_FAKE(decl_attributes)
++MK_FAKE(decl_constant_value)
++MK_FAKE(flag_iasm_blocks)
++MK_FAKE(iasm_addr)
++MK_FAKE(iasm_build_bracket)
++MK_FAKE(iasm_force_constraint)
++MK_FAKE(iasm_get_register_var)
++MK_FAKE(iasm_in_operands)
++MK_FAKE(iasm_is_pseudo)
++MK_FAKE(iasm_print_operand)
++MK_FAKE(iasm_state)
++MK_FAKE(lookup_name)
++MK_FAKE(parse_in)
++MK_FAKE(pointer_int_sum)
++MK_FAKE(store_init_value)
++
diff --git a/sys-devel/gcc-apple/files/gcc-apple-4.2.1-inline-asm.patch b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-inline-asm.patch
new file mode 100644
index 000000000000..a7fb6a98328e
--- /dev/null
+++ b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-inline-asm.patch
@@ -0,0 +1,24 @@
+--- gcc/cp/parser.c
++++ gcc/cp/parser.c
+@@ -11845,8 +11845,7 @@
+ || cp_lexer_next_token_is (parser->lexer, CPP_ATSIGN)
+ || cp_lexer_next_token_is (parser->lexer, CPP_NAME)
+ || cp_lexer_next_token_is_keyword (parser->lexer, RID_ASM)
+- || cp_lexer_next_token_is (parser->lexer, CPP_SEMICOLON)
+- || cp_lexer_iasm_bol (parser->lexer))
++ || cp_lexer_next_token_is (parser->lexer, CPP_SEMICOLON))
+ {
+ if (flag_iasm_blocks)
+ cp_parser_iasm_top_statement (parser);
+--- gcc/c-parser.c
++++ gcc/c-parser.c
+@@ -4505,8 +4505,7 @@
+ || c_parser_next_token_is (parser, CPP_ATSIGN)
+ || c_parser_next_token_is (parser, CPP_NAME)
+ || c_parser_next_token_is_keyword (parser, RID_ASM)
+- || c_parser_next_token_is (parser, CPP_SEMICOLON)
+- || c_parser_iasm_bol (parser))
++ || c_parser_next_token_is (parser, CPP_SEMICOLON))
+ {
+ if (flag_iasm_blocks)
+ c_parser_iasm_top_statement (parser);
diff --git a/sys-devel/gcc-apple/files/gcc-apple-4.2.1-prefix-search-dirs.patch b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-prefix-search-dirs.patch
new file mode 100644
index 000000000000..2cd947b4e82f
--- /dev/null
+++ b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-prefix-search-dirs.patch
@@ -0,0 +1,27 @@
+In Prefix we are really self-providing, so don't look back!
+Patch by Heiko Przybyl
+
+--- gcc/gcc.c
++++ gcc/gcc.c
+@@ -1525,8 +1525,8 @@ static const char *gcc_libexec_prefix;
+ #endif
+
+ static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
+-static const char *const standard_exec_prefix_1 = "/usr/libexec/gcc/";
+-static const char *const standard_exec_prefix_2 = "/usr/lib/gcc/";
++static const char *const standard_exec_prefix_1 = "@GENTOO_PORTAGE_EPREFIX@/usr/libexec/gcc/";
++static const char *const standard_exec_prefix_2 = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
+ static const char *md_exec_prefix = MD_EXEC_PREFIX;
+
+ static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
+--- gcc/config/darwin.h
++++ gcc/config/darwin.h
+@@ -1286,7 +1286,7 @@ void add_framework_path (char *);
+ } \
+ } while (0)
+
+-#define SYSROOT_PRIORITY PREFIX_PRIORITY_FIRST
++#define SYSROOT_PRIORITY PREFIX_PRIORITY_LAST
+ /* APPLE LOCAL end isysroot 5083137 */
+
+ /* Every program on darwin links against libSystem which contains the pthread
diff --git a/sys-devel/gcc-apple/files/gcc-apple-4.2.1-texinfo.patch b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-texinfo.patch
new file mode 100644
index 000000000000..f82fe60d2ee7
--- /dev/null
+++ b/sys-devel/gcc-apple/files/gcc-apple-4.2.1-texinfo.patch
@@ -0,0 +1,33 @@
+--- configure
++++ configure
+@@ -3748,7 +3748,7 @@
+ # For an installed makeinfo, we require it to be from texinfo 4.4 or
+ # higher, else we use the "missing" dummy.
+ if ${MAKEINFO} --version \
+- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
++ | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|4\.[1-9][0-9]|[5-9])' >/dev/null 2>&1; then
+ :
+ else
+ MAKEINFO="$MISSING makeinfo"
+--- gcc/configure.ac
++++ gcc/configure.ac
+@@ -882,7 +882,7 @@
+ # that we can use it.
+ gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
+ [GNU texinfo.* \([0-9][0-9.]*\)],
+- [4.[4-9]*])
++ [4.[4-9]*|4.[1-9][0-9]])
+ if test $gcc_cv_prog_makeinfo_modern = no; then
+ MAKEINFO="$MISSING makeinfo"
+ AC_MSG_WARN([
+--- libgomp/configure.ac
++++ libgomp/configure.ac
+@@ -135,7 +135,7 @@
+ # that we can use it.
+ ACX_CHECK_PROG_VER([MAKEINFO], [makeinfo], [--version],
+ [GNU texinfo.* \([0-9][0-9.]*\)],
+- [4.[4-9]*])
++ [4.[4-9]*|4.[1-9][0-9]])
+ AM_CONDITIONAL(BUILD_INFO, test $gcc_cv_prog_makeinfo_modern = "yes")
+
+
diff --git a/sys-devel/gcc-apple/files/gcc-apple-4.2.1_p5566-x86_64-defines.patch b/sys-devel/gcc-apple/files/gcc-apple-4.2.1_p5566-x86_64-defines.patch
new file mode 100644
index 000000000000..e0096290ac25
--- /dev/null
+++ b/sys-devel/gcc-apple/files/gcc-apple-4.2.1_p5566-x86_64-defines.patch
@@ -0,0 +1,25 @@
+gcc/config.gcc:
+ We need this alignment thing to get some defines that the code relies on
+gcc/config/i386/darwin64.h:
+ Don't forget about crt1.o, makes it hard to link something together
+
+--- gcc_42-5566/gcc/config.gcc
++++ gcc_42-5566/gcc/config.gcc
+@@ -1051,6 +1051,7 @@
+ # Deleted with_arch
+ # APPLE LOCAL mainline
+ with_cpu=${with_cpu:-core2}
++ extra_options="${extra_options} i386/darwin.opt"
+ tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin"
+ tm_file="${tm_file} ${cpu_type}/darwin64.h"
+ ;;
+--- gcc_42-5566/gcc/config/i386/darwin64.h
++++ gcc_42-5566/gcc/config/i386/darwin64.h
+@@ -30,6 +30,7 @@
+
+ #undef SUBTARGET_EXTRA_SPECS
+ #define SUBTARGET_EXTRA_SPECS \
++ DARWIN_EXTRA_SPECS \
+ { "darwin_arch", DARWIN_ARCH_SPEC }, \
+ { "darwin_crt2", "" }, \
+ { "darwin_subarch", DARWIN_SUBARCH_SPEC },
diff --git a/sys-devel/gcc-apple/files/libstdc++-16.patch b/sys-devel/gcc-apple/files/libstdc++-16.patch
new file mode 100644
index 000000000000..81d075bface7
--- /dev/null
+++ b/sys-devel/gcc-apple/files/libstdc++-16.patch
@@ -0,0 +1,11 @@
+--- libstdc++-v3/include/bits/c++config
++++ libstdc++-v3/include/bits/c++config
+@@ -76,7 +76,7 @@
+ }
+ namespace std
+ {
+- using namespace __gnu_debug_def __attribute__ ((strong));
++ using namespace __gnu_debug_def;
+ }
+ #else
+ # define _GLIBCXX_STD std
diff --git a/sys-devel/gcc-apple/metadata.xml b/sys-devel/gcc-apple/metadata.xml
index 2dc2044ae29e..d60e1cd69bd1 100644
--- a/sys-devel/gcc-apple/metadata.xml
+++ b/sys-devel/gcc-apple/metadata.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>apple</herd>
+ <herd>prefix</herd>
<use>
<flag name="multislot">Allow for SLOTs to include minor version (3.3.4
instead of just 3.3)</flag>