diff options
author | Mike Frysinger <vapier@gentoo.org> | 2004-06-08 01:52:22 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2004-06-08 01:52:22 +0000 |
commit | a6d9415c801f206b15a9799e825b982109cb8fb2 (patch) | |
tree | 2adcfde709634910c0a116ce93e5145c4ae65f85 /sys-devel | |
parent | dyn_fetch() -> pkg_nofetch() (diff) | |
download | historical-a6d9415c801f206b15a9799e825b982109cb8fb2.tar.gz historical-a6d9415c801f206b15a9799e825b982109cb8fb2.tar.bz2 historical-a6d9415c801f206b15a9799e825b982109cb8fb2.zip |
not used anymore
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc-3.2.1-bug-url.patch | 11 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc32-fix-sixtrack.patch | 52 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch | 11 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc32-pr8213.patch | 69 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc32-pr8988.patch | 69 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc32-shared-pthread.patch | 99 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc32-testsuite.patch | 17 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.1/gcc32-tls-reload-fix.patch | 216 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.2/gcc32-pr9732.patch | 159 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.2/gcc322-pr8746.patch | 73 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2.2/gcc322-pr9888.patch | 293 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2/gcc-3.2-glibc-2.3-compat.diff | 154 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2/gcc-3.2.ctype.patch | 106 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch | 61 | ||||
-rw-r--r-- | sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch | 53 |
15 files changed, 0 insertions, 1443 deletions
diff --git a/sys-devel/gcc/files/3.2.1/gcc-3.2.1-bug-url.patch b/sys-devel/gcc/files/3.2.1/gcc-3.2.1-bug-url.patch deleted file mode 100644 index a5156d22b59a..000000000000 --- a/sys-devel/gcc/files/3.2.1/gcc-3.2.1-bug-url.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-3.2.1/gcc/system.h.orig 2002-12-23 12:13:00.000000000 +0200 -+++ gcc-3.2.1/gcc/system.h 2002-12-23 12:13:29.000000000 +0200 -@@ -26,7 +26,7 @@ - /* This is the location of the online document giving information how - to report bugs. If you change this string, also check for strings - not under control of the preprocessor. */ --#define GCCBUGURL "<URL:http://bugzilla.redhat.com/bugzilla/>" -+#define GCCBUGURL "<URL:http://bugs.gentoo.org/>" - - /* We must include stdarg.h/varargs.h before stdio.h. */ - #ifdef ANSI_PROTOTYPES diff --git a/sys-devel/gcc/files/3.2.1/gcc32-fix-sixtrack.patch b/sys-devel/gcc/files/3.2.1/gcc32-fix-sixtrack.patch deleted file mode 100644 index 4a4338fcaaa3..000000000000 --- a/sys-devel/gcc/files/3.2.1/gcc32-fix-sixtrack.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- gcc-3.2/gcc/loop.c.fix-sixtrack 2002-09-20 14:56:57.000000000 +0200 -+++ gcc-3.2/gcc/loop.c 2002-09-20 15:30:57.000000000 +0200 -@@ -4661,7 +4661,7 @@ loop_givs_reduce (loop, bl) - rtx insert_before; - - if (! auto_inc_opt) -- insert_before = tv->insn; -+ insert_before = NEXT_INSN (tv->insn); - else if (auto_inc_opt == 1) - insert_before = NEXT_INSN (v->insn); - else ---- gcc-3.2/gcc/emit-rtl.c.fix-sixtrack 2002-09-20 14:56:56.000000000 +0200 -+++ gcc-3.2/gcc/emit-rtl.c 2002-09-20 15:30:57.000000000 +0200 -@@ -1829,11 +1829,36 @@ set_mem_attributes (ref, t, objectp) - - do - { -+ tree index = TREE_OPERAND (t, 1); -+ tree array = TREE_OPERAND (t, 0); -+ tree domain = TYPE_DOMAIN (TREE_TYPE (array)); -+ tree low_bound = (domain ? TYPE_MIN_VALUE (domain) : 0); -+ tree unit_size = TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (array))); -+ -+ /* We assume all arrays have sizes that are a multiple of a byte. -+ First subtract the lower bound, if any, in the type of the -+ index, then convert to sizetype and multiply by the size of the -+ array element. */ -+ if (low_bound != 0 && ! integer_zerop (low_bound)) -+ index = fold (build (MINUS_EXPR, TREE_TYPE (index), -+ index, low_bound)); -+ -+ /* If the index has a self-referential type, pass it to a -+ WITH_RECORD_EXPR; if the component size is, pass our -+ component to one. */ -+ if (! TREE_CONSTANT (index) -+ && contains_placeholder_p (index)) -+ index = build (WITH_RECORD_EXPR, TREE_TYPE (index), index, t); -+ if (! TREE_CONSTANT (unit_size) -+ && contains_placeholder_p (unit_size)) -+ unit_size = build (WITH_RECORD_EXPR, sizetype, -+ unit_size, array); -+ - off_tree - = fold (build (PLUS_EXPR, sizetype, - fold (build (MULT_EXPR, sizetype, -- TREE_OPERAND (t, 1), -- TYPE_SIZE_UNIT (TREE_TYPE (t)))), -+ index, -+ unit_size)), - off_tree)); - t = TREE_OPERAND (t, 0); - } diff --git a/sys-devel/gcc/files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch b/sys-devel/gcc/files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch deleted file mode 100644 index 016aa11d4494..000000000000 --- a/sys-devel/gcc/files/3.2.1/gcc32-libjava-x86_64-biarch-sigaction.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc-3.2/libjava/include/dwarf2-signal.h.libjava-x86_64-biarch-sigaction 2002-09-20 12:08:46.000000000 -0400 -+++ gcc-3.2/libjava/include/dwarf2-signal.h 2002-09-20 13:30:07.000000000 -0400 -@@ -209,7 +209,7 @@ do \ - while (0) - #endif - #elif !defined(__ia64__) --#if defined(__x86_64__) -+#if defined(__x86_64__) || (defined(__i386__) && !defined(SYS_sigaction)) - #define SYS_sigaction SYS_rt_sigaction - #endif - #define INIT_SEGV \ diff --git a/sys-devel/gcc/files/3.2.1/gcc32-pr8213.patch b/sys-devel/gcc/files/3.2.1/gcc32-pr8213.patch deleted file mode 100644 index 762d198f4cfd..000000000000 --- a/sys-devel/gcc/files/3.2.1/gcc32-pr8213.patch +++ /dev/null @@ -1,69 +0,0 @@ -2002-10-30 Jan Hubicka <jh@suse.cz> - - PR target/8213 - * config/i386/i386.c (ix86_expand_int_movcc): Fix RTL sharing problem. - -2002-11-04 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> - - * testsuite/gcc.c-torture/execute/20021104.c: New test. - ---- gcc-3.2/gcc/config/i386/i386.c.pr8213 2002-11-04 12:56:37.000000000 -0500 -+++ gcc-3.2/gcc/config/i386/i386.c 2002-11-04 13:21:22.000000000 -0500 -@@ -8274,11 +8274,11 @@ ix86_expand_int_movcc (operands) - /* On x86_64 the lea instruction operates on Pmode, so we need to get arithmetics - done in proper mode to match. */ - if (diff == 1) -- tmp = out; -+ tmp = copy_rtx (out); - else - { - rtx out1; -- out1 = out; -+ out1 = copy_rtx (out); - tmp = gen_rtx_MULT (mode, out1, GEN_INT (diff & ~1)); - nops++; - if (diff & 1) -@@ -8302,12 +8302,12 @@ ix86_expand_int_movcc (operands) - clob = gen_rtx_REG (CCmode, FLAGS_REG); - clob = gen_rtx_CLOBBER (VOIDmode, clob); - -- tmp = gen_rtx_SET (VOIDmode, out, tmp); -+ tmp = gen_rtx_SET (VOIDmode, copy_rtx (out), tmp); - tmp = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, copy_rtx (tmp), clob)); - emit_insn (tmp); - } - else -- emit_insn (gen_rtx_SET (VOIDmode, out, tmp)); -+ emit_insn (gen_rtx_SET (VOIDmode, copy_rtx (out), tmp)); - } - if (out != operands[0]) - emit_move_insn (operands[0], copy_rtx (out)); ---- gcc-3.2/gcc/testsuite/gcc.c-torture/execute/20021104.c.pr8213 2002-11-04 13:22:33.000000000 -0500 -+++ gcc-3.2/gcc/testsuite/gcc.c-torture/execute/20021104.c 2002-11-04 13:24:12.000000000 -0500 -@@ -0,0 +1,26 @@ -+/* PR target/8213 -+ This testcase, distilled from GNU gmp 4.1, was miscompiled on x86-64 -+ because of RTL sharing problems. */ -+ -+int f(long x, long y) -+{ -+ if ((x < 0) == (y < 0)) -+ { -+ if (x == 0) -+ return -(y != 0); -+ if (y == 0) -+ return x != 0; -+ } -+ else -+ { -+ return x >= 0 ? 1 : -1; -+ } -+} -+ -+int main(void) -+{ -+ if (f(-1, 1) != -1) -+ abort(); -+ -+ return 0; -+} diff --git a/sys-devel/gcc/files/3.2.1/gcc32-pr8988.patch b/sys-devel/gcc/files/3.2.1/gcc32-pr8988.patch deleted file mode 100644 index dfb4a85c881b..000000000000 --- a/sys-devel/gcc/files/3.2.1/gcc32-pr8988.patch +++ /dev/null @@ -1,69 +0,0 @@ -2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr> - - PR optimization/8988 - * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning - the biv when eliminating. - -2002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr> - - * gcc.c-torture/execute/20021219-1.c: New test. - ---- gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20021219-1.c.pr8988 2002-12-20 14:51:16.000000000 +0100 -+++ gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20021219-1.c 2002-12-20 14:51:04.000000000 +0100 -@@ -0,0 +1,18 @@ -+/* PR optimization/8988 */ -+/* Contributed by Kevin Easton */ -+ -+void foo(char *p1, char **p2) -+{} -+ -+int main(void) -+{ -+ char str[] = "foo { xx }"; -+ char *ptr = str + 5; -+ -+ foo(ptr, &ptr); -+ -+ while (*ptr && (*ptr == 13 || *ptr == 32)) -+ ptr++; -+ -+ return 0; -+} ---- gcc-3.2.1/gcc/loop.c.pr8988 2002-12-20 11:54:51.000000000 +0100 -+++ gcc-3.2.1/gcc/loop.c 2002-12-20 11:54:51.000000000 +0100 -@@ -8536,11 +8536,12 @@ maybe_eliminate_biv (loop, bl, eliminate - enum rtx_code code = GET_CODE (p); - basic_block where_bb = 0; - rtx where_insn = threshold >= insn_count ? 0 : p; -+ rtx note; - - /* If this is a libcall that sets a giv, skip ahead to its end. */ - if (GET_RTX_CLASS (code) == 'i') - { -- rtx note = find_reg_note (p, REG_LIBCALL, NULL_RTX); -+ note = find_reg_note (p, REG_LIBCALL, NULL_RTX); - - if (note) - { -@@ -8558,6 +8559,8 @@ maybe_eliminate_biv (loop, bl, eliminate - } - } - } -+ -+ /* Closely examine the insn if the biv is mentioned. */ - if ((code == INSN || code == JUMP_INSN || code == CALL_INSN) - && reg_mentioned_p (reg, PATTERN (p)) - && ! maybe_eliminate_biv_1 (loop, PATTERN (p), p, bl, -@@ -8569,6 +8572,12 @@ maybe_eliminate_biv (loop, bl, eliminate - bl->regno, INSN_UID (p)); - break; - } -+ -+ /* If we are eliminating, kill REG_EQUAL notes mentioning the biv. */ -+ if (eliminate_p -+ && (note = find_reg_note (p, REG_EQUAL, NULL_RTX)) != NULL_RTX -+ && reg_mentioned_p (reg, XEXP (note, 0))) -+ remove_note (p, note); - } - - if (p == loop->end) diff --git a/sys-devel/gcc/files/3.2.1/gcc32-shared-pthread.patch b/sys-devel/gcc/files/3.2.1/gcc32-shared-pthread.patch deleted file mode 100644 index 7c389d08798b..000000000000 --- a/sys-devel/gcc/files/3.2.1/gcc32-shared-pthread.patch +++ /dev/null @@ -1,99 +0,0 @@ ---- gcc/config/alpha/linux-elf.h.jj 2001-12-31 12:12:33.000000000 +0100 -+++ gcc/config/alpha/linux-elf.h 2002-12-09 13:49:25.000000000 +0100 -@@ -39,5 +39,5 @@ Boston, MA 02111-1307, USA. */ - #ifndef USE_GNULIBC_1 - #undef LIB_SPEC - #define LIB_SPEC \ --"%{shared:-lc}%{!shared:%{pthread:-lpthread }%{profile:-lc_p}%{!profile:-lc}} " -+"%{pthread:-lpthread }%{shared:-lc}%{!shared:%{profile:-lc_p}%{!profile:-lc}} " - #endif ---- gcc/config/alpha/linux.h.jj 2002-04-16 13:03:23.000000000 +0200 -+++ gcc/config/alpha/linux.h 2002-12-09 13:49:56.000000000 +0100 -@@ -34,9 +34,9 @@ SUB_CPP_PREDEFINES - - #undef LIB_SPEC - #define LIB_SPEC \ -- "%{shared: -lc} \ -- %{!shared: %{pthread:-lpthread} \ -- %{profile:-lc_p} %{!profile: -lc}}" -+ "%{pthread:-lpthread} \ -+ %{shared:-lc} \ -+ %{!shared: %{profile:-lc_p}%{!profile:-lc}}" - - /* Show that we need a GP when profiling. */ - #undef TARGET_PROFILING_NEEDS_GP ---- gcc/config/arm/linux-elf.h.jj 2002-04-16 13:03:38.000000000 +0200 -+++ gcc/config/arm/linux-elf.h 2002-12-09 13:50:39.000000000 +0100 -@@ -48,9 +48,9 @@ Boston, MA 02111-1307, USA. */ - - /* Now we define the strings used to build the spec file. */ - #define LIB_SPEC \ -- "%{shared: -lc} \ -- %{!shared: %{pthread:-lpthread} \ -- %{profile:-lc_p} %{!profile: -lc}}" -+ "%{pthread:-lpthread} \ -+ %{shared:-lc} \ -+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - - #define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc" - ---- gcc/config/pa/pa-linux.h.jj 2002-06-03 17:24:33.000000000 +0200 -+++ gcc/config/pa/pa-linux.h 2002-12-09 13:54:55.000000000 +0100 -@@ -33,9 +33,9 @@ Boston, MA 02111-1307, USA. */ - - #undef LIB_SPEC - #define LIB_SPEC \ -- "%{shared: -lgcc -lc} \ -- %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \ -- %{shared-libgcc: -lgcc} %{profile:-lc_p} %{!profile: -lc}}" -+ "%{pthread:-lpthread} \ -+ %{shared:-lgcc -lc} \ -+ %{!shared:%{mieee-fp:-lieee} %{shared-libgcc:-lgcc} %{profile:-lc_p}%{!profile:-lc}}" - - #undef ASM_SPEC - #define ASM_SPEC \ ---- gcc/config/sparc/linux.h.jj 2002-04-29 16:22:40.000000000 +0200 -+++ gcc/config/sparc/linux.h 2002-12-09 13:56:39.000000000 +0100 -@@ -123,9 +123,9 @@ Boston, MA 02111-1307, USA. */ - %{!profile:%{!ggdb:-lc} %{ggdb:-lg}}}" - #else - #define LIB_SPEC \ -- "%{shared: -lc} \ -- %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \ -- %{profile:-lc_p} %{!profile: -lc}}" -+ "%{pthread:-lpthread} \ -+ %{shared:-lc} \ -+ %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}" - #endif - #else - #define LIB_SPEC \ ---- gcc/config/sparc/linux64.h.jj 2002-10-08 15:29:41.000000000 +0200 -+++ gcc/config/sparc/linux64.h 2002-12-09 13:56:25.000000000 +0100 -@@ -126,9 +126,9 @@ Boston, MA 02111-1307, USA. */ - - #undef LIB_SPEC - #define LIB_SPEC \ -- "%{shared: -lc} \ -- %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \ -- %{profile:-lc_p} %{!profile: -lc}}" -+ "%{pthread:-lpthread} \ -+ %{shared:-lc} \ -+ %{!shared: %{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}" - - /* Provide a LINK_SPEC appropriate for GNU/Linux. Here we provide support - for the special GCC options -static and -shared, which allow us to ---- gcc/config/linux.h.jj 2001-12-18 01:30:48.000000000 +0100 -+++ gcc/config/linux.h 2002-12-09 13:48:20.000000000 +0100 -@@ -93,9 +93,9 @@ Boston, MA 02111-1307, USA. */ - %{!profile:%{!ggdb:-lc} %{ggdb:-lg}}}" - #else - #define LIB_SPEC \ -- "%{shared: -lc} \ -- %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \ -- %{profile:-lc_p} %{!profile: -lc}}" -+ "%{pthread:-lpthread} \ -+ %{shared:-lc} \ -+ %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}" - #endif - #else - #define LIB_SPEC \ diff --git a/sys-devel/gcc/files/3.2.1/gcc32-testsuite.patch b/sys-devel/gcc/files/3.2.1/gcc32-testsuite.patch deleted file mode 100644 index fcedc534f604..000000000000 --- a/sys-devel/gcc/files/3.2.1/gcc32-testsuite.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- gcc/testsuite/g++.dg/template/varmod1.C.jj 2002-12-08 21:43:53.000000000 +0100 -+++ gcc/testsuite/g++.dg/template/varmod1.C 2002-12-09 14:01:33.000000000 +0100 -@@ -6,5 +6,5 @@ void bar() - { - int i; - int A[i][i]; -- foo(A); // { dg-error } -+ foo(A); // { dg-error "" } - } ---- gcc/testsuite/g++.dg/parse/parameter-declaration-1.C.jj 2002-12-08 21:43:51.000000000 +0100 -+++ gcc/testsuite/g++.dg/parse/parameter-declaration-1.C 2002-12-09 14:04:07.000000000 +0100 -@@ -3,4 +3,4 @@ - // { dg-do compile } - - struct { -- a(void = 0; a(0), a(0) // { dg-error "" } -+ a(void = 0; a(0), a(0) // { dg-error "" "" { target *-*-* } 7 } diff --git a/sys-devel/gcc/files/3.2.1/gcc32-tls-reload-fix.patch b/sys-devel/gcc/files/3.2.1/gcc32-tls-reload-fix.patch deleted file mode 100644 index 83259ffbee5a..000000000000 --- a/sys-devel/gcc/files/3.2.1/gcc32-tls-reload-fix.patch +++ /dev/null @@ -1,216 +0,0 @@ ---- gcc/config/i386/i386.c.jj 2002-11-15 19:50:05.000000000 +0100 -+++ gcc/config/i386/i386.c 2002-12-08 22:09:30.000000000 +0100 -@@ -707,6 +707,7 @@ struct ix86_address - }; - - static int ix86_decompose_address PARAMS ((rtx, struct ix86_address *)); -+static bool ix86_cannot_force_const_mem PARAMS ((rtx)); - - struct builtin_description; - static rtx ix86_expand_sse_comi PARAMS ((const struct builtin_description *, -@@ -837,6 +838,8 @@ static enum x86_64_reg_class merge_class - #undef TARGET_HAVE_TLS - #define TARGET_HAVE_TLS true - #endif -+#undef TARGET_CANNOT_FORCE_CONST_MEM -+#define TARGET_CANNOT_FORCE_CONST_MEM ix86_cannot_force_const_mem - - struct gcc_target targetm = TARGET_INITIALIZER; - -@@ -4952,6 +4955,13 @@ legitimate_constant_p (x) - return true; - } - -+static bool -+ix86_cannot_force_const_mem (x) -+ rtx x; -+{ -+ return !legitimate_constant_p (x); -+} -+ - /* Determine if a given RTX is a valid constant address. */ - - bool -@@ -7568,29 +7578,6 @@ ix86_expand_move (mode, operands) - op0 = operands[0]; - op1 = operands[1]; - -- /* ??? We have a slight problem. We need to say that tls symbols are -- not legitimate constants so that reload does not helpfully reload -- these constants from a REG_EQUIV, which we cannot handle. (Recall -- that general- and local-dynamic address resolution requires a -- function call.) -- -- However, if we say that tls symbols are not legitimate constants, -- then emit_move_insn helpfully drop them into the constant pool. -- -- It is far easier to work around emit_move_insn than reload. Recognize -- the MEM that we would have created and extract the symbol_ref. */ -- -- if (mode == Pmode -- && GET_CODE (op1) == MEM -- && RTX_UNCHANGING_P (op1)) -- { -- tmp = maybe_get_pool_constant (op1); -- /* Note that we only care about symbolic constants here, which -- unlike CONST_INT will always have a proper mode. */ -- if (tmp && GET_MODE (tmp) == Pmode) -- op1 = tmp; -- } -- - if (tls_symbolic_operand (op1, Pmode)) - { - op1 = legitimize_address (op1, op1, VOIDmode); ---- gcc/testsuite/gcc.dg/tls/opt-4.c.jj 2002-12-08 22:09:30.000000000 +0100 -+++ gcc/testsuite/gcc.dg/tls/opt-4.c 2002-12-08 22:09:30.000000000 +0100 -@@ -0,0 +1,53 @@ -+/* { dg-do compile } */ -+/* { dg-options "-O2" } */ -+ -+struct A -+{ -+ int a1; -+ int a2; -+}; -+ -+extern __thread const unsigned char *tcc1, **tcc2; -+ -+extern inline const unsigned char ** __attribute__ ((const)) -+foo (void) -+{ -+ const unsigned char **a = &tcc1; -+ if (*a == 0) -+ *a = *tcc2 + 128; -+ return a; -+} -+ -+extern inline int -+bar (const struct A *x) -+{ -+ int a; -+ -+ if (x->a2 & 8) -+ return 0; -+ a = x->a1; -+ return a > 0 && ((*foo ())[a] & 64); -+} -+ -+int -+baz (const struct A *x, char *y) -+{ -+ const struct A *a; -+ -+ for (a = x; !!a->a1; a++) -+ if (! (x->a2 & 8)) -+ if (bar (a)) -+ { -+ *y++ = a->a1; -+ if (x->a1) -+ *y++ = ':'; -+ *y = '\0'; -+ } -+ return 0; -+} -+ -+/* Verify tcc1 and tcc2 variables show up only in the TLS access sequences. */ -+/* { dg-final { scan-assembler "tcc1@" { target i?86-*-* x86_64-*-* } } } */ -+/* { dg-final { scan-assembler "tcc2@" { target i?86-*-* x86_64-*-* } } } */ -+/* { dg-final { scan-assembler-not "tcc1\[^@\]" { target i?86-*-* x86_64-*-* } } } */ -+/* { dg-final { scan-assembler-not "tcc2\[^@\]" { target i?86-*-* x86_64-*-* } } } */ ---- gcc/expr.c.jj 2002-11-09 18:38:42.000000000 +0100 -+++ gcc/expr.c 2002-12-08 22:15:02.000000000 +0100 -@@ -2782,6 +2782,12 @@ emit_move_insn (x, y) - { - y_cst = y; - y = force_const_mem (mode, y); -+ -+ /* If the target's cannot_force_const_mem prevented the spill, -+ assume that the target's move expanders will also take care -+ of the non-legitimate constant. */ -+ if (!y) -+ y = y_cst; - } - - /* If X or Y are memory references, verify that their addresses are valid ---- gcc/hooks.c.jj 2002-11-09 18:38:45.000000000 +0100 -+++ gcc/hooks.c 2002-12-08 22:09:29.000000000 +0100 -@@ -46,3 +46,10 @@ hook_tree_bool_false (a) - { - return false; - } -+ -+bool -+hook_bool_rtx_false (a) -+ rtx a ATTRIBUTE_UNUSED; -+{ -+ return false; -+} ---- gcc/hooks.h.jj 2002-11-09 18:38:45.000000000 +0100 -+++ gcc/hooks.h 2002-12-08 22:16:51.000000000 +0100 -@@ -25,5 +25,6 @@ Foundation, 59 Temple Place - Suite 330, - bool hook_void_bool_false PARAMS ((void)); - void hook_void_void PARAMS ((void)); - bool hook_tree_bool_false PARAMS ((tree)); -+bool hook_bool_rtx_false PARAMS ((rtx)); - - #endif ---- gcc/reload1.c.jj 2002-10-16 16:10:07.000000000 +0200 -+++ gcc/reload1.c 2002-12-08 22:09:29.000000000 +0100 -@@ -820,8 +820,12 @@ reload (first, global) - else if (LEGITIMATE_CONSTANT_P (x)) - reg_equiv_constant[i] = x; - else -- reg_equiv_memory_loc[i] -- = force_const_mem (GET_MODE (SET_DEST (set)), x); -+ { -+ reg_equiv_memory_loc[i] -+ = force_const_mem (GET_MODE (SET_DEST (set)), x); -+ if (!reg_equiv_memory_loc[i]) -+ continue; -+ } - } - else - continue; ---- gcc/target-def.h.jj 2002-09-24 15:07:32.000000000 +0200 -+++ gcc/target-def.h 2002-12-08 22:18:20.000000000 +0100 -@@ -181,6 +181,7 @@ Foundation, 59 Temple Place - Suite 330, - - /* In hook.c. */ - #define TARGET_CANNOT_MODIFY_JUMPS_P hook_void_bool_false -+#define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false - - /* The whole shebang. */ - #define TARGET_INITIALIZER \ -@@ -199,6 +200,7 @@ Foundation, 59 Temple Place - Suite 330, - TARGET_EXPAND_BUILTIN, \ - TARGET_SECTION_TYPE_FLAGS, \ - TARGET_CANNOT_MODIFY_JUMPS_P, \ -+ TARGET_CANNOT_FORCE_CONST_MEM, \ - TARGET_HAVE_NAMED_SECTIONS, \ - TARGET_HAVE_CTORS_DTORS, \ - TARGET_HAVE_TLS \ ---- gcc/target.h.jj 2002-09-24 15:07:32.000000000 +0200 -+++ gcc/target.h 2002-12-08 22:17:34.000000000 +0100 -@@ -182,6 +182,9 @@ struct gcc_target - not, at the current point in the compilation. */ - bool (* cannot_modify_jumps_p) PARAMS ((void)); - -+ /* True if the constant X cannot be placed in the constant pool. */ -+ bool (* cannot_force_const_mem) PARAMS ((rtx)); -+ - /* True if arbitrary sections are supported. */ - bool have_named_sections; - ---- gcc/varasm.c.jj 2002-11-26 17:23:47.000000000 +0100 -+++ gcc/varasm.c 2002-12-08 22:09:30.000000000 +0100 -@@ -3789,6 +3789,10 @@ force_const_mem (mode, x) - struct pool_constant *pool; - unsigned int align; - -+ /* If we're not allowed to drop X into the constant pool, don't. */ -+ if ((*targetm.cannot_force_const_mem) (x)) -+ return NULL_RTX; -+ - /* Compute hash code of X. Search the descriptors for that hash code - to see if any of them describes X. If yes, we have an rtx to use. */ - hash = const_hash_rtx (mode, x); diff --git a/sys-devel/gcc/files/3.2.2/gcc32-pr9732.patch b/sys-devel/gcc/files/3.2.2/gcc32-pr9732.patch deleted file mode 100644 index 6bc1a3531da1..000000000000 --- a/sys-devel/gcc/files/3.2.2/gcc32-pr9732.patch +++ /dev/null @@ -1,159 +0,0 @@ -2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> - - PR target/9732 - * config/rs6000/rs6000.c (first_reg_to_save): Handle - PIC_OFFSET_TABLE_REGNUM for -fPIC too. - (rs6000_emit_prologue): Likewise. - (rs6000_emit_epilogue): Likewise. - * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make - PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC. - * testsuite/gcc.dg/20030225-2.c: New test. - ---- gcc-3.2.2/gcc/config/rs6000/rs6000.c.pr9732 2003-01-29 20:56:16.000000000 +0100 -+++ gcc-3.2.2/gcc/config/rs6000/rs6000.c 2003-02-28 10:52:09.000000000 +0100 -@@ -7412,7 +7412,7 @@ first_reg_to_save () - if (regs_ever_live[first_reg] - && (! call_used_regs[first_reg] - || (first_reg == RS6000_PIC_OFFSET_TABLE_REGNUM -- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1) -+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0) - || (DEFAULT_ABI == ABI_DARWIN && flag_pic))))) - break; - -@@ -8804,7 +8804,7 @@ rs6000_emit_prologue () - if ((regs_ever_live[info->first_gp_reg_save+i] - && ! call_used_regs[info->first_gp_reg_save+i]) - || (i+info->first_gp_reg_save == RS6000_PIC_OFFSET_TABLE_REGNUM -- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1) -+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0) - || (DEFAULT_ABI == ABI_DARWIN && flag_pic)))) - { - rtx addr, reg, mem; -@@ -9190,7 +9190,7 @@ rs6000_emit_epilogue (sibcall) - if ((regs_ever_live[info->first_gp_reg_save+i] - && ! call_used_regs[info->first_gp_reg_save+i]) - || (i+info->first_gp_reg_save == RS6000_PIC_OFFSET_TABLE_REGNUM -- && ((DEFAULT_ABI == ABI_V4 && flag_pic == 1) -+ && ((DEFAULT_ABI == ABI_V4 && flag_pic != 0) - || (DEFAULT_ABI == ABI_DARWIN && flag_pic)))) - { - rtx addr = gen_rtx_PLUS (Pmode, frame_reg_rtx, ---- gcc-3.2.2/gcc/config/rs6000/rs6000.h.pr9732 2002-08-08 19:52:40.000000000 +0200 -+++ gcc-3.2.2/gcc/config/rs6000/rs6000.h 2003-02-28 10:52:10.000000000 +0100 -@@ -962,6 +962,10 @@ extern int rs6000_altivec_abi; - = call_really_used_regs[i] = 1; \ - if (DEFAULT_ABI == ABI_V4 \ - && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM \ -+ && flag_pic == 2) \ -+ fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] = 1; \ -+ if (DEFAULT_ABI == ABI_V4 \ -+ && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM \ - && flag_pic == 1) \ - fixed_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] \ - = call_used_regs[RS6000_PIC_OFFSET_TABLE_REGNUM] \ ---- gcc-3.2.2/gcc/testsuite/gcc.dg/20030225-2.c.pr9732 2003-02-28 10:55:14.000000000 +0100 -+++ gcc-3.2.2/gcc/testsuite/gcc.dg/20030225-2.c 2003-02-28 10:55:03.000000000 +0100 -@@ -0,0 +1,103 @@ -+/* PR target/9732 -+ This testcase segfaulted on PPC because PIC_OFFSET_TABLE_REGNUM was no -+ fixed register. -+ Distilled from the xvid sources by Guillaume Morin <guillaume@morinfr.org> -+ and Benjamin Herrenschmidt <benh@kernel.crashing.org>. */ -+/* { dg-do run } */ -+/* { dg-options "-O2 -fPIC" } */ -+/* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* mmix-*-* } 0 } */ -+ -+ -+extern void exit (int); -+ -+#define W1 2841 /* 2048*sqrt(2)*cos(1*pi/16) */ -+#define W2 2676 /* 2048*sqrt(2)*cos(2*pi/16) */ -+#define W3 2408 /* 2048*sqrt(2)*cos(3*pi/16) */ -+#define W5 1609 /* 2048*sqrt(2)*cos(5*pi/16) */ -+#define W6 1108 /* 2048*sqrt(2)*cos(6*pi/16) */ -+#define W7 565 /* 2048*sqrt(2)*cos(7*pi/16) */ -+ -+ -+/* private data */ -+static short iclip[1024]; /* clipping table */ -+static short *iclp; -+ -+void -+idct_int32(short *const block) -+{ -+ static short *blk; -+ static long i; -+ static long X0, X1, X2, X3, X4, X5, X6, X7, X8; -+ -+ for (i = 0; i < 8; i++) /* idct columns */ -+ { -+ blk = block + i; -+ /* shortcut */ -+ if (! ((X1 = (blk[8 * 4] << 8)) | (X2 = blk[8 * 6]) -+ | (X3 = blk[8 * 2]) | (X4 = blk[8 * 1]) | (X5 = blk[8 * 7]) -+ | (X6 = blk[8 * 5]) | (X7 = blk[8 * 3]))) -+ { -+ blk[8 * 0] = blk[8 * 1] = blk[8 * 2] = -+ blk[8 * 3] = blk[8 * 4] = -+ blk[8 * 5] = blk[8 * 6] = blk[8 * 7] = -+ iclp[(blk[8 * 0] + 32) >> 6]; -+ continue; -+ } -+ X0 = (blk[8 * 0] << 8) + 8192; -+ -+ /* first stage */ -+ X8 = W7 * (X4 + X5) + 4; -+ X4 = (X8 + (W1 - W7) * X4) >> 3; -+ X5 = (X8 - (W1 + W7) * X5) >> 3; -+ X8 = W3 * (X6 + X7) + 4; -+ X6 = (X8 - (W3 - W5) * X6) >> 3; -+ X7 = (X8 - (W3 + W5) * X7) >> 3; -+ -+ /* second stage */ -+ X8 = X0 + X1; -+ X0 -= X1; -+ X1 = W6 * (X3 + X2) + 4; -+ X2 = (X1 - (W2 + W6) * X2) >> 3; -+ X3 = (X1 + (W2 - W6) * X3) >> 3; -+ X1 = X4 + X6; -+ X4 -= X6; -+ X6 = X5 + X7; -+ X5 -= X7; -+ -+ /* third stage */ -+ X7 = X8 + X3; -+ X8 -= X3; -+ X3 = X0 + X2; -+ X0 -= X2; -+ X2 = (181 * (X4 + X5) + 128) >> 8; -+ X4 = (181 * (X4 - X5) + 128) >> 8; -+ -+ /* fourth stage */ -+ blk[8 * 0] = iclp[(X7 + X1) >> 14]; -+ blk[8 * 1] = iclp[(X3 + X2) >> 14]; -+ blk[8 * 2] = iclp[(X0 + X4) >> 14]; -+ blk[8 * 3] = iclp[(X8 + X6) >> 14]; -+ blk[8 * 4] = iclp[(X8 - X6) >> 14]; -+ blk[8 * 5] = iclp[(X0 - X4) >> 14]; -+ blk[8 * 6] = iclp[(X3 - X2) >> 14]; -+ blk[8 * 7] = iclp[(X7 - X1) >> 14]; -+ } -+} /* end function idct_int32(block) */ -+ -+ -+int main(void) { -+ int i; -+ unsigned short tab[64]; -+ -+ for (i = 0 ; i < 64 ; ++i) -+ { -+ tab[i] = (1+(int) (65535)*8000/(2147483647+1.0)); -+ } -+ -+ iclp = iclip + 512; -+ for (i = -512; i < 512; i++) -+ iclp[i] = (i < -256) ? -256 : ((i > 255) ? 255 : i); -+ -+ idct_int32((short *) tab); -+ exit (0); -+} diff --git a/sys-devel/gcc/files/3.2.2/gcc322-pr8746.patch b/sys-devel/gcc/files/3.2.2/gcc322-pr8746.patch deleted file mode 100644 index aa4a8cd26dd3..000000000000 --- a/sys-devel/gcc/files/3.2.2/gcc322-pr8746.patch +++ /dev/null @@ -1,73 +0,0 @@ -2003-03-20 Eric Botcazou <ebotcazou at libertysurf dot fr> - - PR optimization/8746 - * i386.md (and promoting splitters): Further disable QI to SImode - promoting, as well as HI to SImode promoting, when doing so - changes immediate to be 32bit. - - -2003-03-20 Eric Botcazou <ebotcazou at libertysurf dot fr> - - * gcc.dg/i386-signbit-2.c: New test. - * gcc.dg/i386-signbit-3.c: New test. - -Index: config/i386/i386.md -=================================================================== -RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v -retrieving revision 1.404.2.11 -diff -u -r1.404.2.11 i386.md ---- gcc/config/i386/i386.md 13 Mar 2003 00:47:26 -0000 1.404.2.11 -+++ gcc/config/i386/i386.md 20 Mar 2003 16:15:17 -0000 -@@ -16845,20 +16845,20 @@ - operands[2] = gen_lowpart (SImode, operands[2]); - PUT_MODE (operands[3], SImode);") - -+; Don't promote the QImode tests, as i386 doesn't have encoding -+; of test instructions with 32-bit sign-extended immediate so the -+; code grows. - (define_split - [(set (reg 17) -- (compare (and (match_operand 1 "aligned_operand" "") -- (match_operand 2 "const_int_operand" "")) -+ (compare (and (match_operand:HI 1 "aligned_operand" "") -+ (match_operand:HI 2 "const_int_operand" "")) - (const_int 0))) - (set (match_operand 0 "register_operand" "") - (and (match_dup 1) (match_dup 2)))] - "! TARGET_PARTIAL_REG_STALL && reload_completed - && ix86_match_ccmode (insn, CCNOmode) -- && (GET_MODE (operands[0]) == HImode -- || (GET_MODE (operands[0]) == QImode -- /* Ensure that the operand will remain sign extended immediate. */ -- && INTVAL (operands[2]) >= 0 -- && (TARGET_PROMOTE_QImode || optimize_size)))" -+ /* Ensure that the operand will remain sign-extended immediate. */ -+ && INTVAL (operands[2]) >= 0" - [(parallel [(set (reg:CCNO 17) - (compare:CCNO (and:SI (match_dup 1) (match_dup 2)) - (const_int 0))) -@@ -16871,9 +16871,9 @@ - operands[0] = gen_lowpart (SImode, operands[0]); - operands[1] = gen_lowpart (SImode, operands[1]);") - --; Don't promote the QImode tests, as i386 don't have encoding of --; the test instruction with 32bit sign extended immediate and thus --; the code grows. -+; Don't promote the QImode tests, as i386 doesn't have encoding -+; of test instructions with 32-bit sign-extended immediate so the -+; code grows. - (define_split - [(set (reg 17) - (compare (and (match_operand:HI 0 "aligned_operand" "") -@@ -16881,7 +16881,8 @@ - (const_int 0)))] - "! TARGET_PARTIAL_REG_STALL && reload_completed - && ix86_match_ccmode (insn, CCNOmode) -- && GET_MODE (operands[0]) == HImode" -+ /* Ensure that the operand will remain sign-extended immediate. */ -+ && INTVAL (operands[1]) >= 0" - [(set (reg:CCNO 17) - (compare:CCNO (and:SI (match_dup 0) (match_dup 1)) - (const_int 0)))] - - diff --git a/sys-devel/gcc/files/3.2.2/gcc322-pr9888.patch b/sys-devel/gcc/files/3.2.2/gcc322-pr9888.patch deleted file mode 100644 index cca60f87ad4d..000000000000 --- a/sys-devel/gcc/files/3.2.2/gcc322-pr9888.patch +++ /dev/null @@ -1,293 +0,0 @@ -Index:. gcc/config/i386/i386.md -=================================================================== -RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v -retrieving revision 1.339.2.13.2.2 -diff -u -p -r1.339.2.13.2.2 i386.md ---- gcc/config/i386/i386.md 24 Oct 2002 17:11:54 -0000 1.339.2.13.2.2 -+++ gcc/config/i386/i386.md 10 Mar 2003 20:24:35 -0000 -@@ -131,7 +131,7 @@ - - ;; The (bounding maximum) length of an instruction immediate. - (define_attr "length_immediate" "" -- (cond [(eq_attr "type" "incdec,setcc,icmov,ibr,str,cld,lea,other,multi,idiv,sse,mmx") -+ (cond [(eq_attr "type" "incdec,setcc,icmov,str,cld,lea,other,multi,idiv,sse,mmx") - (const_int 0) - (eq_attr "i387" "1") - (const_int 0) -@@ -147,13 +147,10 @@ - (if_then_else (match_operand 1 "constant_call_address_operand" "") - (const_int 4) - (const_int 0)) -+ ;; We don't know the size before shorten_branches. Expect -+ ;; the instruction to fit for better scheduling. - (eq_attr "type" "ibr") -- (if_then_else (and (ge (minus (match_dup 0) (pc)) -- (const_int -128)) -- (lt (minus (match_dup 0) (pc)) -- (const_int 124))) -- (const_int 1) -- (const_int 4)) -+ (const_int 1) - ] - (symbol_ref "/* Update immediate_length and other attributes! */ abort(),1"))) - -@@ -162,7 +159,7 @@ - (cond [(eq_attr "type" "str,cld,other,multi,fxch") - (const_int 0) - (and (eq_attr "type" "call") -- (match_operand 1 "constant_call_address_operand" "")) -+ (match_operand 0 "constant_call_address_operand" "")) - (const_int 0) - (and (eq_attr "type" "callv") - (match_operand 1 "constant_call_address_operand" "")) -@@ -205,6 +202,12 @@ - (and (match_operand 0 "register_operand" "") - (match_operand 1 "immediate_operand" ""))) - (const_int 0) -+ (and (eq_attr "type" "call") -+ (match_operand 0 "constant_call_address_operand" "")) -+ (const_int 0) -+ (and (eq_attr "type" "callv") -+ (match_operand 1 "constant_call_address_operand" "")) -+ (const_int 0) - ] - (const_int 1))) - -@@ -1733,14 +1736,9 @@ - (set_attr "mode" "SI") - (set_attr "length_immediate" "1")]) - --; The first alternative is used only to compute proper length of instruction. --; Reload's algorithm does not take into account the cost of spill instructions --; needed to free register in given class, so avoid it from choosing the first --; alternative when eax is not available. -- - (define_insn "*movsi_1" -- [(set (match_operand:SI 0 "nonimmediate_operand" "=*?a,r,*?a,m,!*y,!rm,!*y,!*Y,!rm,!*Y") -- (match_operand:SI 1 "general_operand" "im,rinm,rinm,rin,rm,*y,*y,rm,*Y,*Y"))] -+ [(set (match_operand:SI 0 "nonimmediate_operand" "=r,m,!*y,!rm,!*y,!*Y,!rm,!*Y") -+ (match_operand:SI 1 "general_operand" "rinm,rin,rm,*y,*y,rm,*Y,*Y"))] - "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" - { - switch (get_attr_type (insn)) -@@ -1765,17 +1763,16 @@ - } - } - [(set (attr "type") -- (cond [(eq_attr "alternative" "4,5,6") -+ (cond [(eq_attr "alternative" "2,3,4") - (const_string "mmx") -- (eq_attr "alternative" "7,8,9") -+ (eq_attr "alternative" "5,6,7") - (const_string "sse") - (and (ne (symbol_ref "flag_pic") (const_int 0)) - (match_operand:SI 1 "symbolic_operand" "")) - (const_string "lea") - ] - (const_string "imov"))) -- (set_attr "modrm" "0,*,0,*,*,*,*,*,*,*") -- (set_attr "mode" "SI,SI,SI,SI,SI,SI,DI,TI,SI,SI")]) -+ (set_attr "mode" "SI,SI,SI,SI,DI,TI,SI,SI")]) - - ;; Stores and loads of ax to arbitary constant address. - ;; We fake an second form of instruction to force reload to load address -@@ -1848,14 +1845,9 @@ - [(set_attr "type" "push") - (set_attr "mode" "QI")]) - --; The first alternative is used only to compute proper length of instruction. --; Reload's algorithm does not take into account the cost of spill instructions --; needed to free register in given class, so avoid it from choosing the first --; alternative when eax is not available. -- - (define_insn "*movhi_1" -- [(set (match_operand:HI 0 "nonimmediate_operand" "=*?a,r,r,*?a,r,m") -- (match_operand:HI 1 "general_operand" "i,r,rn,rm,rm,rn"))] -+ [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,r,m") -+ (match_operand:HI 1 "general_operand" "r,rn,rm,rn"))] - "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" - { - switch (get_attr_type (insn)) -@@ -1872,36 +1864,35 @@ - } - } - [(set (attr "type") -- (cond [(and (eq_attr "alternative" "0,1") -+ (cond [(and (eq_attr "alternative" "0") - (ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL") - (const_int 0)) - (eq (symbol_ref "TARGET_HIMODE_MATH") - (const_int 0)))) - (const_string "imov") -- (and (eq_attr "alternative" "2,3,4") -+ (and (eq_attr "alternative" "1,2") - (match_operand:HI 1 "aligned_operand" "")) - (const_string "imov") - (and (ne (symbol_ref "TARGET_MOVX") - (const_int 0)) -- (eq_attr "alternative" "0,1,3,4")) -+ (eq_attr "alternative" "0,2")) - (const_string "imovx") - ] - (const_string "imov"))) - (set (attr "mode") - (cond [(eq_attr "type" "imovx") - (const_string "SI") -- (and (eq_attr "alternative" "2,3,4") -+ (and (eq_attr "alternative" "1,2") - (match_operand:HI 1 "aligned_operand" "")) - (const_string "SI") -- (and (eq_attr "alternative" "0,1") -+ (and (eq_attr "alternative" "0") - (ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL") - (const_int 0)) - (eq (symbol_ref "TARGET_HIMODE_MATH") - (const_int 0)))) - (const_string "SI") - ] -- (const_string "HI"))) -- (set_attr "modrm" "0,*,*,0,*,*")]) -+ (const_string "HI")))]) - - ;; Stores and loads of ax to arbitary constant address. - ;; We fake an second form of instruction to force reload to load address -@@ -12961,13 +12952,14 @@ - "" - "%+j%C1\t%l0" - [(set_attr "type" "ibr") -- (set (attr "prefix_0f") -+ (set_attr "modrm" "0") -+ (set (attr "length") - (if_then_else (and (ge (minus (match_dup 0) (pc)) -- (const_int -128)) -+ (const_int -126)) - (lt (minus (match_dup 0) (pc)) -- (const_int 124))) -- (const_int 0) -- (const_int 1)))]) -+ (const_int 128))) -+ (const_int 2) -+ (const_int 6)))]) - - (define_insn "*jcc_2" - [(set (pc) -@@ -12978,13 +12970,14 @@ - "" - "%+j%c1\t%l0" - [(set_attr "type" "ibr") -- (set (attr "prefix_0f") -+ (set_attr "modrm" "0") -+ (set (attr "length") - (if_then_else (and (ge (minus (match_dup 0) (pc)) -- (const_int -128)) -+ (const_int -126)) - (lt (minus (match_dup 0) (pc)) -- (const_int 124))) -- (const_int 0) -- (const_int 1)))]) -+ (const_int 128))) -+ (const_int 2) -+ (const_int 6)))]) - - ;; In general it is not safe to assume too much about CCmode registers, - ;; so simplify-rtx stops when it sees a second one. Under certain -@@ -13244,7 +13237,15 @@ - (label_ref (match_operand 0 "" "")))] - "" - "jmp\t%l0" -- [(set_attr "type" "ibr")]) -+ [(set_attr "type" "ibr") -+ (set (attr "length") -+ (if_then_else (and (ge (minus (match_dup 0) (pc)) -+ (const_int -126)) -+ (lt (minus (match_dup 0) (pc)) -+ (const_int 128))) -+ (const_int 2) -+ (const_int 5))) -+ (set_attr "modrm" "0")]) - - (define_expand "indirect_jump" - [(set (pc) (match_operand 0 "nonimmediate_operand" "rm"))] -@@ -13357,14 +13358,17 @@ - return "dec{l}\t%1\;%+jne\t%l0"; - } - [(set_attr "ppro_uops" "many") -- (set (attr "type") -+ (set (attr "length") - (if_then_else (and (eq_attr "alternative" "0") - (and (ge (minus (match_dup 0) (pc)) -- (const_int -128)) -+ (const_int -126)) - (lt (minus (match_dup 0) (pc)) -- (const_int 124)))) -- (const_string "ibr") -- (const_string "multi")))]) -+ (const_int 128)))) -+ (const_int 2) -+ (const_int 16))) -+ ;; We don't know the type before shorten branches. Optimistically expect -+ ;; the loop instruction to match. -+ (set (attr "type") (const_string "ibr"))]) - - (define_split - [(set (pc) -@@ -13879,7 +13883,6 @@ - [(set_attr "length_immediate" "0") - (set_attr "length" "1") - (set_attr "modrm" "0") -- (set_attr "modrm" "0") - (set_attr "athlon_decode" "vector") - (set_attr "ppro_uops" "few")]) - -@@ -13891,7 +13894,6 @@ - "leave" - [(set_attr "length_immediate" "0") - (set_attr "length" "1") -- (set_attr "modrm" "0") - (set_attr "modrm" "0") - (set_attr "athlon_decode" "vector") - (set_attr "ppro_uops" "few")]) -Index:. gcc/config/i386/i386.c -=================================================================== -RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v -retrieving revision 1.368.2.19.2.11 -diff -u -p -r1.368.2.19.2.11 i386.c ---- gcc/config/i386/i386.c 28 Feb 2003 17:31:34 -0000 1.368.2.19.2.11 -+++ gcc/config/i386/i386.c 10 Mar 2003 20:26:37 -0000 -@@ -9939,7 +9939,8 @@ memory_address_length (addr) - if (disp) - { - if (GET_CODE (disp) == CONST_INT -- && CONST_OK_FOR_LETTER_P (INTVAL (disp), 'K')) -+ && CONST_OK_FOR_LETTER_P (INTVAL (disp), 'K') -+ && base) - len = 1; - else - len = 4; -@@ -10002,6 +10003,26 @@ ix86_attr_length_address_default (insn) - rtx insn; - { - int i; -+ -+ if (get_attr_type (insn) == TYPE_LEA) -+ { -+ rtx set = PATTERN (insn); -+ if (GET_CODE (set) == SET) -+ ; -+ else if (GET_CODE (set) == PARALLEL -+ && GET_CODE (XVECEXP (set, 0, 0)) == SET) -+ set = XVECEXP (set, 0, 0); -+ else -+ { -+#ifdef ENABLE_CHECKING -+ abort (); -+#endif -+ return 0; -+ } -+ -+ return memory_address_length (SET_SRC (set)); -+ } -+ - extract_insn_cached (insn); - for (i = recog_data.n_operands - 1; i >= 0; --i) - if (GET_CODE (recog_data.operand[i]) == MEM) diff --git a/sys-devel/gcc/files/3.2/gcc-3.2-glibc-2.3-compat.diff b/sys-devel/gcc/files/3.2/gcc-3.2-glibc-2.3-compat.diff deleted file mode 100644 index fe86aa232a73..000000000000 --- a/sys-devel/gcc/files/3.2/gcc-3.2-glibc-2.3-compat.diff +++ /dev/null @@ -1,154 +0,0 @@ -*** gcc-3.2/libstdc++-v3/config/locale/gnu/c_locale.cc.bak 2002-04-19 09:59:03.000000000 +0200 ---- gcc-3.2/libstdc++-v3/config/locale/gnu/c_locale.cc 2002-09-29 01:08:12.000000000 +0200 -*************** -*** 39,44 **** ---- 39,55 ---- - - namespace std - { -+ extern "C" __typeof (strtol_l) __strtol_l; -+ extern "C" __typeof (strtoul_l) __strtoul_l; -+ extern "C" __typeof (strtoll_l) __strtoll_l; -+ extern "C" __typeof (strtoull_l) __strtoull_l; -+ extern "C" __typeof (strtof_l) __strtof_l; -+ extern "C" __typeof (strtod_l) __strtod_l; -+ extern "C" __typeof (strtold_l) __strtold_l; -+ extern "C" __typeof (newlocale) __newlocale; -+ extern "C" __typeof (freelocale) __freelocale; -+ extern "C" __typeof (duplocale) __duplocale; -+ - template<> - void - __convert_to_v(const char* __s, long& __v, ios_base::iostate& __err, -*** gcc-3.2/libstdc++-v3/config/locale/gnu/collate_members.cc.bak 2002-04-19 09:59:03.000000000 +0200 ---- gcc-3.2/libstdc++-v3/config/locale/gnu/collate_members.cc 2002-09-29 01:10:05.000000000 +0200 -*************** -*** 37,42 **** ---- 37,47 ---- - - namespace std - { -+ extern "C" __typeof (strcoll_l) __strcoll_l; -+ extern "C" __typeof (strxfrm_l) __strxfrm_l; -+ extern "C" __typeof (wcscoll_l) __wcscoll_l; -+ extern "C" __typeof (wcsxfrm_l) __wcsxfrm_l; -+ - // These are basically extensions to char_traits, and perhaps should - // be put there instead of here. - template<> -*** gcc-3.2/libstdc++-v3/config/locale/gnu/ctype_members.cc.bak 2002-05-24 18:15:25.000000000 +0200 ---- gcc-3.2/libstdc++-v3/config/locale/gnu/ctype_members.cc 2002-09-29 01:10:46.000000000 +0200 -*************** -*** 37,42 **** ---- 37,47 ---- - - namespace std - { -+ extern "C" __typeof (wctype_l) __wctype_l; -+ extern "C" __typeof (towupper_l) __towupper_l; -+ extern "C" __typeof (towlower_l) __towlower_l; -+ extern "C" __typeof (iswctype_l) __iswctype_l; -+ - // NB: The other ctype<char> specializations are in src/locale.cc and - // various /config/os/* files. - template<> -*** gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.cc.bak 2002-05-19 00:00:14.000000000 +0200 ---- gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.cc 2002-09-29 01:11:03.000000000 +0200 -*************** -*** 37,42 **** ---- 37,43 ---- - - namespace std - { -+ extern "C" __typeof (uselocale) __uselocale; - // Specializations. - template<> - string -*** gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.h.bak 2002-05-19 00:00:14.000000000 +0200 ---- gcc-3.2/libstdc++-v3/config/locale/gnu/messages_members.h 2002-09-29 01:13:17.000000000 +0200 -*************** -*** 33,38 **** ---- 33,40 ---- - - // Written by Benjamin Kosnik <bkoz@redhat.com> - -+ extern "C" __typeof (uselocale) __uselocale; -+ - // Non-virtual member functions. - template<typename _CharT> - typename messages<_CharT>::catalog -*** gcc-3.2/libstdc++-v3/config/locale/gnu/monetary_members.cc.bak 2002-07-27 01:23:42.000000000 +0200 ---- gcc-3.2/libstdc++-v3/config/locale/gnu/monetary_members.cc 2002-09-29 01:11:33.000000000 +0200 -*************** -*** 37,42 **** ---- 37,44 ---- - - namespace std - { -+ extern "C" __typeof (nl_langinfo_l) __nl_langinfo_l; -+ - // Construct and return valid pattern consisting of some combination of: - // space none symbol sign value - money_base::pattern -*** gcc-3.2/libstdc++-v3/config/locale/gnu/numeric_members.cc.bak 2002-04-19 09:59:03.000000000 +0200 ---- gcc-3.2/libstdc++-v3/config/locale/gnu/numeric_members.cc 2002-09-29 01:11:50.000000000 +0200 -*************** -*** 37,42 **** ---- 37,44 ---- - - namespace std - { -+ extern "C" __typeof (nl_langinfo_l) __nl_langinfo_l; -+ - template<> - void - numpunct<char>::_M_initialize_numpunct(__c_locale __cloc) -*** gcc-3.2/libstdc++-v3/config/locale/gnu/time_members.cc.bak 2002-05-19 00:00:14.000000000 +0200 ---- gcc-3.2/libstdc++-v3/config/locale/gnu/time_members.cc 2002-09-29 01:18:12.000000000 +0200 -*************** -*** 38,43 **** ---- 38,47 ---- - - namespace std - { -+ extern "C" __typeof (strftime_l) __strftime_l; -+ extern "C" __typeof (wcsftime_l) __wcsftime_l; -+ extern "C" __typeof (nl_langinfo_l) __nl_langinfo_l; -+ - template<> - __timepunct<char>::~__timepunct() - { -#*************** -#*** 52,58 **** -# const tm* __tm) const -# { -# #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) -#! __strftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm); -# #else -# char* __old = strdup(setlocale(LC_ALL, NULL)); -# setlocale(LC_ALL, _M_name_timepunct); -#--- 56,62 ---- -# const tm* __tm) const -# { -# #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) -#! __strftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct); -# #else -# char* __old = strdup(setlocale(LC_ALL, NULL)); -# setlocale(LC_ALL, _M_name_timepunct); -#*************** -#*** 202,208 **** -# const tm* __tm) const -# { -# #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) -#! __wcsftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm); -# #else -# char* __old = strdup(setlocale(LC_ALL, NULL)); -# setlocale(LC_ALL, _M_name_timepunct); -#--- 206,212 ---- -# const tm* __tm) const -# { -# #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) -#! __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct); -# #else -# char* __old = strdup(setlocale(LC_ALL, NULL)); -# setlocale(LC_ALL, _M_name_timepunct); diff --git a/sys-devel/gcc/files/3.2/gcc-3.2.ctype.patch b/sys-devel/gcc/files/3.2/gcc-3.2.ctype.patch deleted file mode 100644 index f32b5dfbf714..000000000000 --- a/sys-devel/gcc/files/3.2/gcc-3.2.ctype.patch +++ /dev/null @@ -1,106 +0,0 @@ ---- gcc-3.2/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h 2002-04-19 07:59:07.000000000 +0000 -+++ gcc-20021006/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h 2002-09-06 17:54:17.000000000 +0000 -@@ -34,16 +34,32 @@ - - // Information as gleaned from /usr/include/ctype.h - --#if _GLIBCPP_USE_SHADOW_HEADERS -- using _C_legacy::__ctype_toupper; -- using _C_legacy::__ctype_tolower; -- using _C_legacy::__ctype_b; --#endif -- -+#if _GLIBCPP_C_LOCALE_GNU - const ctype_base::mask* - ctype<char>::classic_table() throw() -- { return __ctype_b; } -- -+ { -+ if (!_S_c_locale) -+ _S_create_c_locale(_S_c_locale, "C"); -+ return _S_c_locale->__ctype_b; -+ } -+#else -+ const ctype_base::mask* -+ ctype<char>::classic_table() throw() -+ { -+ const ctype_base::mask* __ret; -+ char* __old = strdup(setlocale(LC_CTYPE, NULL)); -+ setlocale(LC_CTYPE, "C"); -+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) -+ __ret = *__ctype_b_loc(); -+#else -+ __ret = __ctype_b; -+#endif -+ setlocale(LC_CTYPE, __old); -+ free(__old); -+ return __ret; -+ } -+#endif -+ - #if _GLIBCPP_C_LOCALE_GNU - ctype<char>::ctype(__c_locale __cloc, const mask* __table, bool __del, - size_t __refs) -@@ -57,17 +73,54 @@ - #else - ctype<char>::ctype(__c_locale, const mask* __table, bool __del, - size_t __refs) -- : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), -- _M_toupper(__ctype_toupper), _M_tolower(__ctype_tolower), -- _M_table(__table ? __table : classic_table()) -- { _M_c_locale_ctype = _S_c_locale; } -+ : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del) -+ { -+ char* __old=strdup(setlocale(LC_CTYPE, NULL)); -+ setlocale(LC_CTYPE, "C"); -+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) -+ _M_toupper = *__ctype_toupper_loc(); -+ _M_tolower = *__ctype_tolower_loc(); -+ _M_table = __table ? __table : *__ctype_b_loc(); -+#else -+ _M_toupper = __ctype_toupper; -+ _M_tolower = __ctype_tolower; -+ _M_table = __table ? __table : __ctype_b; -+#endif -+ setlocale(LC_CTYPE, __old); -+ free(__old); -+ _M_c_locale_ctype = _S_c_locale; -+ } - #endif - -+#if _GLIBCPP_C_LOCALE_GNU -+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) : -+ __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del) -+ { -+ _M_c_locale_ctype = _S_c_locale; -+ _M_toupper = _M_c_locale_ctype->__ctype_toupper; -+ _M_tolower = _M_c_locale_ctype->__ctype_tolower; -+ _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b; -+ } -+#else - ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) : -- __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), -- _M_toupper(__ctype_toupper), _M_tolower(__ctype_tolower), -- _M_table(__table ? __table : classic_table()) -- { _M_c_locale_ctype = _S_c_locale; } -+ __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del) -+ { -+ char* __old=strdup(setlocale(LC_CTYPE, NULL)); -+ setlocale(LC_CTYPE, "C"); -+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) -+ _M_toupper = *__ctype_toupper_loc(); -+ _M_tolower = *__ctype_tolower_loc(); -+ _M_table = __table ? __table : *__ctype_b_loc(); -+#else -+ _M_toupper = __ctype_toupper; -+ _M_tolower = __ctype_tolower; -+ _M_table = __table ? __table : __ctype_b; -+#endif -+ setlocale(LC_CTYPE, __old); -+ free(__old); -+ _M_c_locale_ctype = _S_c_locale; -+ } -+#endif - - char - ctype<char>::do_toupper(char __c) const diff --git a/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch b/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch deleted file mode 100644 index ff29eb001271..000000000000 --- a/sys-devel/gcc/files/3.2/gcc-3.2.fix-copy.patch +++ /dev/null @@ -1,61 +0,0 @@ -2002-08-18 H.J. Lu <hjl@gnu.org> - - * calls.c (store_one_arg): Remove ATTRIBUTE_UNUSED on - variable_size. Mark any slots used for the argument as in-use - only if we can't pass all arguments to a library call in - registers. - -diff -uNr gcc-3.2.orig/gcc/calls.c gcc-3.2/gcc/calls.c ---- gcc-3.2.orig/gcc/calls.c 2002-04-05 09:28:47.000000000 +1000 -+++ gcc-3.2/gcc/calls.c 2002-08-23 20:51:29.000000000 +1000 -@@ -4268,7 +4268,7 @@ - struct arg_data *arg; - rtx argblock; - int flags; -- int variable_size ATTRIBUTE_UNUSED; -+ int variable_size; - int reg_parm_stack_space; - { - tree pval = arg->tree_value; -@@ -4343,14 +4343,22 @@ - emit_move_insn (arg->save_area, stack_area); - } - } -+ -+ /* Now that we have saved any slots that will be overwritten -+ by this store, mark all slots this store will use. We -+ must do this before we actually expand the argument since -+ the expansion itself may trigger library calls which might -+ need to use the same stack slot. We only do it if we can't -+ pass all arguments to a library call in registers. */ -+ if (arg->partial) -+ { -+ for (i = lower_bound; i < upper_bound; i++) -+ stack_usage_map[i] = 1; -+ -+ /* Set it so that we don't do it again. */ -+ variable_size = 1; -+ } - } -- /* Now that we have saved any slots that will be overwritten by this -- store, mark all slots this store will use. We must do this before -- we actually expand the argument since the expansion itself may -- trigger library calls which might need to use the same stack slot. */ -- if (argblock && ! variable_size && arg->stack) -- for (i = lower_bound; i < upper_bound; i++) -- stack_usage_map[i] = 1; - } - - /* If this isn't going to be placed on both the stack and in registers, -@@ -4577,6 +4585,11 @@ - arg->value = arg->stack_slot; - } - -+ if (ACCUMULATE_OUTGOING_ARGS && !(flags & ECF_SIBCALL) -+ && argblock && ! variable_size && arg->stack) -+ for (i = lower_bound; i < upper_bound; i++) -+ stack_usage_map[i] = 1; -+ - /* Once we have pushed something, pops can't safely - be deferred during the rest of the arguments. */ - NO_DEFER_POP; diff --git a/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch b/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch deleted file mode 100644 index 87f533cd48d3..000000000000 --- a/sys-devel/gcc/files/3.2/gcc-3.2.fix-var.patch +++ /dev/null @@ -1,53 +0,0 @@ -2002-08-17 H.J. Lu <hjl@gnu.org> - - * calls.c (PUSH_ARGS_REVERSED): Define only if not defined. - * expr.c (PUSH_ARGS_REVERSED): Likewise. - -2002-07-26 H.J. Lu <hjl@gnu.org> - - * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1. - -diff -uNr gcc-3.2.orig/gcc/calls.c gcc-3.2/gcc/calls.c ---- gcc-3.2.orig/gcc/calls.c 2002-04-05 09:28:47.000000000 +1000 -+++ gcc-3.2/gcc/calls.c 2002-08-23 20:44:09.000000000 +1000 -@@ -46,9 +46,11 @@ - - #ifdef PUSH_ROUNDING - -+#ifndef PUSH_ARGS_REVERSED - #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD) - #define PUSH_ARGS_REVERSED PUSH_ARGS - #endif -+#endif - - #endif - -diff -uNr gcc-3.2.orig/gcc/config/i386/i386.h gcc-3.2/gcc/config/i386/i386.h ---- gcc-3.2.orig/gcc/config/i386/i386.h 2002-07-15 16:54:36.000000000 +1000 -+++ gcc-3.2/gcc/config/i386/i386.h 2002-08-23 20:44:09.000000000 +1000 -@@ -1581,6 +1581,10 @@ - - #define PUSH_ARGS (TARGET_PUSH_ARGS && !ACCUMULATE_OUTGOING_ARGS) - -+/* We want the stack and args grow in opposite directions, even if -+ PUSH_ARGS is 0. */ -+#define PUSH_ARGS_REVERSED 1 -+ - /* Offset of first parameter from the argument pointer register value. */ - #define FIRST_PARM_OFFSET(FNDECL) 0 - -diff -uNr gcc-3.2.orig/gcc/expr.c gcc-3.2/gcc/expr.c ---- gcc-3.2.orig/gcc/expr.c 2002-05-07 15:43:11.000000000 +1000 -+++ gcc-3.2/gcc/expr.c 2002-08-23 20:44:09.000000000 +1000 -@@ -54,9 +54,11 @@ - - #ifdef PUSH_ROUNDING - -+#ifndef PUSH_ARGS_REVERSED - #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD) - #define PUSH_ARGS_REVERSED /* If it's last to first. */ - #endif -+#endif - - #endif - |