diff options
Diffstat (limited to 'sys-devel/gcc')
18 files changed, 2 insertions, 1435 deletions
diff --git a/sys-devel/gcc/files/3.3.1/gcc331-pp-fixup.patch b/sys-devel/gcc/files/3.3.1/gcc331-pp-fixup.patch deleted file mode 100644 index 42c4345c8f1c..000000000000 --- a/sys-devel/gcc/files/3.3.1/gcc331-pp-fixup.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- protector.dif 2003-09-22 11:39:22.000000000 +0200 -+++ /tmp/protector.dif 2003-10-03 21:21:54.661231248 +0200 -@@ -272,9 +272,9 @@ - *************** Software Foundation, 59 Temple Place - S - *** 45,50 **** - --- 45,51 ---- -- #include "langhooks.h" - #include "intl.h" - #include "tm_p.h" -+ #include "input.h" - + #include "protector.h" - - /* Decide whether a function's arguments should be processed diff --git a/sys-devel/gcc/files/3.3.2/gcc332-altivec-fix.patch b/sys-devel/gcc/files/3.3.2/gcc332-altivec-fix.patch deleted file mode 100644 index 57ac8c5786b5..000000000000 --- a/sys-devel/gcc/files/3.3.2/gcc332-altivec-fix.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -ruN gcc-3.3.2.orig/gcc/config/rs6000/rs6000.c gcc-3.3.2/gcc/config/rs6000/rs6000.c ---- gcc-3.3.2.orig/gcc/config/rs6000/rs6000.c 2004-02-08 18:04:23.813276392 +0100 -+++ gcc-3.3.2/gcc/config/rs6000/rs6000.c 2004-02-08 18:12:22.310533752 +0100 -@@ -264,7 +264,7 @@ - static void is_altivec_return_reg PARAMS ((rtx, void *)); - static rtx generate_set_vrsave PARAMS ((rtx, rs6000_stack_t *, int)); - static void altivec_frame_fixup PARAMS ((rtx, rtx, HOST_WIDE_INT)); --static int easy_vector_constant PARAMS ((rtx)); -+int easy_vector_constant PARAMS ((rtx)); - static rtx legitimize_tls_address PARAMS ((rtx, enum tls_model)); - static rtx rs6000_tls_get_addr PARAMS ((void)); - static rtx rs6000_got_sym PARAMS ((void)); -@@ -1401,7 +1401,7 @@ - /* Return 1 if the operand is a CONST_INT and can be put into a - register with one instruction. */ - --static int -+int - easy_vector_constant (op) - rtx op; - { -diff -ruN gcc-3.3.2.orig/gcc/config/rs6000/rs6000.h gcc-3.3.2/gcc/config/rs6000/rs6000.h ---- gcc-3.3.2.orig/gcc/config/rs6000/rs6000.h 2004-02-08 18:04:24.071237176 +0100 -+++ gcc-3.3.2/gcc/config/rs6000/rs6000.h 2004-02-08 18:13:51.506973832 +0100 -@@ -1997,7 +1997,8 @@ - || zero_constant (X, GET_MODE (X))) \ - && (GET_CODE (X) != CONST_DOUBLE || GET_MODE (X) == VOIDmode \ - || (TARGET_POWERPC64 && GET_MODE (X) == DImode) \ -- || easy_fp_constant (X, GET_MODE (X))) \ -+ || easy_fp_constant (X, GET_MODE (X)) \ -+ || easy_vector_constant (X, GET_MODE (X))) \ - && !rs6000_tls_referenced_p (X)) - - /* The macros REG_OK_FOR..._P assume that the arg is a REG rtx diff --git a/sys-devel/gcc/files/3.3.2/gcc332-gentoo-branding.patch b/sys-devel/gcc/files/3.3.2/gcc332-gentoo-branding.patch deleted file mode 100644 index d3b34c72ab66..000000000000 --- a/sys-devel/gcc/files/3.3.2/gcc332-gentoo-branding.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -Naurp gcc-3.3.orig/gcc/version.c gcc-3.3/gcc/version.c ---- gcc-3.3.orig/gcc/version.c 2003-05-13 17:26:03.000000000 -0400 -+++ gcc-3.3/gcc/version.c 2003-05-16 14:35:08.000000000 -0400 -@@ -6,7 +6,7 @@ - please modify this string to indicate that, e.g. by putting your - organization's name in parentheses at the end of the string. */ - --const char version_string[] = "3.3.2"; -+const char version_string[] = "3.3.2 @GENTOO@"; - - /* This is the location of the online document giving instructions for - reporting bugs. If you distribute a modified version of GCC, -@@ -15,4 +15,4 @@ const char version_string[] = "3.3"; - forward us bugs reported to you, if you determine that they are - not bugs in your modifications.) */ - --const char bug_report_url[] = "<URL:http://gcc.gnu.org/bugs.html>"; -+const char bug_report_url[] = "<URL:http://bugs.gentoo.org/>"; diff --git a/sys-devel/gcc/files/3.3.3/gcc-uclibc-3.3-loop.patch b/sys-devel/gcc/files/3.3.3/gcc-uclibc-3.3-loop.patch deleted file mode 100644 index 8fab7556f1a2..000000000000 --- a/sys-devel/gcc/files/3.3.3/gcc-uclibc-3.3-loop.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- gcc/gcc/gcc/loop.c 14 Feb 2004 14:46:03 -0000 1.488.2.3 -+++ gcc/gcc/gcc/loop.c 28 Apr 2004 22:02:53 -0000 -@@ -929,6 +929,7 @@ - || (! (GET_CODE (SET_SRC (set)) == REG - && (REGNO (SET_SRC (set)) - < FIRST_PSEUDO_REGISTER)))) -+ && regno >= FIRST_PSEUDO_REGISTER - /* This test is not redundant; SET_SRC (set) might be - a call-clobbered register and the life of REGNO - might span a call. */ diff --git a/sys-devel/gcc/files/3.3.3/gcc333-debian-arm-getoff.patch b/sys-devel/gcc/files/3.3.3/gcc333-debian-arm-getoff.patch deleted file mode 100644 index 86704f98c473..000000000000 --- a/sys-devel/gcc/files/3.3.3/gcc333-debian-arm-getoff.patch +++ /dev/null @@ -1,110 +0,0 @@ ---- gcc/config/arm/arm.c 2003-06-14 15:20:53.000000000 +0100 -+++ gcc/config/arm/arm.c 2004-03-06 15:15:32.000000000 +0000 -@@ -2364,6 +2394,40 @@ - return 1; - } - -+/* Return true if OP is a symbolic operand that resolves locally. */ -+ -+static int -+local_symbolic_operand (op, mode) -+ rtx op; -+ enum machine_mode mode ATTRIBUTE_UNUSED; -+{ -+ if (GET_CODE (op) == CONST -+ && GET_CODE (XEXP (op, 0)) == PLUS -+ && GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST_INT) -+ op = XEXP (XEXP (op, 0), 0); -+ -+ if (GET_CODE (op) == LABEL_REF) -+ return 1; -+ -+ if (GET_CODE (op) != SYMBOL_REF) -+ return 0; -+ -+ /* These we've been told are local by varasm and encode_section_info -+ respectively. */ -+ if (CONSTANT_POOL_ADDRESS_P (op) || ENCODED_LOCAL_BINDING_ATTR_P (XSTR (op, 0))) -+ return 1; -+ -+ /* There is, however, a not insubstantial body of code in the rest of -+ the compiler that assumes it can just stick the results of -+ ASM_GENERATE_INTERNAL_LABEL in a symbol_ref and have done. */ -+ /* ??? This is a hack. Should update the body of the compiler to -+ always create a DECL an invoke targetm.encode_section_info. */ -+ if (strncmp (arm_strip_name_encoding (XSTR (op, 0)), ".L", 2) == 0) -+ return 1; -+ -+ return 0; -+} -+ - rtx - legitimize_pic_address (orig, mode, reg) - rtx orig; -@@ -2404,10 +2468,7 @@ - else - emit_insn (gen_pic_load_addr_thumb (address, orig)); - -- if ((GET_CODE (orig) == LABEL_REF -- || (GET_CODE (orig) == SYMBOL_REF && -- ENCODED_SHORT_CALL_ATTR_P (XSTR (orig, 0)))) -- && NEED_GOT_RELOC) -+ if (local_symbolic_operand (orig, Pmode) && NEED_GOT_RELOC) - pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, address); - else - { -@@ -8804,11 +8911,7 @@ - if (NEED_GOT_RELOC && flag_pic && making_const_table && - (GET_CODE (x) == SYMBOL_REF || GET_CODE (x) == LABEL_REF)) - { -- if (GET_CODE (x) == SYMBOL_REF -- && (CONSTANT_POOL_ADDRESS_P (x) -- || ENCODED_SHORT_CALL_ATTR_P (XSTR (x, 0)))) -- fputs ("(GOTOFF)", asm_out_file); -- else if (GET_CODE (x) == LABEL_REF) -+ if (local_symbolic_operand (x, Pmode)) - fputs ("(GOTOFF)", asm_out_file); - else - fputs ("(GOT)", asm_out_file); -@@ -11335,6 +11418,11 @@ - else if (! TREE_PUBLIC (decl)) - arm_encode_call_attribute (decl, SHORT_CALL_FLAG_CHAR); - } -+ -+ if (TREE_CODE_CLASS (TREE_CODE (decl)) == 'd' -+ && flag_pic -+ && (*targetm.binds_local_p) (decl)) -+ arm_encode_call_attribute (decl, LOCAL_BINDING_FLAG_CHAR); - } - #endif /* !ARM_PE */ - - ---- gcc/config/arm/arm.h Fri Mar 5 18:49:44 2004 -+++ gcc/config/arm/arm.h Fri Mar 5 15:04:31 2004 -@@ -1870,6 +1870,7 @@ - Note, '@' and '*' have already been taken. */ - #define SHORT_CALL_FLAG_CHAR '^' - #define LONG_CALL_FLAG_CHAR '#' -+#define LOCAL_BINDING_FLAG_CHAR '%' - - #define ENCODED_SHORT_CALL_ATTR_P(SYMBOL_NAME) \ - (*(SYMBOL_NAME) == SHORT_CALL_FLAG_CHAR) -@@ -1877,6 +1878,9 @@ - #define ENCODED_LONG_CALL_ATTR_P(SYMBOL_NAME) \ - (*(SYMBOL_NAME) == LONG_CALL_FLAG_CHAR) - -+#define ENCODED_LOCAL_BINDING_ATTR_P(SYMBOL_NAME) \ -+ (*(SYMBOL_NAME) == LOCAL_BINDING_FLAG_CHAR) -+ - #ifndef SUBTARGET_NAME_ENCODING_LENGTHS - #define SUBTARGET_NAME_ENCODING_LENGTHS - #endif -@@ -1888,6 +1892,7 @@ - #define ARM_NAME_ENCODING_LENGTHS \ - case SHORT_CALL_FLAG_CHAR: return 1; \ - case LONG_CALL_FLAG_CHAR: return 1; \ -+ case LOCAL_BINDING_FLAG_CHAR: return 1; \ - case '*': return 1; \ - SUBTARGET_NAME_ENCODING_LENGTHS - - diff --git a/sys-devel/gcc/files/3.3.3/gcc333-debian-arm-ldm.patch b/sys-devel/gcc/files/3.3.3/gcc333-debian-arm-ldm.patch deleted file mode 100644 index eb94347b144a..000000000000 --- a/sys-devel/gcc/files/3.3.3/gcc333-debian-arm-ldm.patch +++ /dev/null @@ -1,124 +0,0 @@ ---- gcc/config/arm/arm.c Fri Mar 5 18:49:42 2004 -+++ gcc/config/arm/arm.c Fri Mar 5 16:00:21 2004 -@@ -7598,6 +7629,26 @@ - return_used_this_function = 0; - } - -+/* Return the number (counting from 0) of -+ the least significant set bit in MASK. */ -+ -+#ifdef __GNUC__ -+inline -+#endif -+static int -+number_of_first_bit_set (mask) -+ int mask; -+{ -+ int bit; -+ -+ for (bit = 0; -+ (mask & (1 << bit)) == 0; -+ ++bit) -+ continue; -+ -+ return bit; -+} -+ - const char * - arm_output_epilogue (really_return) - int really_return; -@@ -7788,27 +7839,47 @@ - saved_regs_mask |= (1 << PC_REGNUM); - } - -- /* Load the registers off the stack. If we only have one register -- to load use the LDR instruction - it is faster. */ -- if (saved_regs_mask == (1 << LR_REGNUM)) -- { -- /* The exception handler ignores the LR, so we do -- not really need to load it off the stack. */ -- if (eh_ofs) -- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM); -- else -- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM); -- } -- else if (saved_regs_mask) -+ if (saved_regs_mask) - { -- if (saved_regs_mask & (1 << SP_REGNUM)) -- /* Note - write back to the stack register is not enabled -- (ie "ldmfd sp!..."). We know that the stack pointer is -- in the list of registers and if we add writeback the -- instruction becomes UNPREDICTABLE. */ -- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask); -+ /* Load the registers off the stack. If we only have one register -+ to load use the LDR instruction - it is faster. */ -+ if (bit_count (saved_regs_mask) == 1) -+ { -+ int reg = number_of_first_bit_set (saved_regs_mask); -+ -+ switch (reg) -+ { -+ case SP_REGNUM: -+ /* Mustn't use base writeback when loading SP. */ -+ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM); -+ break; -+ -+ case LR_REGNUM: -+ if (eh_ofs) -+ { -+ /* The exception handler ignores the LR, so we do -+ not really need to load it off the stack. */ -+ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM); -+ break; -+ } -+ /* else fall through */ -+ -+ default: -+ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM); -+ break; -+ } -+ } - else -- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask); -+ { -+ if (saved_regs_mask & (1 << SP_REGNUM)) -+ /* Note - write back to the stack register is not enabled -+ (ie "ldmfd sp!..."). We know that the stack pointer is -+ in the list of registers and if we add writeback the -+ instruction becomes UNPREDICTABLE. */ -+ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask); -+ else -+ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask); -+ } - } - - if (current_function_pretend_args_size) -@@ -9610,26 +9677,6 @@ - } - } - --/* Return the number (counting from 0) of -- the least significant set bit in MASK. */ -- --#ifdef __GNUC__ --inline --#endif --static int --number_of_first_bit_set (mask) -- int mask; --{ -- int bit; -- -- for (bit = 0; -- (mask & (1 << bit)) == 0; -- ++bit) -- continue; -- -- return bit; --} -- - /* Generate code to return from a thumb function. - If 'reg_containing_return_addr' is -1, then the return address is - actually on the stack, at the stack pointer. */ - diff --git a/sys-devel/gcc/files/3.3.3/gcc333_pre20040408-stack-size.patch b/sys-devel/gcc/files/3.3.3/gcc333_pre20040408-stack-size.patch deleted file mode 100644 index df99f8790a45..000000000000 --- a/sys-devel/gcc/files/3.3.3/gcc333_pre20040408-stack-size.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN gcc-20040408.orig/gcc/config/rs6000/rs6000.c gcc-20040408/gcc/config/rs6000/rs6000.c ---- gcc-20040408.orig/gcc/config/rs6000/rs6000.c 2004-04-15 12:55:07.044634360 +0200 -+++ gcc-20040408/gcc/config/rs6000/rs6000.c 2004-04-15 13:24:50.544501168 +0200 -@@ -10937,7 +10937,7 @@ - info_ptr->varargs_size = RS6000_VARARGS_AREA; - info_ptr->vars_size = RS6000_ALIGN (get_frame_size (), 8); - info_ptr->parm_size = RS6000_ALIGN (current_function_outgoing_args_size, -- 8); -+ TARGET_ALTIVEC ? 16 : 8); - - if (TARGET_SPE_ABI && info_ptr->spe_64bit_regs_used != 0) - info_ptr->spe_gp_size = 8 * (32 - info_ptr->first_gp_reg_save); diff --git a/sys-devel/gcc/files/3.3.5/gcc-3.3.5-ffecom_gfrt_basictype-prototype.patch b/sys-devel/gcc/files/3.3.5/gcc-3.3.5-ffecom_gfrt_basictype-prototype.patch deleted file mode 100644 index f489deca5c3a..000000000000 --- a/sys-devel/gcc/files/3.3.5/gcc-3.3.5-ffecom_gfrt_basictype-prototype.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-3.3.5/gcc/f/com.h.orig 2004-12-30 18:43:49.520799009 -0800 -+++ gcc-3.3.5/gcc/f/com.h 2004-12-30 18:44:17.719152427 -0800 -@@ -233,7 +233,7 @@ void ffecom_finish_decl (tree decl, tree - void ffecom_finish_progunit (void); - tree ffecom_get_invented_identifier (const char *pattern, ...) - ATTRIBUTE_PRINTF_1; --ffeinfoKindtype ffecom_gfrt_basictype (ffecomGfrt ix); -+ffeinfoBasictype ffecom_gfrt_basictype (ffecomGfrt ix); - ffeinfoKindtype ffecom_gfrt_kindtype (ffecomGfrt ix); - void ffecom_init_0 (void); - void ffecom_init_2 (void); diff --git a/sys-devel/gcc/files/3.3.5/gcc-3.3.5-no-COPYING-cross-compile.patch b/sys-devel/gcc/files/3.3.5/gcc-3.3.5-no-COPYING-cross-compile.patch deleted file mode 100644 index 88a6fbd1cb68..000000000000 --- a/sys-devel/gcc/files/3.3.5/gcc-3.3.5-no-COPYING-cross-compile.patch +++ /dev/null @@ -1,44 +0,0 @@ -No real point to this code and it's been dropped in 3.4.x so let's punt it -in 3.3.x too. Fix cross-compiling which is good. - -http://bugs.gentoo.org/show_bug.cgi?id=79487 - ---- gcc-3.3.5/configure.in -+++ gcc-3.3.5/configure.in -@@ -902,36 +902,6 @@ - fi - fi - --# Handle ${copy_dirs} --set fnord ${copy_dirs} --shift --while test $# != 0 ; do -- if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then -- : -- else -- echo Copying $1 to $2 -- -- # Use the install script to create the directory and all required -- # parent directories. -- if test -d $2 ; then -- : -- else -- echo >config.temp -- ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED -- fi -- -- # Copy the directory, assuming we have tar. -- # FIXME: Should we use B in the second tar? Not all systems support it. -- (cd $1; tar -cf - .) | (cd $2; tar -xpf -) -- -- # It is the responsibility of the user to correctly adjust all -- # symlinks. If somebody can figure out how to handle them correctly -- # here, feel free to add the code. -- -- echo $1 > $2/COPIED -- fi -- shift; shift --done - - # Work in distributions that contain no compiler tools, like Autoconf. - tentative_cc="" diff --git a/sys-devel/gcc/files/digest-gcc-3.3.2-r7 b/sys-devel/gcc/files/digest-gcc-3.3.2-r7 deleted file mode 100644 index 3e28a9e14ee9..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.3.2-r7 +++ /dev/null @@ -1,15 +0,0 @@ -MD5 68b89026e16b83aece3e514d0e846558 gcc-3.3.2-branch-update-20040119.patch.bz2 299556 -RMD160 74464c4830f796794ebf3abcb1c776f1785d6116 gcc-3.3.2-branch-update-20040119.patch.bz2 299556 -SHA256 bf642051f4e6b49f9a55125042cb2f7e389adbf11e860d7239fd068865bfcf69 gcc-3.3.2-branch-update-20040119.patch.bz2 299556 -MD5 cfaa61a61372f486160cdba32081fb3e gcc-3.3.2-manpages.tar.bz2 137196 -RMD160 037dcaed16770f41ad9d59329f4175527223b111 gcc-3.3.2-manpages.tar.bz2 137196 -SHA256 d2035c2d3b29ae50d5a685a2e362a8916984242578faf51e861b13fd9e5f2359 gcc-3.3.2-manpages.tar.bz2 137196 -MD5 4b757459fb3d0e69031a86de80320ad9 gcc-3.3.2-patches-1.0.tar.bz2 23675 -RMD160 daac8ae18f63fdebeaa023544a9cfe132b45c46c gcc-3.3.2-patches-1.0.tar.bz2 23675 -SHA256 49ea444490326ee8e256ef6b0045cfc0f2d1d92703f3e1d5091c96b0d27a9ed9 gcc-3.3.2-patches-1.0.tar.bz2 23675 -MD5 65999f654102f5438ac8562d13a6eced gcc-3.3.2.tar.bz2 23585904 -RMD160 e0b6d709fb75c4f3640f2b9886168f3166b94df8 gcc-3.3.2.tar.bz2 23585904 -SHA256 8ff5367bb94a08bcf5c19527c66b8f3b99d3f1fac61a34ad5baffdee7358c1f1 gcc-3.3.2.tar.bz2 23585904 -MD5 b62b5856753294821c4cea8bd28ffe1d protector-3.3-7.tar.gz 25068 -RMD160 6e01b53477aec0c0b7a958827a38fcc8bee61c56 protector-3.3-7.tar.gz 25068 -SHA256 cd285bd6f79b794bbb5e0c7f06c6c9317a0c72cb065d5c7d4283c51f06edeade protector-3.3-7.tar.gz 25068 diff --git a/sys-devel/gcc/files/digest-gcc-3.3.5-r1 b/sys-devel/gcc/files/digest-gcc-3.3.5-r1 deleted file mode 100644 index fdf941a739fb..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.3.5-r1 +++ /dev/null @@ -1,18 +0,0 @@ -MD5 587b0821fa1e6557cba3e5a3712624a9 bounds-checking-gcc-3.3.5-1.00.patch.bz2 828893 -RMD160 9c314e6837f6e3fe930d8f2b01cb6a81bf92fde7 bounds-checking-gcc-3.3.5-1.00.patch.bz2 828893 -SHA256 6277c194a497ade97c08e211866bbafe032cb5434e516afba250c2060651a46d bounds-checking-gcc-3.3.5-1.00.patch.bz2 828893 -MD5 aa0868ecce2185884c618de9a15eb40d gcc-3.3.5-manpages.tar.bz2 214965 -RMD160 d0e8644b7cde313fe4c503f492c7137d88509446 gcc-3.3.5-manpages.tar.bz2 214965 -SHA256 c7af2225c3bd2bdccbccc94f917251ada2e02943b0cd0a5376c976f0de38120f gcc-3.3.5-manpages.tar.bz2 214965 -MD5 20072e557fa33a232206d365063a693e gcc-3.3.5-patches-1.0.tar.bz2 41378 -RMD160 ec9c8b68eccd345bfe85a8e1c144b2844f538c8d gcc-3.3.5-patches-1.0.tar.bz2 41378 -SHA256 4216998306ce0dcc7f9a5112e0e4e3eed495c469cc02337bdb886332f87ca9dd gcc-3.3.5-patches-1.0.tar.bz2 41378 -MD5 9ffa098b60ba4e6eadcbbe50900fa295 gcc-3.3.5-piepatches-v8.7.7.1.tar.bz2 25970 -RMD160 8d3713c143d3fa4084ea3247ec0577d72576d576 gcc-3.3.5-piepatches-v8.7.7.1.tar.bz2 25970 -SHA256 e3d4671782e81e8507c3a6ccc0774d24d8a857c2d6a247227c37c47613832b7a gcc-3.3.5-piepatches-v8.7.7.1.tar.bz2 25970 -MD5 70ee088b498741bb08c779f9617df3a5 gcc-3.3.5.tar.bz2 23833856 -RMD160 34adf1a6f7ea302e9937c1a06ccf362711e25c58 gcc-3.3.5.tar.bz2 23833856 -SHA256 4ae90c6948d2654a254116fabb0cc7e474abf51ea841e6ef5cd8e6c161a9fa74 gcc-3.3.5.tar.bz2 23833856 -MD5 b8c1300bb08c4a63f572d9575025fd81 protector-3.3.2-3.tar.gz 28195 -RMD160 6e6c98ab3d1ff0d16405df8dfdded0ff1f098eb2 protector-3.3.2-3.tar.gz 28195 -SHA256 e89ce49af8a088ffa790985e57bb5c2dd59328676342ddce93ae3166c2d3b9d9 protector-3.3.2-3.tar.gz 28195 diff --git a/sys-devel/gcc/files/digest-gcc-3.3.5.20050130-r1 b/sys-devel/gcc/files/digest-gcc-3.3.5.20050130-r1 deleted file mode 100644 index d209f8b09cc5..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.3.5.20050130-r1 +++ /dev/null @@ -1,24 +0,0 @@ -MD5 f75ad40c0340ff23aba1dd4961285516 bounds-checking-gcc-3.3.5-1.00-r2.patch.bz2 827126 -RMD160 87c3d07db677749cfa5bbb5a64ac5dc19f61eae4 bounds-checking-gcc-3.3.5-1.00-r2.patch.bz2 827126 -SHA256 a3391b3730f3d1f64751e73be131977e62266216f11f394b87f3e0e23fd9bf6a bounds-checking-gcc-3.3.5-1.00-r2.patch.bz2 827126 -MD5 a158a57134253df324270f99e5b4a612 gcc-3.3.5-branch-update-20050130.patch.bz2 38618 -RMD160 8349193260ebdd005b11b3a95caa59502862be69 gcc-3.3.5-branch-update-20050130.patch.bz2 38618 -SHA256 7a2996971347e7e823523c051681c71a254ad92c67f2e8e0e4e87d639acd30ee gcc-3.3.5-branch-update-20050130.patch.bz2 38618 -MD5 aa0868ecce2185884c618de9a15eb40d gcc-3.3.5-manpages.tar.bz2 214965 -RMD160 d0e8644b7cde313fe4c503f492c7137d88509446 gcc-3.3.5-manpages.tar.bz2 214965 -SHA256 c7af2225c3bd2bdccbccc94f917251ada2e02943b0cd0a5376c976f0de38120f gcc-3.3.5-manpages.tar.bz2 214965 -MD5 2caecf5d5339bf70fb20b594d7f6d490 gcc-3.3.5-patches-1.4.tar.bz2 41936 -RMD160 13f692bed2f3b9fe267f5d3a097af6b7801cbefb gcc-3.3.5-patches-1.4.tar.bz2 41936 -SHA256 c19d1b9be9d54e10553c1286564d6e9cc7f46b2780dbef19e46b98493edfa7ea gcc-3.3.5-patches-1.4.tar.bz2 41936 -MD5 9ffa098b60ba4e6eadcbbe50900fa295 gcc-3.3.5-piepatches-v8.7.7.1.tar.bz2 25970 -RMD160 8d3713c143d3fa4084ea3247ec0577d72576d576 gcc-3.3.5-piepatches-v8.7.7.1.tar.bz2 25970 -SHA256 e3d4671782e81e8507c3a6ccc0774d24d8a857c2d6a247227c37c47613832b7a gcc-3.3.5-piepatches-v8.7.7.1.tar.bz2 25970 -MD5 3c9f7b2bd066afe2888289595ac07104 gcc-3.3.5-uclibc-patches-1.0.tar.bz2 27532 -RMD160 21f619f1d7c6aad25a2678fd7c7aafbc4f67b3b9 gcc-3.3.5-uclibc-patches-1.0.tar.bz2 27532 -SHA256 c29ffb0b10cafc3d4e785dda655a026b80b7317f6a93fdd2229cb7ae287a54c2 gcc-3.3.5-uclibc-patches-1.0.tar.bz2 27532 -MD5 70ee088b498741bb08c779f9617df3a5 gcc-3.3.5.tar.bz2 23833856 -RMD160 34adf1a6f7ea302e9937c1a06ccf362711e25c58 gcc-3.3.5.tar.bz2 23833856 -SHA256 4ae90c6948d2654a254116fabb0cc7e474abf51ea841e6ef5cd8e6c161a9fa74 gcc-3.3.5.tar.bz2 23833856 -MD5 407883749eddbe6baae77f722c6e77d7 protector-3.3.5.20050130-1.tar.gz 24324 -RMD160 5c221415fda8795a5062cc4ce749d8d2494f9084 protector-3.3.5.20050130-1.tar.gz 24324 -SHA256 c5b0e5620ac2e30dc79b156db2165865e987a2ce529cffb6f1a695eb60c462d0 protector-3.3.5.20050130-1.tar.gz 24324 diff --git a/sys-devel/gcc/files/digest-gcc-3.3.6 b/sys-devel/gcc/files/digest-gcc-3.3.6 deleted file mode 100644 index 0facee7228aa..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.3.6 +++ /dev/null @@ -1,18 +0,0 @@ -MD5 44dcd5ed339c1d01fd1d8629ba36f7fb bounds-checking-gcc-3.3.6-1.00-r1.patch.bz2 829063 -RMD160 a5b0c3abe9bbec8b539920593bfb8b1b2cd1628d bounds-checking-gcc-3.3.6-1.00-r1.patch.bz2 829063 -SHA256 56eeeef1549381f341ed0cfc99f19289bc9e9b5601466e6b2b9dba5c43649017 bounds-checking-gcc-3.3.6-1.00-r1.patch.bz2 829063 -MD5 a61b5045a33a7c1b179e0f4da7e16841 gcc-3.3.6-patches-1.3.tar.bz2 36948 -RMD160 eee8a62e3c36d82dff0914e18d1c70cb5e5b3f47 gcc-3.3.6-patches-1.3.tar.bz2 36948 -SHA256 db7fc2a158e825893b707b7f2b900848a5e3cba62e768e2bfc026b425ece41a6 gcc-3.3.6-patches-1.3.tar.bz2 36948 -MD5 21d3630720af45934849c70f8ac9258a gcc-3.3.6-piepatches-v8.7.8.tar.bz2 27532 -RMD160 4702eae72925b4be0aa71e338344512daf61f2d7 gcc-3.3.6-piepatches-v8.7.8.tar.bz2 27532 -SHA256 eb2dad189225664c5ad35f467592e7b44f5801a17f61829154283e800646e7d5 gcc-3.3.6-piepatches-v8.7.8.tar.bz2 27532 -MD5 4b96026430074a8da249db5adf14d171 gcc-3.3.6-ssp-1.0.tar.bz2 21355 -RMD160 26b72f90bb0fe2809013eeb3112e0f31e9e35311 gcc-3.3.6-ssp-1.0.tar.bz2 21355 -SHA256 6d365ae529c61730e2a4137677d38e014bb51b569a7f870684287e25cff4f666 gcc-3.3.6-ssp-1.0.tar.bz2 21355 -MD5 497f48d37cceae248f73289904b00b3e gcc-3.3.6-uclibc-patches-1.0.tar.bz2 28882 -RMD160 bbca9281e73bf6a26e2cfea370e006b99838e4a9 gcc-3.3.6-uclibc-patches-1.0.tar.bz2 28882 -SHA256 c007f38cb0c57291adf0b367f31e14c84dd1d6f48a388896eb63b6cd4328e418 gcc-3.3.6-uclibc-patches-1.0.tar.bz2 28882 -MD5 6936616a967da5a0b46f1e7424a06414 gcc-3.3.6.tar.bz2 23972413 -RMD160 b32c7a08c690857f0ac52dda3deb47cf5775d967 gcc-3.3.6.tar.bz2 23972413 -SHA256 1c1aa533c67e9da5e55ed4f5736258dc753466bd716bdae3fb88fb66e6ff1d7f gcc-3.3.6.tar.bz2 23972413 diff --git a/sys-devel/gcc/gcc-3.3.2-r7.ebuild b/sys-devel/gcc/gcc-3.3.2-r7.ebuild deleted file mode 100644 index 5681c3fc3fc8..000000000000 --- a/sys-devel/gcc/gcc-3.3.2-r7.ebuild +++ /dev/null @@ -1,677 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.2-r7.ebuild,v 1.33 2007/07/15 04:37:55 mr_bones_ Exp $ - -IUSE="static nls bootstrap java build X multilib gcj" - -inherit eutils flag-o-matic libtool versionator - -# Compile problems with these (bug #6641 among others)... -#filter-flags "-fno-exceptions -fomit-frame-pointer -fforce-addr" - -# Recently there has been a lot of stability problem in Gentoo-land. Many -# things can be the cause to this, but I believe that it is due to gcc3 -# still having issues with optimizations, or with it not filtering bad -# combinations (protecting the user maybe from himeself) yet. -# -# This can clearly be seen in large builds like glibc, where too aggressive -# CFLAGS cause the tests to fail miserbly. -# -# Quote from Nick Jones <carpaski@gentoo.org>, who in my opinion -# knows what he is talking about: -# -# People really shouldn't force code-specific options on... It's a -# bad idea. The -march options aren't just to look pretty. They enable -# options that are sensible (and include sse,mmx,3dnow when apropriate). -# -# The next command strips CFLAGS and CXXFLAGS from nearly all flags. If -# you do not like it, comment it, but do not bugreport if you run into -# problems. -# -# <azarah@gentoo.org> (13 Oct 2002) -strip-flags - -# gcc produce unstable binaries if compiled with a different CHOST. -[ "${ARCH}" = "hppa" ] && export CHOST="hppa-unknown-linux-gnu" - -# Theoretical cross compiler support -[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" - -LOC="/usr" -#GCC_BRANCH_VER="`echo ${PV} | awk -F. '{ gsub(/_pre.*|_alpha.*/, ""); print $1 "." $2 }'`" -#GCC_RELEASE_VER="`echo ${PV} | awk '{ gsub(/_pre.*|_alpha.*/, ""); print $0 }'`" -GCC_BRANCH_VER="$(get_version_component_range 1-2)" -GCC_RELEASE_VER="$(get_version_component_range 1-3)" - -LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${GCC_RELEASE_VER}" -BINPATH="${LOC}/${CCHOST}/gcc-bin/${GCC_BRANCH_VER}" -DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${GCC_BRANCH_VER}" -# Dont install in /usr/include/g++-v3/, but in gcc internal directory. -# We will handle /usr/include/g++-v3/ with gcc-config ... -STDCXX_INCDIR="${LIBPATH}/include/g++-v${GCC_BRANCH_VER/\.*/}" - -# ProPolice version -PP_VER="3_3" -PP_FVER="${PP_VER//_/.}-7" - -# Patch tarball support ... -#PATCH_VER="1.0" -PATCH_VER="1.0" - -# Snapshot support ... -#SNAPSHOT="2002-08-12" -SNAPSHOT= - -# Branch update support ... -GCC_RELEASE_VER="${PV}" # Tarball, etc used ... - -#BRANCH_UPDATE="20021208" -BRANCH_UPDATE="20040119" - -if [ -z "${SNAPSHOT}" ] -then - S="${WORKDIR}/${PN}-${GCC_RELEASE_VER}" - SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${PN}-${GCC_RELEASE_VER}.tar.bz2" - - if [ -n "${PATCH_VER}" ] - then - SRC_URI="${SRC_URI} - mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2" - fi - - if [ -n "${BRANCH_UPDATE}" ] - then - SRC_URI="${SRC_URI} - mirror://gentoo/${PN}-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2" - fi -else - S="${WORKDIR}/gcc-${SNAPSHOT//-}" - SRC_URI="ftp://sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2" -fi -if [ -n "${PP_VER}" ] -then - SRC_URI="${SRC_URI} - mirror://gentoo/protector-${PP_FVER}.tar.gz - http://www.research.ibm.com/trl/projects/security/ssp/gcc${PP_VER}/protector-${PP_FVER}.tar.gz" -fi -SRC_URI="${SRC_URI} - mirror://gentoo/${P}-manpages.tar.bz2" - -DESCRIPTION="The GNU Compiler Collection. Includes C/C++ and java compilers" -HOMEPAGE="http://gcc.gnu.org/" - -LICENSE="GPL-2 LGPL-2.1" - -KEYWORDS="x86 mips ~sparc ~amd64 -hppa alpha ia64 ppc64" - -# Ok, this is a hairy one again, but lets assume that we -# are not cross compiling, than we want SLOT to only contain -# $PV, as people upgrading to new gcc layout will not have -# their old gcc unmerged ... -SLOT="3.3" - -# We need the later binutils for support of the new cleanup attribute. -# 'make check' fails for about 10 tests (if I remember correctly) less -# if we use later bison. -# This one depends on glibc-2.3.2-r3 containing the __guard in glibc -# we scan for Guard@@libgcc and then apply the function moving patch. -DEPEND="virtual/libc - >=sys-libs/glibc-2.3.2-r3 - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - || ( app-admin/eselect-compiler >=sys-devel/gcc-config-1.3.1 ) - !build? ( >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) )" - -RDEPEND="virtual/libc - >=sys-libs/glibc-2.3.2-r3 - || ( app-admin/eselect-compiler >=sys-devel/gcc-config-1.3.1 ) - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4 - !build? ( >=sys-libs/ncurses-5.2-r2 )" - -PDEPEND="|| ( sys-devel/gcc-config app-admin/eselect-compiler )" - -chk_gcc_version() { - # This next bit is for updating libtool linker scripts ... - local OLD_GCC_VERSION="`gcc -dumpversion`" - local OLD_GCC_CHOST="$(gcc -v 2>&1 | egrep '^Reading specs' |\ - sed -e 's:^.*/gcc-lib/\([^/]*\)/[0-9]\+.*$:\1:')" - - if [ "${OLD_GCC_VERSION}" != "${GCC_RELEASE_VER}" ] - then - echo "${OLD_GCC_VERSION}" > "${WORKDIR}/.oldgccversion" - fi - - if [ -n "${OLD_GCC_CHOST}" ] - then - if [ "${CHOST}" = "${CCHOST}" -a "${OLD_GCC_CHOST}" != "${CHOST}" ] - then - echo "${OLD_GCC_CHOST}" > "${WORKDIR}/.oldgccchost" - fi - fi - - # Did we check the version ? - touch "${WORKDIR}/.chkgccversion" -} - -version_patch() { - [ ! -f "$1" ] && return 1 - [ -z "$2" ] && return 1 - - sed -e "s:@GENTOO@:$2:g" ${1} > ${T}/${1##*/} - epatch ${T}/${1##*/} -} - -glibc_have_ssp() { - local my_libc="${ROOT}/lib/libc.so.6" - - case "${ARCH}" in - "amd64") - my_libc="${ROOT}/lib64/libc.so.?" - ;; - esac - - # Check for the glibc to have the __guard symbols - if [ "$(readelf -s "${my_libc}" 2>/dev/null | \ - grep GLOBAL | grep OBJECT | grep '__guard')" ] && \ - [ "$(readelf -s "${my_libc}" 2>/dev/null | \ - grep GLOBAL | grep FUNC | grep '__stack_smash_handler')" ] - then - return 0 - else - return 1 - fi -} - -check_glibc_ssp() { - if glibc_have_ssp - then - if [ -n "${GLIBC_SSP_CHECKED}" ] && \ - [ -z "$(readelf -s "${ROOT}/$(gcc-config -L)/libgcc_s.so" 2>/dev/null | \ - grep 'GLOBAL' | grep 'OBJECT' | grep '__guard')" ] - then - # No need to check again ... - return 0 - fi - - echo - ewarn "This sys-libs/glibc has __guard object and __stack_smash_handler functions" - ewarn "scanning the system for binaries with __guard - this may take 5-10 minutes" - ewarn "Please do not press ctrl-C or ctrl-Z during this period - it will continue" - echo - if ! bash ${FILESDIR}/scan_libgcc_linked_ssp.sh - then - echo - eerror "Found binaries that are dynamically linked to the libgcc with __guard@@GCC" - eerror "You need to compile these binaries without CFLAGS -fstack-protector/hcc -r" - echo - eerror "Also, you have to make sure that using ccache needs the cache to be flushed" - eerror "wipe out /var/tmp/ccache or /root/.ccache. This will remove possible saved" - eerror "-fstack-protector arguments that still may reside in such a compiler cache" - echo - eerror "When such binaries are found, gcc cannot remove libgcc propolice functions" - eerror "leading to gcc -static -fstack-protector breaking, see gentoo bug #25299" - echo - einfo "To do a full scan on your system, enter this following command in a shell" - einfo "(Please keep running and remerging broken packages until it do not report" - einfo " any breakage anymore!):" - echo - einfo " # ${FILESDIR}/scan_libgcc_linked_ssp.sh" - echo - die "Binaries with libgcc __guard@GCC dependencies detected!" - else - echo - einfo "No binaries with suspicious libgcc __guard@GCC dependencies detected" - echo - fi - fi - - return 0 -} - -update_gcc_for_libc_ssp() { - if glibc_have_ssp - then - einfo "Updating gcc to use SSP from glibc..." - sed -e 's|^\(LIBGCC2_CFLAGS.*\)$|\1 -D_LIBC_PROVIDES_SSP_|' \ - -i ${S}/gcc/Makefile.in || die "Failed to update gcc!" - fi -} - -src_unpack() { - if [ -n "${PP_VER}" ] && [ "${ARCH}" != "hppa" ] - then - # Check for the glibc to have the guard - check_glibc_ssp - fi - - if [ -z "${SNAPSHOT}" ] - then - unpack ${PN}-${GCC_RELEASE_VER}.tar.bz2 - - if [ -n "${PATCH_VER}" ] - then - unpack ${P}-patches-${PATCH_VER}.tar.bz2 - fi - else - unpack gcc-${SNAPSHOT//-}.tar.bz2 - fi - - if [ -n "${PP_VER}" ] - then - unpack protector-${PP_FVER}.tar.gz - fi - - cd ${S} - # Fixup libtool to correctly generate .la files with portage - elibtoolize --portage --shallow - - echo - - # Branch update ... - if [ -n "${BRANCH_UPDATE}" ] - then - epatch ${DISTDIR}/${PN}-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2 - fi - - # Do bulk patches included in ${P}-patches-${PATCH_VER}.tar.bz2 - if [ -n "${PATCH_VER}" ] - then - mkdir -p ${WORKDIR}/patch/exclude -# mv -f ${WORKDIR}/patch/{40,41}* ${WORKDIR}/patch/exclude/ - mv -f ${WORKDIR}/patch/41* ${WORKDIR}/patch/exclude/ - - epatch ${WORKDIR}/patch - fi - - if [ "${ARCH}" = "ppc" -o "${ARCH}" = "ppc64" ] - then - epatch ${FILESDIR}/3.3.2/gcc332-altivec-fix.patch - fi - - if [ -z "${PP_VER}" ] - then - # Make gcc's version info specific to Gentoo - version_patch ${FILESDIR}/3.3.2/gcc332-gentoo-branding.patch \ - "${BRANCH_UPDATE} (Gentoo Linux ${PVR})" || die "Failed Branding" - fi - - if [ -n "${PP_VER}" ] && [ "${ARCH}" != "hppa" ] - then - # ProPolice Stack Smashing protection - EPATCH_OPTS="${EPATCH_OPTS} ${WORKDIR}/protector.dif" \ - epatch ${FILESDIR}/3.3.1/gcc331-pp-fixup.patch - epatch ${WORKDIR}/protector.dif - cp ${WORKDIR}/protector.c ${WORKDIR}/${P}/gcc/ || die "protector.c not found" - cp ${WORKDIR}/protector.h ${WORKDIR}/${P}/gcc/ || die "protector.h not found" - version_patch ${FILESDIR}/3.3.2/gcc332-gentoo-branding.patch \ - "${BRANCH_UPDATE} (Gentoo Linux ${PVR}, propolice-${PP_FVER})" \ - || die "Failed Branding" - - # Update build to use SSP in glibc if glibc have it ... - update_gcc_for_libc_ssp - fi - - # Install our pre generated manpages if we do not have perl ... - if [ ! -x /usr/bin/perl ] - then - cd ${S}; unpack ${P}-manpages.tar.bz2 - fi - - # Misdesign in libstdc++ (Redhat) - cp -a ${S}/libstdc++-v3/config/cpu/i{4,3}86/atomicity.h - - cd ${S}; ./contrib/gcc_update --touch &> /dev/null -} - -src_compile() { - - local myconf= - local gcc_lang= - - if ! use build - then - myconf="${myconf} --enable-shared" - gcc_lang="c,c++,f77,objc" - else - gcc_lang="c" - fi - if ! use nls || use build - then - myconf="${myconf} --disable-nls" - else - myconf="${myconf} --enable-nls --without-included-gettext" - fi - if use java && use gcj && ! use build - then - gcc_lang="${gcc_lang},java" - fi - - # Enable building of the gcj Java AWT & Swing X11 backend - # if we have X as a use flag and are not in a build stage. - # X11 support is still very experimental but enabling it is - # quite innocuous... [No, gcc is *not* linked to X11...] - # <dragon@gentoo.org> (15 May 2003) - if use java && use gcj && use X && ! use build && [ -f /usr/X11R6/include/X11/Xlib.h ] - then - myconf="${myconf} --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib" - myconf="${myconf} --enable-interpreter --enable-java-awt=xlib --with-x" - fi - - if [ "${ARCH}" = "amd64" ] - then - einfo "WARNING: Multilib not enabled. You will not be able to build 32bit binaries." - fi - myconf="${myconf} --disable-multilib" - - # Fix linking problem with c++ apps which where linkedi - # agains a 3.2.2 libgcc - [ "${ARCH}" = "hppa" ] && myconf="${myconf} --enable-sjlj-exceptions" - myconf="${myconf} --disable-libunwind-exceptions" - - # In general gcc does not like optimization, and add -O2 where - export CFLAGS="$(echo "${CFLAGS}" | sed -e 's|-O[0-9s]\?|-O2|g')" - einfo "CFLAGS=\"${CFLAGS}\"" - export CXXFLAGS="$(echo "${CXXFLAGS}" | sed -e 's|-O[0-9s]\?|-O2|g')" - einfo "CXXFLAGS=\"${CXXFLAGS}\"" - export GCJFLAGS="$(echo "${GCJFLAGS}" | sed -e 's|-O[0-9s]\?|-O2|g')" - einfo "GCJFLAGS=\"${GCJFLAGS}\"" - - # Build in a separate build tree - mkdir -p ${WORKDIR}/build - cd ${WORKDIR}/build - - einfo "Configuring GCC..." - addwrite "/dev/zero" - ${S}/configure --prefix=${LOC} \ - --bindir=${BINPATH} \ - --includedir=${LIBPATH}/include \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ - --enable-shared \ - --host=${CHOST} \ - --target=${CCHOST} \ - --with-system-zlib \ - --enable-languages=${gcc_lang} \ - --enable-threads=posix \ - --enable-long-long \ - --disable-checking \ - --enable-cstdio=stdio \ - --enable-clocale=generic \ - --enable-__cxa_atexit \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die - - touch ${S}/gcc/c-gperf.h - - # Do not make manpages if we do not have perl ... - if [ ! -x /usr/bin/perl ] - then - find ${S} -name '*.[17]' -exec touch {} \; || : - fi - - einfo "Building GCC..." - # Only build it static if we are just building the C frontend, else - # a lot of things break because there are not libstdc++.so .... - if use static && [ "${gcc_lang}" = "c" ] - then - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake LDFLAGS="-static" bootstrap \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die - # Above FLAGS optimize and speedup build, thanks - # to Jeff Garzik <jgarzik@mandrakesoft.com> - else - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake bootstrap-lean \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die - - fi -} - -src_install() { - local x= - - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as - # this can break the build. - for x in ${WORKDIR}/build/gcc/include/* - do - if [ -L ${x} ] - then - rm -f ${x} - continue - fi - done - # Remove generated headers, as they can cause things to break - # (ncurses, openssl, etc). - for x in `find ${WORKDIR}/build/gcc/include/ -name '*.h'` - do - if grep -q 'It has been auto-edited by fixincludes from' ${x} - then - rm -f ${x} - fi - done - - einfo "Installing GCC..." - # Do the 'make install' from the build directory - cd ${WORKDIR}/build - S="${WORKDIR}/build" \ - make prefix=${LOC} \ - bindir=${BINPATH} \ - includedir=${LIBPATH}/include \ - datadir=${DATAPATH} \ - mandir=${DATAPATH}/man \ - infodir=${DATAPATH}/info \ - DESTDIR="${D}" \ - LIBPATH="${LIBPATH}" \ - install || die - - [ -r ${D}${BINPATH}/gcc ] || die "gcc not found in ${D}" - - dodir /lib /usr/bin - dodir /etc/env.d/gcc - echo "PATH=\"${BINPATH}\"" > ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "ROOTPATH=\"${BINPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "LDPATH=\"${LIBPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "MANPATH=\"${DATAPATH}/man\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "INFOPATH=\"${DATAPATH}/info\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "STDCXX_INCDIR=\"${STDCXX_INCDIR##*/}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - # Also set CC and CXX - echo "CC=\"gcc\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "CXX=\"g++\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - # Make sure we do not check glibc for SSP again, as we did already - if glibc_have_ssp || \ - [ -f "${ROOT}/etc/env.d/99glibc_ssp" ] - then - echo "GLIBC_SSP_CHECKED=1" > ${D}/etc/env.d/99glibc_ssp - fi - - # Make sure we dont have stuff lying around that - # can nuke multiple versions of gcc - if ! use build - then - cd ${D}${LIBPATH} - - # Tell libtool files where real libraries are - for x in ${D}${LOC}/lib/*.la ${D}${LIBPATH}/../*.la - do - if [ -f "${x}" ] - then - sed -i -e "s:/usr/lib:${LIBPATH}:" ${x} - mv ${x} ${D}${LIBPATH} - fi - done - - # Move all the libraries to version specific libdir. - for x in ${D}${LOC}/lib/*.{so,a}* ${D}${LIBPATH}/../*.{so,a}* - do - [ -f "${x}" -o -L "${x}" ] && mv -f ${x} ${D}${LIBPATH} - done - - # Move Java headers to compiler-specific dir - for x in ${D}${LOC}/include/gc*.h ${D}${LOC}/include/j*.h - do - [ -f "${x}" ] && mv -f ${x} ${D}${LIBPATH}/include/ - done - for x in gcj gnu java javax org - do - if [ -d "${D}${LOC}/include/${x}" ] - then - dodir /${LIBPATH}/include/${x} - mv -f ${D}${LOC}/include/${x}/* ${D}${LIBPATH}/include/${x}/ - rm -rf ${D}${LOC}/include/${x} - fi - done - - if [ -d "${D}${LOC}/lib/security" ] - then - dodir /${LIBPATH}/security - mv -f ${D}${LOC}/lib/security/* ${D}${LIBPATH}/security - rm -rf ${D}${LOC}/lib/security - fi - - # Move libgcj.spec to compiler-specific directories - [ -f "${D}${LOC}/lib/libgcj.spec" ] && \ - mv -f ${D}${LOC}/lib/libgcj.spec ${D}${LIBPATH}/libgcj.spec - - # Rename jar because it could clash with Kaffe's jar if this gcc is - # primary compiler (aka don't have the -<version> extension) - cd ${D}${LOC}/${CCHOST}/gcc-bin/${GCC_BRANCH_VER} - [ -f jar ] && mv -f jar gcj-jar - - # Move <cxxabi.h> to compiler-specific directories - [ -f "${D}${STDCXX_INCDIR}/cxxabi.h" ] && \ - mv -f ${D}${STDCXX_INCDIR}/cxxabi.h ${D}${LIBPATH}/include/ - - # These should be symlinks - cd ${D}${BINPATH} - for x in gcc g++ c++ g77 gcj - do - rm -f ${CCHOST}-${x} - [ -f "${x}" ] && ln -sf ${x} ${CCHOST}-${x} - - if [ -f "${CCHOST}-${x}-${PV}" ] - then - rm -f ${CCHOST}-${x}-${PV} - ln -sf ${x} ${CCHOST}-${x}-${PV} - fi - done - fi - - # This one comes with binutils - if [ -f "${D}${LOC}/lib/libiberty.a" ] - then - rm -f ${D}${LOC}/lib/libiberty.a - fi - - cd ${S} - if ! use build - then - cd ${S} - docinto /${CCHOST} - dodoc COPYING COPYING.LIB ChangeLog* FAQ MAINTAINERS README - docinto ${CCHOST}/html - dohtml *.html - cd ${S}/boehm-gc - docinto ${CCHOST}/boehm-gc - dodoc ChangeLog doc/{README*,barrett_diagram} - docinto ${CCHOST}/boehm-gc/html - dohtml doc/*.html - cd ${S}/gcc - docinto ${CCHOST}/gcc - dodoc ChangeLog* FSFChangeLog* LANGUAGES NEWS ONEWS README* SERVICE - cd ${S}/libf2c - docinto ${CCHOST}/libf2c - dodoc ChangeLog* README TODO *.netlib - cd ${S}/libffi - docinto ${CCHOST}/libffi - dodoc ChangeLog* LICENSE README - cd ${S}/libiberty - docinto ${CCHOST}/libiberty - dodoc ChangeLog* COPYING.LIB README - cd ${S}/libobjc - docinto ${CCHOST}/libobjc - dodoc ChangeLog* README* THREADS* - cd ${S}/libstdc++-v3 - docinto ${CCHOST}/libstdc++-v3 - dodoc ChangeLog* README - docinto ${CCHOST}/libstdc++-v3/html - dohtml -r -a css,diff,html,txt,xml docs/html/* - - if use java && use gcj - then - cd ${S}/fastjar - docinto ${CCHOST}/fastjar - dodoc AUTHORS CHANGES COPYING ChangeLog* NEWS README - cd ${S}/libjava - docinto ${CCHOST}/libjava - dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS - fi - - prepman ${DATAPATH} - prepinfo ${DATAPATH} - else - rm -rf ${D}/usr/share/{man,info} - rm -rf ${D}${DATAPATH}/{man,info} - fi - - # Rather install the script, else portage with changing $FILESDIR - # between binary and source package borks things .... - insinto /lib/rcscripts/awk - doins ${FILESDIR}/awk/fixlafiles.awk - exeinto /sbin - doexe ${FILESDIR}/fix_libtool_files.sh -} - -pkg_preinst() { - - if [ ! -f "${WORKDIR}/.chkgccversion" ] - then - chk_gcc_version - fi - - # Make again sure that the linker "should" be able to locate - # libstdc++.so ... - export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" - ${ROOT}/sbin/ldconfig -} - -pkg_postinst() { - - export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" - if [ "${ROOT}" = "/" -a "${CHOST}" = "${CCHOST}" ] - then - gcc-config --use-portage-chost ${CCHOST}-${GCC_RELEASE_VER} - fi - - # Update libtool linker scripts to reference new gcc version ... - if [ "${ROOT}" = "/" ] && \ - [ -f "${WORKDIR}/.oldgccversion" -o -f "${WORKDIR}/.oldgccchost" ] - then - local OLD_GCC_VERSION= - local OLD_GCC_CHOST= - - if [ -f "${WORKDIR}/.oldgccversion" ] && \ - [ -n "$(cat "${WORKDIR}/.oldgccversion")" ] - then - OLD_GCC_VERSION="$(cat "${WORKDIR}/.oldgccversion")" - else - OLD_GCC_VERSION="${GCC_RELEASE_VER}" - fi - - if [ -f "${WORKDIR}/.oldgccchost" ] && \ - [ -n "$(cat "${WORKDIR}/.oldgccchost")" ] - then - OLD_GCC_CHOST="--oldarch $(cat "${WORKDIR}/.oldgccchost")" - fi - - /sbin/fix_libtool_files.sh ${OLD_GCC_VERSION} ${OLD_GCC_CHOST} - fi -} diff --git a/sys-devel/gcc/gcc-3.3.5-r1.ebuild b/sys-devel/gcc/gcc-3.3.5-r1.ebuild deleted file mode 100644 index 46391331f574..000000000000 --- a/sys-devel/gcc/gcc-3.3.5-r1.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.5-r1.ebuild,v 1.32 2006/08/14 16:32:23 solar Exp $ - -MAN_VER="3.3.5" -#BRANCH_UPDATE="20041025" -PATCH_VER="1.0" -PIE_VER="8.7.7.1" -PIE_CORE="gcc-3.3.5-piepatches-v${PIE_VER}.tar.bz2" -PP_VER="3_3_2" -PP_FVER="${PP_VER//_/.}-3" -HTB_VER="1.00" -#HTB_GCC_VER="" -HTB_EXCLUSIVE="true" - -ETYPE="gcc-compiler" - -# arch/libc configurations known to be stable with {PIE,SSP}-by-default -SSP_STABLE="x86 sparc amd64" -SSP_UCLIBC_STABLE="" -PIE_GLIBC_STABLE="x86 sparc amd64" -PIE_UCLIBC_STABLE="x86 mips ppc" - -# arch/libc configurations known to be broken with {PIE,SSP}-by-default -SSP_UNSUPPORTED="hppa" -SSP_UCLIBC_UNSUPPORTED="${SSP_UNSUPPORTED}" -PIE_UCLIBC_UNSUPPORTED="alpha amd64 arm hppa ia64 m68k ppc64 s390 sh sparc" -PIE_GLIBC_UNSUPPORTED="hppa" - -# whether we should split out specs files for multiple {PIE,SSP}-by-default -# and vanilla configurations. -SPLIT_SPECS="${SPLIT_SPECS:="true"}" - -#GENTOO_PATCH_EXCLUDE="" -#PIEPATCH_EXCLUDE="" - -inherit toolchain eutils - -DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking" - -KEYWORDS="~alpha ~amd64 arm hppa -ia64 ~mips s390 sh sparc x86" - -# we need a proper glibc version for the Scrt1.o provided to the pie-ssp specs -# we also need at least glibc 2.3.3 20040420-r1 in order for gcc 3.4 not to nuke -# SSP in glibc. - -# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper -# .eh_frame ld optimisation and symbol visibility support, but it hasnt been -# well tested in gentoo on any arch other than amd64!! -RDEPEND="virtual/libc - || ( app-admin/eselect-compiler >=sys-devel/gcc-config-1.3.6 ) - >=sys-libs/zlib-1.1.4 - elibc_glibc? ( >=sys-libs/glibc-2.3.2-r9 ) - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - sparc? ( hardened? ( >=sys-libs/glibc-2.3.3.20040420 ) ) - !build? ( - gcj? ( - gtk? ( >=x11-libs/gtk+-2.2 ) - >=media-libs/libart_lgpl-2.1 - ) - >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) - )" - -if [[ ${CATEGORY/cross-} != ${CATEGORY} ]]; then - RDEPEND="${RDEPEND} ${CATEGORY}/binutils" -fi - -DEPEND="${RDEPEND} - >=sys-apps/texinfo-4.2-r4 - amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )" -PDEPEND="|| ( sys-devel/gcc-config app-admin/eselect-compiler )" - -src_unpack() { - gcc_src_unpack - - if [ -n "${PATCH_VER}" ] && use elibc_uclibc ; then - mv ${S}/gcc-3.3.2/libstdc++-v3/config/os/uclibc ${S}/libstdc++-v3/config/os/ || die - mv ${S}/gcc-3.3.2/libstdc++-v3/config/locale/uclibc ${S}/libstdc++-v3/config/locale/ || die - epatch ${FILESDIR}/3.3.3/gcc-uclibc-3.3-loop.patch - fi - - # misc patches that havent made it into a patch tarball yet - [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch - - # fix an incorrect prototype of ffecom_gfrt_basictype() which causes - # 3.3.5 to not compile on some configurations. - epatch ${FILESDIR}/3.3.5/gcc-3.3.5-ffecom_gfrt_basictype-prototype.patch - - case $(tc-arch ${CTARGET}) in - ppc) - epatch ${FILESDIR}/3.3.3/gcc333_pre20040408-stack-size.patch - ;; - arm) - epatch ${FILESDIR}/3.3.3/gcc333-debian-arm-getoff.patch - epatch ${FILESDIR}/3.3.3/gcc333-debian-arm-ldm.patch - ;; - esac - - # Anything useful and objc will require libffi. Seriously. Lets just force - # libffi to install with USE="objc", even though it normally only installs - # if you attempt to build gcj. - if use !build && use objc && ! use gcj ; then - epatch ${FILESDIR}/3.3.4/libffi-without-libgcj.patch - #epatch ${FILESDIR}/3.4.3/libffi-nogcj-lib-path-fix.patch - fi - - # Don't screw with directories when cross-compiling - epatch ${FILESDIR}/3.3.5/gcc-3.3.5-no-COPYING-cross-compile.patch -} diff --git a/sys-devel/gcc/gcc-3.3.5.20050130-r1.ebuild b/sys-devel/gcc/gcc-3.3.5.20050130-r1.ebuild deleted file mode 100644 index db21d6978e9c..000000000000 --- a/sys-devel/gcc/gcc-3.3.5.20050130-r1.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.5.20050130-r1.ebuild,v 1.18 2006/08/14 16:32:23 solar Exp $ - -MAN_VER="3.3.5" -PATCH_VER="1.4" -UCLIBC_VER="1.0" -PIE_VER="8.7.7.1" -PIE_CORE="gcc-3.3.5-piepatches-v${PIE_VER}.tar.bz2" -PP_VER="3_3_5_20050130" -PP_FVER="${PP_VER//_/.}-1" -HTB_VER="1.00-r2" -#HTB_GCC_VER="3.3.5" -HTB_EXCLUSIVE="true" - -ETYPE="gcc-compiler" - -# arch/libc configurations known to be stable with {PIE,SSP}-by-default -SSP_STABLE="x86 sparc amd64" -SSP_UCLIBC_STABLE="arm mips ppc x86" -PIE_GLIBC_STABLE="x86 sparc amd64" -PIE_UCLIBC_STABLE="x86 mips ppc" - -# arch/libc configurations known to be broken with {PIE,SSP}-by-default -SSP_UNSUPPORTED="hppa" -SSP_UCLIBC_UNSUPPORTED="${SSP_UNSUPPORTED}" -PIE_UCLIBC_UNSUPPORTED="alpha amd64 arm hppa ia64 m68k ppc64 s390 sh sparc" -PIE_GLIBC_UNSUPPORTED="hppa" - -# whether we should split out specs files for multiple {PIE,SSP}-by-default -# and vanilla configurations. -SPLIT_SPECS=${SPLIT_SPECS:-"true"} - -#GENTOO_PATCH_EXCLUDE="" -#PIEPATCH_EXCLUDE="" - -inherit toolchain eutils - -DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking" - -KEYWORDS="~alpha ~amd64 arm ~hppa -ia64 ~mips sh sparc x86" - -# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper -# .eh_frame ld optimisation and symbol visibility support, but it hasnt been -# well tested in gentoo on any arch other than amd64!! -RDEPEND="virtual/libc - || ( app-admin/eselect-compiler >=sys-devel/gcc-config-1.3.10 ) - >=sys-libs/zlib-1.1.4 - elibc_glibc? ( >=sys-libs/glibc-2.3.2-r9 ) - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - sparc? ( hardened? ( >=sys-libs/glibc-2.3.3.20040420 ) ) - !build? ( - gcj? ( - gtk? ( >=x11-libs/gtk+-2.2 ) - >=media-libs/libart_lgpl-2.1 - ) - >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) - )" - -if [[ ${CATEGORY/cross-} != ${CATEGORY} ]]; then - RDEPEND="${RDEPEND} ${CATEGORY}/binutils" -fi - -DEPEND="${RDEPEND} - >=sys-apps/texinfo-4.2-r4 - amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )" -PDEPEND="|| ( sys-devel/gcc-config app-admin/eselect-compiler )" - -src_unpack() { - gcc_src_unpack - - # bah - sed -e 's/3\.3\.6/3.3.5/' -i "${S}"/gcc/version.c - - if [[ -n ${PATCH_VER} ]] && is_uclibc ; then - mv ${S}/gcc-3.3.2/libstdc++-v3/config/os/uclibc ${S}/libstdc++-v3/config/os/ || die - mv ${S}/gcc-3.3.2/libstdc++-v3/config/locale/uclibc ${S}/libstdc++-v3/config/locale/ || die - fi - - # misc patches that havent made it into a patch tarball yet - [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch - - # Anything useful and objc will require libffi. Seriously. Lets just force - # libffi to install with USE="objc", even though it normally only installs - # if you attempt to build gcj. - if use !build && use objc && ! use gcj ; then - epatch ${FILESDIR}/3.3.4/libffi-without-libgcj.patch - #epatch ${FILESDIR}/3.4.3/libffi-nogcj-lib-path-fix.patch - fi - - if [[ $(tc-arch) == "amd64" ]] ; then - replace-cpu-flags k8 i686 - replace-cpu-flags opteron i686 - replace-cpu-flags athlon64 i686 - fi -} diff --git a/sys-devel/gcc/gcc-3.3.6-r1.ebuild b/sys-devel/gcc/gcc-3.3.6-r1.ebuild index 5d3e3c8494bd..382824f460b2 100644 --- a/sys-devel/gcc/gcc-3.3.6-r1.ebuild +++ b/sys-devel/gcc/gcc-3.3.6-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.6-r1.ebuild,v 1.8 2007/07/22 06:35:08 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.6-r1.ebuild,v 1.9 2007/12/01 20:52:19 vapier Exp $ MAN_VER="" PATCH_VER="1.4" @@ -74,7 +74,7 @@ PDEPEND="|| ( sys-devel/gcc-config app-admin/eselect-compiler )" src_unpack() { gcc_src_unpack - if [[ -n ${UCLIBC_VER} ]] && is_uclibc ; then + if [[ -n ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] ; then mv ${S}/gcc-3.3.2/libstdc++-v3/config/os/uclibc ${S}/libstdc++-v3/config/os/ || die mv ${S}/gcc-3.3.2/libstdc++-v3/config/locale/uclibc ${S}/libstdc++-v3/config/locale/ || die fi diff --git a/sys-devel/gcc/gcc-3.3.6.ebuild b/sys-devel/gcc/gcc-3.3.6.ebuild deleted file mode 100644 index 34a28969d3d2..000000000000 --- a/sys-devel/gcc/gcc-3.3.6.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.6.ebuild,v 1.26 2007/07/22 06:35:08 dberkholz Exp $ - -MAN_VER="" -PATCH_VER="1.3" -UCLIBC_VER="1.0" -PIE_VER="8.7.8" -PP_VER="1.0" -HTB_VER="1.00-r1" - -ETYPE="gcc-compiler" - -# arch/libc configurations known to be stable with {PIE,SSP}-by-default -SSP_STABLE="x86 sparc amd64" -SSP_UCLIBC_STABLE="arm mips ppc x86" -PIE_GLIBC_STABLE="x86 sparc amd64" -PIE_UCLIBC_STABLE="x86 mips ppc" - -# arch/libc configurations known to be broken with {PIE,SSP}-by-default -SSP_UNSUPPORTED="hppa" -SSP_UCLIBC_UNSUPPORTED="${SSP_UNSUPPORTED}" -PIE_UCLIBC_UNSUPPORTED="alpha amd64 arm hppa ia64 m68k ppc64 s390 sh sparc" -PIE_GLIBC_UNSUPPORTED="hppa" - -# whether we should split out specs files for multiple {PIE,SSP}-by-default -# and vanilla configurations. -SPLIT_SPECS=${SPLIT_SPECS-true} - -#GENTOO_PATCH_EXCLUDE="" -#PIEPATCH_EXCLUDE="" - -inherit toolchain eutils - -DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking" - -# ia64 - broken static handling; USE=static emerge busybox -KEYWORDS="-* ~alpha ~amd64 arm hppa -ia64 m68k sh ~sparc x86" - -# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper -# .eh_frame ld optimisation and symbol visibility support, but it hasnt been -# well tested in gentoo on any arch other than amd64!! -RDEPEND="|| ( >=sys-devel/gcc-config-1.3.12-r4 app-admin/eselect-compiler ) - >=sys-libs/zlib-1.1.4 - elibc_glibc? ( >=sys-libs/glibc-2.3.2-r9 ) - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - sparc? ( hardened? ( >=sys-libs/glibc-2.3.3.20040420 ) ) - !build? ( - gcj? ( - gtk? ( - x11-libs/libXt - x11-libs/libX11 - x11-libs/libXtst - x11-proto/xproto - x11-proto/xextproto - >=x11-libs/gtk+-2.2 - ) - >=media-libs/libart_lgpl-2.1 - ) - >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) - )" - -if [[ ${CATEGORY/cross-} != ${CATEGORY} ]]; then - RDEPEND="${RDEPEND} ${CATEGORY}/binutils" -fi - -DEPEND="${RDEPEND} - >=sys-apps/texinfo-4.2-r4 - amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )" -PDEPEND="|| ( sys-devel/gcc-config app-admin/eselect-compiler )" - -src_unpack() { - gcc_src_unpack - - if [[ -n ${UCLIBC_VER} ]] && is_uclibc ; then - mv ${S}/gcc-3.3.2/libstdc++-v3/config/os/uclibc ${S}/libstdc++-v3/config/os/ || die - mv ${S}/gcc-3.3.2/libstdc++-v3/config/locale/uclibc ${S}/libstdc++-v3/config/locale/ || die - fi - - # misc patches that havent made it into a patch tarball yet - [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch - epatch "${FILESDIR}"/3.3.6/gcc-3.3.6-cross-compile.patch - - # Anything useful and objc will require libffi. Seriously. Lets just force - # libffi to install with USE="objc", even though it normally only installs - # if you attempt to build gcj. - if ! use build && use objc && ! use gcj ; then - epatch ${FILESDIR}/3.3.4/libffi-without-libgcj.patch - #epatch ${FILESDIR}/3.4.3/libffi-nogcj-lib-path-fix.patch - fi - - [[ $(tc-arch) == "amd64" ]] && \ - replace-cpu-flags k8 athlon64 opteron i686 -} |