diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-06-30 03:09:40 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-06-30 03:09:40 +0000 |
commit | 8592020ad9b4aa30a51b7faf57ae1ec7d85eb1ac (patch) | |
tree | 691e286e5d7b7c46c3147ac1729902c9e4653fcc /sys-devel | |
parent | GCC-3.1 configure fix! (diff) | |
download | historical-8592020ad9b4aa30a51b7faf57ae1ec7d85eb1ac.tar.gz historical-8592020ad9b4aa30a51b7faf57ae1ec7d85eb1ac.tar.bz2 historical-8592020ad9b4aa30a51b7faf57ae1ec7d85eb1ac.zip |
small fix
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/gcc/files/gcc-2.95.3-new-atexit.diff | 429 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-2.95.3-r7.ebuild | 3 |
2 files changed, 263 insertions, 169 deletions
diff --git a/sys-devel/gcc/files/gcc-2.95.3-new-atexit.diff b/sys-devel/gcc/files/gcc-2.95.3-new-atexit.diff index bf237211e366..af4de7908197 100644 --- a/sys-devel/gcc/files/gcc-2.95.3-new-atexit.diff +++ b/sys-devel/gcc/files/gcc-2.95.3-new-atexit.diff @@ -1,71 +1,66 @@ -diff -NPru gcc-2.95.3-orig/gcc/c-decl.c gcc-2.95.3/gcc/c-decl.c ---- gcc-2.95.3-orig/gcc/c-decl.c Thu Jan 25 08:02:59 2001 -+++ gcc-2.95.3/gcc/c-decl.c Fri Aug 10 13:38:24 2001 -@@ -29,6 +29,7 @@ - - #include "config.h" - #include "system.h" -+#include "rtl.h" - #include "tree.h" - #include "flags.h" - #include "output.h" -@@ -41,6 +42,8 @@ - extern cpp_reader parse_in; - #endif - -+extern void declare_weak PARAMS ((tree)); +--- gcc-2.95.3-orig/gcc/c-common.c Tue Sep 7 03:11:16 1999 ++++ gcc-2.95.3/gcc/c-common.c Tue Aug 14 11:15:53 2001 +@@ -697,7 +697,23 @@ + if (exact_log2 (align) == -1) + error ("requested alignment is not a power of 2"); + else if (is_type) +- TYPE_ALIGN (type) = align; ++ { ++ /* If we have a TYPE_DECL, then copy the type, so that we ++ don't accidentally modify a builtin type. See pushdecl. */ ++ if (decl && TREE_TYPE (decl) != error_mark_node ++ && DECL_ORIGINAL_TYPE (decl) == NULL_TREE) ++ { ++ tree tt = TREE_TYPE (decl); ++ DECL_ORIGINAL_TYPE (decl) = tt; ++ tt = build_type_copy (tt); ++ TYPE_NAME (tt) = decl; ++ TREE_USED (tt) = TREE_USED (decl); ++ TREE_TYPE (decl) = tt; ++ type = tt; ++ } + - /* In grokdeclarator, distinguish syntactic contexts of declarators. */ - enum decl_context - { NORMAL, /* Ordinary declaration */ -@@ -2028,7 +2031,15 @@ - } - - /* Merge the storage class information. */ -- DECL_WEAK (newdecl) |= DECL_WEAK (olddecl); -+ if (!DECL_WEAK (newdecl) && DECL_WEAK (olddecl)) -+ declare_weak (newdecl); -+ if (DECL_WEAK (newdecl) && !DECL_WEAK (olddecl)) -+ declare_weak (olddecl); -+ if (DECL_WEAK (newdecl) && DECL_RTL (newdecl) -+ && GET_CODE (DECL_RTL (newdecl)) == MEM -+ && XEXP (DECL_RTL (newdecl), 0) -+ && GET_CODE (XEXP (DECL_RTL (newdecl), 0)) == SYMBOL_REF) -+ SYMBOL_REF_WEAK (XEXP (DECL_RTL (newdecl), 0)) = 1; - /* For functions, static overrides non-static. */ - if (TREE_CODE (newdecl) == FUNCTION_DECL) - { -diff -NPru gcc-2.95.3-orig/gcc/config/alpha/crtbegin.asm gcc-2.95.3/gcc/config/alpha/crtbegin.asm ++ TYPE_ALIGN (type) = align; ++ } + else if (TREE_CODE (decl) != VAR_DECL + && TREE_CODE (decl) != FIELD_DECL) + error_with_decl (decl, --- gcc-2.95.3-orig/gcc/config/alpha/crtbegin.asm Wed Dec 16 15:00:53 1998 -+++ gcc-2.95.3/gcc/config/alpha/crtbegin.asm Fri Aug 10 13:41:41 2001 -@@ -97,6 +97,24 @@ ++++ gcc-2.95.3/gcc/config/alpha/crtbegin.asm Tue Aug 14 11:15:53 2001 +@@ -97,6 +97,31 @@ # Support recursive calls to exit. $ptr: .quad __DTOR_LIST__ -+ .global __dso_handle -+ .type __dso_handle,@object -+ .size __dso_handle,8 ++/* A globally unique widget for c++ local destructors to hang off. ++ ++ This has a unique value in every dso; in the main program its ++ value is zero. The object should be protected. This means the ++ instance in any dso or the main program is not used in any other ++ dso. The dynamic linker takes care of this. */ ++ ++ .global __dso_handle ++ .type __dso_handle,@object ++ .size __dso_handle,8 +#ifdef SHARED +.section .data -+ .align 3 ++ .align 3 +__dso_handle: -+ .quad __dso_handle ++ .quad __dso_handle +#else +.section .bss -+ .align 3 ++ .align 3 +__dso_handle: -+ .zero 8 ++ .zero 8 +#endif +#ifdef HAVE_GAS_HIDDEN -+ .hidden __dso_handle ++ .hidden __dso_handle +#endif + .text .align 3 -diff -NPru gcc-2.95.3-orig/gcc/config/i386/i386.c gcc-2.95.3/gcc/config/i386/i386.c --- gcc-2.95.3-orig/gcc/config/i386/i386.c Tue Sep 7 02:38:56 1999 -+++ gcc-2.95.3/gcc/config/i386/i386.c Fri Aug 10 13:38:24 2001 ++++ gcc-2.95.3/gcc/config/i386/i386.c Tue Aug 14 11:17:15 2001 @@ -291,7 +291,7 @@ if (ix86_arch_string == 0) @@ -84,9 +79,8 @@ diff -NPru gcc-2.95.3-orig/gcc/config/i386/i386.c gcc-2.95.3/gcc/config/i386/i38 ix86_arch = PROCESSOR_DEFAULT; } -diff -NPru gcc-2.95.3-orig/gcc/config/i386/linux.h gcc-2.95.3/gcc/config/i386/linux.h --- gcc-2.95.3-orig/gcc/config/i386/linux.h Wed Apr 7 19:32:13 1999 -+++ gcc-2.95.3/gcc/config/i386/linux.h Fri Aug 10 13:38:24 2001 ++++ gcc-2.95.3/gcc/config/i386/linux.h Tue Aug 14 11:15:53 2001 @@ -234,3 +234,21 @@ } \ } while (0) @@ -109,49 +103,21 @@ diff -NPru gcc-2.95.3-orig/gcc/config/i386/linux.h gcc-2.95.3/gcc/config/i386/li + } \ + while (0) +#endif -diff -uNr gcc-2.95.3.orig/gcc/configure gcc-2.95.3/gcc/configure ---- gcc-2.95.3.orig/gcc/configure Sat Mar 17 01:13:48 2001 -+++ gcc-2.95.3/gcc/configure Sat Aug 18 07:18:42 2001 -@@ -1311,7 +1311,7 @@ - fi - - # Find some useful tools --for ac_prog in gawk mawk nawk awk -+for ac_prog in mawk gawk nawk awk - do - # Extract the first word of "$ac_prog", so it can be a program name with args. - set dummy $ac_prog; ac_word=$2 -@@ -8229,8 +8229,26 @@ - fi - echo "$ac_t""$gcc_cv_as_subsections" 1>&6 - -+echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6 -+echo "configure:8234: checking assembler hidden support" >&5 -+gcc_cv_as_hidden= -+if test x$gcc_cv_as != x; then -+ # Check if we have .hidden -+ echo " .hidden foobar" > conftest.s -+ echo "foobar:" >> conftest.s -+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then -+ cat >> confdefs.h <<\EOF -+#define HAVE_GAS_HIDDEN 1 -+EOF -+ -+ gcc_cv_as_hidden="yes" -+ fi -+ rm -f conftest.s conftest.o conftest.nm1 conftest.nm2 -+fi -+echo "$ac_t""$gcc_cv_as_hidden" 1>&6 -+ - echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 --echo "configure:8234: checking assembler instructions" >&5 -+echo "configure:8252: checking assembler instructions" >&5 - gcc_cv_as_instructions= - if test x$gcc_cv_as != x; then - set "filds fists" "filds mem; fists mem" -diff -NPru gcc-2.95.3-orig/gcc/crtstuff.c gcc-2.95.3/gcc/crtstuff.c +--- gcc-2.95.3-orig/gcc/config/rs6000/rs6000.md Thu Jan 25 08:03:35 2001 ++++ gcc-2.95.3/gcc/config/rs6000/rs6000.md Tue Aug 14 11:15:53 2001 +@@ -6184,7 +6184,9 @@ + reg. So expand it. */ + if (GET_CODE (operands[0]) == SUBREG + && GET_CODE (SUBREG_REG (operands[0])) == REG +- && REGNO (SUBREG_REG (operands[0])) < FIRST_PSEUDO_REGISTER) ++ && REGNO (SUBREG_REG (operands[0])) < FIRST_PSEUDO_REGISTER ++ && (! REG_FUNCTION_VALUE_P (SUBREG_REG (operands[0])) ++ || ! rtx_equal_function_value_matters)) + operands[0] = alter_subreg (operands[0]); + if (GET_CODE (operands[1]) == SUBREG + && GET_CODE (SUBREG_REG (operands[1])) == REG --- gcc-2.95.3-orig/gcc/crtstuff.c Mon Mar 22 18:43:51 1999 -+++ gcc-2.95.3/gcc/crtstuff.c Fri Aug 10 13:45:26 2001 ++++ gcc-2.95.3/gcc/crtstuff.c Tue Aug 14 11:15:53 2001 @@ -55,6 +55,7 @@ #include "defaults.h" #include <stddef.h> @@ -160,10 +126,20 @@ diff -NPru gcc-2.95.3-orig/gcc/crtstuff.c gcc-2.95.3/gcc/crtstuff.c /* We do not want to add the weak attribute to the declarations of these routines in frame.h because that will cause the definition of these -@@ -135,6 +136,18 @@ +@@ -134,6 +135,29 @@ + #ifdef INIT_SECTION_ASM_OP #ifdef OBJECT_FORMAT_ELF - ++/* Declare the __dso_handle variable. It should have a unique value ++ in every shared-object; in a main program its value is zero. The ++ object should in any case be protected. This means the instance ++ in one DSO or the main program is not used in another object. The ++ dynamic linker takes care of this. */ ++ ++/* XXX Ideally the following should be implemented using ++ __attribute__ ((__visibility__ ("hidden"))) ++ but the __attribute__ support is not yet there. */ ++#define HAVE_GAS_HIDDEN 1 +#ifdef HAVE_GAS_HIDDEN +asm (".hidden\t__dso_handle"); +#endif @@ -174,24 +150,25 @@ diff -NPru gcc-2.95.3-orig/gcc/crtstuff.c gcc-2.95.3/gcc/crtstuff.c +void *__dso_handle = 0; +#endif + ++/* The __cxa_finalize function may not be available so we use only a ++ weak declaration. */ +extern void __cxa_finalize (void *) TARGET_ATTRIBUTE_WEAK; -+ + /* Run all the global destructors on exit from the program. */ - /* Some systems place the number of pointers in the first word of the -@@ -165,6 +178,11 @@ +@@ -165,6 +189,11 @@ if (completed) return; +#ifdef CRTSTUFFS_O + if (__cxa_finalize) -+ __cxa_finalize (__dso_handle); ++ __cxa_finalize (__dso_handle); +#endif + while (*p) { p++; -@@ -379,20 +397,8 @@ +@@ -379,20 +408,8 @@ FORCE_INIT_SECTION_ALIGN; #endif asm (TEXT_SECTION_ASM_OP); @@ -214,91 +191,207 @@ diff -NPru gcc-2.95.3-orig/gcc/crtstuff.c gcc-2.95.3/gcc/crtstuff.c #endif } -diff -NPru gcc-2.95.3-orig/gcc/rtl.h gcc-2.95.3/gcc/rtl.h +--- gcc-2.95.3-orig/gcc/cse.c Thu Jan 25 08:03:03 2001 ++++ gcc-2.95.3/gcc/cse.c Tue Aug 14 11:15:53 2001 +@@ -695,8 +695,6 @@ + static struct cse_reg_info* get_cse_reg_info PROTO((int)); + static void free_cse_reg_info PROTO((splay_tree_value)); + static void flush_hash_table PROTO((void)); +- +-extern int rtx_equal_function_value_matters; + + /* Dump the expressions in the equivalence class indicated by CLASSP. + This function is used only for debugging. */ +--- gcc-2.95.3-orig/gcc/function.c Thu Jan 25 08:03:15 2001 ++++ gcc-2.95.3/gcc/function.c Tue Aug 14 11:15:53 2001 +@@ -5292,7 +5292,18 @@ + - offset_ptr->constant); + } + #else /* !ARGS_GROW_DOWNWARD */ +- pad_to_arg_alignment (initial_offset_ptr, boundary); ++ if (!in_regs ++#ifdef REG_PARM_STACK_SPACE ++ || REG_PARM_STACK_SPACE (fndecl) > 0 ++#else ++ /* For the gcc-2_95-branch we want to make sure not to break something ++ on platforms which pass argument in registers but don't define ++ REG_PARM_STACK_SPACE. So we force the original behaviour here. */ ++ || 1 ++#endif ++ ) ++ pad_to_arg_alignment (initial_offset_ptr, boundary); ++ + *offset_ptr = *initial_offset_ptr; + + #ifdef PUSH_ROUNDING --- gcc-2.95.3-orig/gcc/rtl.h Thu Jan 25 08:03:22 2001 -+++ gcc-2.95.3/gcc/rtl.h Fri Aug 10 13:38:24 2001 -@@ -661,6 +661,8 @@ ++++ gcc-2.95.3/gcc/rtl.h Tue Aug 14 11:16:20 2001 +@@ -168,7 +168,8 @@ + either changing how we compute the frame address or saving and + restoring registers in the prologue and epilogue. + 1 in a MEM if the MEM refers to a scalar, rather than a member of +- an aggregate. */ ++ an aggregate. ++ 1 in a SYMBOL_REF if the symbol is weak. */ + unsigned frame_related : 1; + /* The first element of the operands of this rtx. + The number of operands and their types are controlled +@@ -661,6 +662,9 @@ /* 1 means a SYMBOL_REF has been the library function in emit_library_call. */ #define SYMBOL_REF_USED(RTX) ((RTX)->used) -+#define SYMBOL_REF_WEAK(RTX) ((RTX)->integrated) ++/* 1 means a SYMBOL_REF is weak. */ ++#define SYMBOL_REF_WEAK(RTX) ((RTX)->frame_related) + /* For an INLINE_HEADER rtx, FIRST_FUNCTION_INSN is the first insn of the function that is not involved in copying parameters to pseudo-registers. FIRST_PARM_INSN is the very first insn of -diff -NPru gcc-2.95.3-orig/gcc/rtlanal.c gcc-2.95.3/gcc/rtlanal.c +@@ -888,6 +892,12 @@ + /* For a NOTE_INSN_LIVE note, the original basic block number. */ + #define RANGE_LIVE_ORIG_BLOCK(INSN) (XINT (INSN, 1)) + ++/* Nonzero if we need to distinguish between the return value of this function ++ and the return value of a function called by this function. This helps ++ integrate.c. ++ This is 1 until after the rtl generation pass. */ ++extern int rtx_equal_function_value_matters; ++ + /* Generally useful functions. */ + + /* The following functions accept a wide integer argument. Rather than --- gcc-2.95.3-orig/gcc/rtlanal.c Thu Jan 25 08:03:22 2001 -+++ gcc-2.95.3/gcc/rtlanal.c Fri Aug 10 13:38:24 2001 -@@ -136,6 +136,8 @@ ++++ gcc-2.95.3/gcc/rtlanal.c Tue Aug 14 11:16:20 2001 +@@ -136,11 +136,9 @@ switch (code) { case SYMBOL_REF: -+ return SYMBOL_REF_WEAK (x); ++ return SYMBOL_REF_WEAK (x); + case LABEL_REF: - /* SYMBOL_REF is problematic due to the possible presence of - a #pragma weak, but to say that loads from symbols can trap is -diff -NPru gcc-2.95.3-orig/gcc/varasm.c gcc-2.95.3/gcc/varasm.c ---- gcc-2.95.3-orig/gcc/varasm.c Mon Feb 19 08:02:02 2001 -+++ gcc-2.95.3/gcc/varasm.c Fri Aug 10 13:38:24 2001 -@@ -118,6 +118,8 @@ - struct rtx_const; - struct pool_constant; +- /* SYMBOL_REF is problematic due to the possible presence of +- a #pragma weak, but to say that loads from symbols can trap is +- *very* costly. It's not at all clear what's best here. For +- now, we ignore the impact of #pragma weak. */ + return 0; -+void declare_weak PROTO ((tree)); -+ - static const char *strip_reg_name PROTO((const char *)); - static int contains_pointers_p PROTO((tree)); - static void decode_addr_const PROTO((tree, struct addr_const *)); -@@ -143,6 +145,7 @@ - static void output_after_function_constants PROTO((void)); - static void output_constructor PROTO((tree, int)); - static void remove_from_pending_weak_list PROTO ((char *)); -+static int is_on_pending_weak_list PROTO ((char *)); - #ifdef ASM_OUTPUT_BSS - static void asm_output_bss PROTO((FILE *, tree, char *, int, int)); - #endif -@@ -755,6 +758,9 @@ - DECL_RTL (decl) = gen_rtx_MEM (DECL_MODE (decl), - gen_rtx_SYMBOL_REF (Pmode, name)); - MEM_ALIAS_SET (DECL_RTL (decl)) = get_alias_set (decl); -+ if (is_on_pending_weak_list (name)) -+ declare_weak (decl); -+ SYMBOL_REF_WEAK (XEXP (DECL_RTL (decl), 0)) = DECL_WEAK (decl); - - /* If this variable is to be treated as volatile, show its - tree node has side effects. If it has side effects, either -@@ -4341,8 +4347,6 @@ - { - if (! TREE_PUBLIC (decl)) - error_with_decl (decl, "weak declaration of `%s' must be public"); -- else if (TREE_ASM_WRITTEN (decl)) -- error_with_decl (decl, "weak declaration of `%s' must precede definition"); - else if (SUPPORTS_WEAK) - DECL_WEAK (decl) = 1; - #ifdef HANDLE_PRAGMA_WEAK -@@ -4394,6 +4398,24 @@ + case REG: +--- gcc-2.95.3-orig/gcc/stor-layout.c Thu Mar 11 07:56:20 1999 ++++ gcc-2.95.3/gcc/stor-layout.c Tue Aug 14 11:15:53 2001 +@@ -264,8 +264,8 @@ + if (spec_size == 0 && DECL_NAME (decl) != 0) + abort (); + +- /* Size is specified number of bits. */ +- DECL_SIZE (decl) = size_int (spec_size); ++ /* Size is specified in number of bits. */ ++ DECL_SIZE (decl) = bitsize_int (spec_size, 0); + } + /* Force alignment required for the data type. + But if the decl itself wants greater alignment, don't override that. +@@ -301,7 +301,7 @@ + DECL_ALIGN (decl) = MAX ((unsigned) GET_MODE_ALIGNMENT (xmode), + DECL_ALIGN (decl)); + DECL_MODE (decl) = xmode; +- DECL_SIZE (decl) = size_int (GET_MODE_BITSIZE (xmode)); ++ DECL_SIZE (decl) = bitsize_int (GET_MODE_BITSIZE (xmode), 0); + /* This no longer needs to be accessed as a bit field. */ + DECL_BIT_FIELD (decl) = 0; } +@@ -520,7 +520,7 @@ + DECL_FIELD_BITPOS (field) = var_size; + else + { +- DECL_FIELD_BITPOS (field) = size_int (const_size); ++ DECL_FIELD_BITPOS (field) = bitsize_int (const_size, 0L); + + /* If this field ended up more aligned than we thought it + would be (we approximate this by seeing if its position +@@ -562,7 +562,7 @@ + + if (var_size == 0) + { +- TYPE_SIZE (rec) = size_int (const_size); ++ TYPE_SIZE (rec) = bitsize_int (const_size, 0L); } + else + { +@@ -610,7 +610,7 @@ + /* The size of the union, based on the fields scanned so far, + is max (CONST_SIZE, VAR_SIZE). + VAR_SIZE may be null; then CONST_SIZE by itself is the size. */ +- register int const_size = 0; ++ register HOST_WIDE_INT const_size = 0; + register tree var_size = 0; + + #ifdef STRUCTURE_SIZE_BOUNDARY +@@ -627,6 +627,8 @@ + + for (field = TYPE_FIELDS (rec); field; field = TREE_CHAIN (field)) + { ++ tree dsize; ++ + /* Enums which are local to this class need not be laid out. */ + if (TREE_CODE (field) == CONST_DECL || TREE_CODE (field) == TYPE_DECL) + continue; +@@ -645,19 +647,22 @@ + union_align = MAX (union_align, TYPE_ALIGN (TREE_TYPE (field))); #endif -+} + ++ dsize = DECL_SIZE (field); + if (TREE_CODE (rec) == UNION_TYPE) + { + /* Set union_size to max (decl_size, union_size). + There are more and less general ways to do this. + Use only CONST_SIZE unless forced to use VAR_SIZE. */ + +- if (TREE_CODE (DECL_SIZE (field)) == INTEGER_CST) ++ if (TREE_CODE (dsize) == INTEGER_CST ++ && ! TREE_CONSTANT_OVERFLOW (dsize) ++ && TREE_INT_CST_HIGH (dsize) == 0) + const_size +- = MAX (const_size, TREE_INT_CST_LOW (DECL_SIZE (field))); ++ = MAX (const_size, TREE_INT_CST_LOW (dsize)); + else if (var_size == 0) +- var_size = DECL_SIZE (field); ++ var_size = dsize; + else +- var_size = size_binop (MAX_EXPR, var_size, DECL_SIZE (field)); ++ var_size = size_binop (MAX_EXPR, var_size, dsize); + } + else if (TREE_CODE (rec) == QUAL_UNION_TYPE) + var_size = fold (build (COND_EXPR, sizetype, DECL_QUALIFIER (field), +--- gcc-2.95.3-orig/gcc/toplev.c Thu Jan 25 08:03:23 2001 ++++ gcc-2.95.3/gcc/toplev.c Tue Aug 14 11:15:53 2001 +@@ -137,8 +137,6 @@ + #define DIR_SEPARATOR '/' + #endif + +-extern int rtx_equal_function_value_matters; +- + #if ! (defined (VMS) || defined (OS2)) + extern char **environ; + #endif +--- gcc-2.95.3-orig/gcc/varasm.c Mon Feb 19 08:02:02 2001 ++++ gcc-2.95.3/gcc/varasm.c Tue Aug 14 11:16:20 2001 +@@ -723,6 +723,8 @@ + Also handle vars declared register invalidly. */ + if (DECL_RTL (decl) == 0) + { ++ rtx x; + -+static int -+is_on_pending_weak_list (name) -+ char * name; -+{ -+#ifdef HANDLE_PRAGMA_WEAK -+ if (HANDLE_PRAGMA_WEAK) -+ { -+ struct weak_syms *t; -+ for (t = weak_decls; t; t = t->next) -+ { -+ if (t->name && strcmp (name, t->name) == 0) -+ return 1; -+ } -+ } -+#endif -+ return 0; - } + /* Can't use just the variable's own name for a variable + whose scope is less than the whole file. + Concatenate a distinguishing number. */ +@@ -752,8 +754,10 @@ + new_name, strlen (new_name)); + } - void +- DECL_RTL (decl) = gen_rtx_MEM (DECL_MODE (decl), +- gen_rtx_SYMBOL_REF (Pmode, name)); ++ x = gen_rtx_SYMBOL_REF (Pmode, name); ++ SYMBOL_REF_WEAK (x) = DECL_WEAK (decl); ++ DECL_RTL (decl) = gen_rtx_MEM (DECL_MODE (decl), x); ++ + MEM_ALIAS_SET (DECL_RTL (decl)) = get_alias_set (decl); + + /* If this variable is to be treated as volatile, show its diff --git a/sys-devel/gcc/gcc-2.95.3-r7.ebuild b/sys-devel/gcc/gcc-2.95.3-r7.ebuild index 57173ec99846..42444bf28083 100644 --- a/sys-devel/gcc/gcc-2.95.3-r7.ebuild +++ b/sys-devel/gcc/gcc-2.95.3-r7.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.3-r7.ebuild,v 1.2 2002/06/29 17:51:02 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.3-r7.ebuild,v 1.3 2002/06/30 03:09:40 azarah Exp $ TV=4.0 SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${P}.tar.gz" @@ -40,6 +40,7 @@ src_unpack() { # Azarah - 29 Jun 2002 # # http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2001/08/0476.html + # http://archive.linuxfromscratch.org/mail-archives/lfs-dev/2001/08/0589.html patch -l -p1 < ${FILESDIR}/${P}-new-atexit.diff || die # Now we integrate texinfo-${TV} into gcc. It comes with texinfo-3.12. |