Add the latest gcc-4.3.3 with the forward-ported patchset from gcc-4.3.2.
/trunk/patches/gcc/4.3.3/210-noteGNUstack-00.patch | 47 26 21 0 ++++---
/trunk/patches/gcc/4.3.3/270-missing-execinfo_h.patch | 11 8 3 0 +-
/trunk/patches/gcc/4.3.3/260-uclibc-conf-noupstream.patch | 13 9 4 0 +-
/trunk/patches/gcc/4.3.3/220-noteGNUstack-01.patch | 97 51 46 0 +++++++-------
/trunk/patches/gcc/4.3.3/240-pr25343.patch | 11 8 3 0 +-
/trunk/patches/gcc/4.3.3/100-alpha-mieee-default.patch | 17 11 6 0 +-
/trunk/patches/gcc/4.3.3/230-pr34571.patch | 23 8 15 0 +--
/trunk/patches/gcc/4.3.3/350-sh-without-headers.patch | 17 10 7 0 +-
/trunk/patches/gcc/4.3.3/330-unwind-for-uClibc.patch | 19 12 7 0 ++-
/trunk/patches/gcc/4.3.3/190-libstdc++-pic.patch | 17 11 6 0 +-
/trunk/patches/gcc/4.3.3/150-sparc64-bsd.patch | 11 8 3 0 +-
/trunk/patches/gcc/4.3.3/290-index_macro.patch | 17 11 6 0 +-
/trunk/patches/gcc/4.3.3/140-netbsd-symbolic.patch | 11 8 3 0 +-
/trunk/patches/gcc/4.3.3/110-trampolinewarn.patch | 17 11 6 0 +-
/trunk/patches/gcc/4.3.3/160-flatten-switch-stmt-00.patch | 11 8 3 0 +-
/trunk/patches/gcc/4.3.3/280-c99-complex-ugly-hack.patch | 11 8 3 0 +-
/trunk/patches/gcc/4.3.3/300-libmudflap-susv3-legacy.patch | 11 8 3 0 +-
/trunk/patches/gcc/4.3.3/170-libiberty-pic.patch | 11 8 3 0 +-
/trunk/patches/gcc/4.3.3/250-sh-pr24836.patch | 17 11 6 0 +-
/trunk/patches/gcc/4.3.3/120-java-nomulti.patch | 17 11 6 0 +-
/trunk/patches/gcc/4.3.3/320-alpha-signal_h.patch | 14 10 4 0 +-
/trunk/patches/gcc/4.3.3/180-superh-default-multilib.patch | 13 9 4 0 +-
/trunk/patches/gcc/4.3.3/340-make-mno-spe-work-as-expected.patch | 41 23 18 0 +++---
/trunk/patches/gcc/4.3.3/200-pr24170.patch | 23 14 9 0 ++-
/trunk/patches/gcc/4.3.3/310-arm-softfloat.patch | 17 11 6 0 +-
/trunk/patches/gcc/4.3.3/130-cross-compile.patch | 23 14 9 0 ++-
/trunk/config/cc/gcc.in | 7 7 0 0 +
27 files changed, 334 insertions(+), 210 deletions(-)
1 http://gcc.gnu.org/PR20973
3 "gcc 4 (about RC1) miscompiles khtml, in fact something in CSS, which basically
4 leads to all websites being misrendered. I can't easily reduce the testcase,
5 but have applied the whole preprocessed source of css/cssstyleselector.ii.
7 It is to be compiled with g++ -O2 -fPIC -march=i586 -mtune=i686
8 -fno-exceptions. A more detailed analysis will follow, as we've found out
17 Branch: gcc-4_0-branch
18 Changes by: matz@gcc.gnu.org 2005-04-22 17:30:21
21 gcc : ChangeLog reload.c
25 * reload.c (push_reload, find_dummy_reload): Check for uninitialized
29 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.177&r2=2.7592.2.178
30 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/reload.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.268&r2=1.268.2.1
34 ===================================================================
35 RCS file: /cvs/gcc/gcc/gcc/reload.c,v
36 retrieving revision 1.268
37 retrieving revision 1.268.2.1
38 diff -u -r1.268 -r1.268.2.1
39 --- gcc/gcc/reload.c 2005/02/24 22:06:06 1.268
40 +++ gcc/gcc/reload.c 2005/04/22 17:30:15 1.268.2.1
42 But if there is no spilling in this block, that is OK.
43 An explicitly used hard reg cannot be a spill reg. */
45 - if (rld[i].reg_rtx == 0 && in != 0)
46 + if (rld[i].reg_rtx == 0 && in != 0 && hard_regs_live_known)
50 @@ -1534,6 +1534,11 @@
51 && REG_P (XEXP (note, 0))
52 && (regno = REGNO (XEXP (note, 0))) < FIRST_PSEUDO_REGISTER
53 && reg_mentioned_p (XEXP (note, 0), in)
54 + /* Check that we don't use a hardreg for an uninitialized
55 + pseudo. See also find_dummy_reload(). */
56 + && (ORIGINAL_REGNO (XEXP (note, 0)) < FIRST_PSEUDO_REGISTER
57 + || ! bitmap_bit_p (ENTRY_BLOCK_PTR->global_live_at_end,
58 + ORIGINAL_REGNO (XEXP (note, 0))))
59 && ! refers_to_regno_for_reload_p (regno,
61 + hard_regno_nregs[regno]
62 @@ -1997,7 +2002,17 @@
63 is a subreg, and in that case, out
65 (GET_MODE (out) != VOIDmode
66 - ? GET_MODE (out) : outmode)))
67 + ? GET_MODE (out) : outmode))
68 + /* But only do all this if we can be sure, that this input
69 + operand doesn't correspond with an uninitialized pseudoreg.
70 + global can assign some hardreg to it, which is the same as
71 + a different pseudo also currently live (as it can ignore the
72 + conflict). So we never must introduce writes to such hardregs,
73 + as they would clobber the other live pseudo using the same.
74 + See also PR20973. */
75 + && (ORIGINAL_REGNO (in) < FIRST_PSEUDO_REGISTER
76 + || ! bitmap_bit_p (ENTRY_BLOCK_PTR->global_live_at_end,
77 + ORIGINAL_REGNO (in))))
79 unsigned int regno = REGNO (in) + in_offset;
80 unsigned int nwords = hard_regno_nregs[regno][inmode];