diff --git a/.cvsignore b/.cvsignore index c692878..403ba69 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ fastjar-0.97.tar.gz -gcc-4.4.1-20090908.tar.bz2 +gcc-4.4.1-20090909.tar.bz2 diff --git a/gcc.spec b/gcc.spec index c39e7e9..d6e2726 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20090908 -%global SVNREV 151505 +%global DATE 20090909 +%global SVNREV 151553 %global gcc_version 4.4.1 # Note, gcc_release must be integer, if you want to add suffixes to # %{release}, append them after %{gcc_release} on Release: line. -%global gcc_release 10 +%global gcc_release 11 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %global include_gappletviewer 1 @@ -160,11 +160,7 @@ Patch16: gcc44-unwind-debug-hook.patch Patch17: gcc44-pr38757.patch Patch18: gcc44-libstdc++-docs.patch Patch19: gcc44-vta-cfgexpand-ptr-mode-pr41248.patch -Patch20: gcc44-vta-cselib-subreg-of-value-pr41276.patch -Patch21: gcc44-vta-loop-ivopts-propagate-on-release.patch -Patch22: gcc44-vta-no-g-with-gtoggle.patch -Patch23: gcc44-vta-phiopt-pr41232.patch -Patch24: gcc44-vta-ssa-update-former-vops-pr41229.patch +Patch20: gcc44-vta-cselib-subreg-of-value-more-pr41276.patch Patch1000: fastjar-0.97-segfault.patch @@ -471,11 +467,7 @@ which are required to compile with the GNAT. %patch18 -p0 -b .libstdc++-docs~ %endif %patch19 -p0 -b .vta-cfgexpand-ptr-mode-pr41248~ -%patch20 -p0 -b .vta-cselib-subreg-of-value-pr41276~ -%patch21 -p0 -b .vta-loop-ivopts-propagate-on-release~ -%patch22 -p0 -b .vta-no-g-with-gtoggle~ -%patch23 -p0 -b .vta-phiopt-pr41232~ -%patch24 -p0 -b .vta-ssa-update-former-vops-pr41229~ +%patch20 -p0 -b .gcc44-vta-cselib-subreg-of-value-more-pr41276~ # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* @@ -1168,7 +1160,7 @@ echo ====================TESTING========================= ( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' echo ====================TESTING END===================== mkdir testlogs-%{_target_platform}-%{version}-%{release} -for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats\|ada'`; do +for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || : done tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \ @@ -1815,6 +1807,9 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Wed Sep 9 2009 Jakub Jelinek 4.4.1-11 +- fix ICE in tls_mem_loc_descriptor (#521991) + * Tue Sep 8 2009 Jakub Jelinek 4.4.1-10 - update from gcc-4_4-branch - PRs fortran/41258, rtl-optimization/40861 diff --git a/gcc44-vta-cselib-subreg-of-value-more-pr41276.patch b/gcc44-vta-cselib-subreg-of-value-more-pr41276.patch index 0dded73..a61935c 100644 --- a/gcc44-vta-cselib-subreg-of-value-more-pr41276.patch +++ b/gcc44-vta-cselib-subreg-of-value-more-pr41276.patch @@ -86,7 +86,7 @@ Index: gcc/cselib.c @@ -1185,20 +1201,16 @@ cselib_expand_value_rtx_1 (rtx orig, str fputs (" into...", dump_file); } - + - if (!evd->callback) - result = NULL; - else diff --git a/gcc44-vta-cselib-subreg-of-value-pr41276.patch b/gcc44-vta-cselib-subreg-of-value-pr41276.patch deleted file mode 100644 index 6de60eb..0000000 --- a/gcc44-vta-cselib-subreg-of-value-pr41276.patch +++ /dev/null @@ -1,30 +0,0 @@ -for gcc/ChangeLog -from Alexandre Oliva - - PR debug/41276 - * cselib.c (cselib_expand_value_rtx_1): Don't return copy of - invalid subreg. - -Index: gcc/cselib.c -=================================================================== ---- gcc/cselib.c.orig 2009-08-14 08:00:12.000000000 -0300 -+++ gcc/cselib.c 2009-09-07 19:17:35.000000000 -0300 -@@ -1165,12 +1165,12 @@ cselib_expand_value_rtx_1 (rtx orig, str - scopy = simplify_gen_subreg (GET_MODE (orig), subreg, - GET_MODE (SUBREG_REG (orig)), - SUBREG_BYTE (orig)); -- if (scopy == NULL -- || (GET_CODE (scopy) == SUBREG -- && !REG_P (SUBREG_REG (scopy)) -- && !MEM_P (SUBREG_REG (scopy)) -- && (REG_P (SUBREG_REG (orig)) -- || MEM_P (SUBREG_REG (orig))))) -+ if ((scopy == NULL -+ || (GET_CODE (scopy) == SUBREG -+ && !REG_P (SUBREG_REG (scopy)) -+ && !MEM_P (SUBREG_REG (scopy)))) -+ && (REG_P (SUBREG_REG (orig)) -+ || MEM_P (SUBREG_REG (orig)))) - return shallow_copy_rtx (orig); - return scopy; - } diff --git a/gcc44-vta-loop-ivopts-propagate-on-release.patch b/gcc44-vta-loop-ivopts-propagate-on-release.patch deleted file mode 100644 index 2376d64..0000000 --- a/gcc44-vta-loop-ivopts-propagate-on-release.patch +++ /dev/null @@ -1,207 +0,0 @@ -for gcc/ChangeLog -from Alexandre Oliva - - * tree-ssa-loop-ivopts.c (get_phi_with_result): Remove. - (remove_statement): Likewise. - (rewrite_use_nonlinear_expr): Adjust. - (remove_unused_ivs): Collect SSA NAMEs to remove and call... - * tree-ssa.c (release_defs_bitset): ... this. New. - * tree-flow.h (release_defs_bitset): Declare. - -Index: gcc/tree-ssa-loop-ivopts.c -=================================================================== ---- gcc/tree-ssa-loop-ivopts.c.orig 2009-09-07 19:00:52.000000000 -0300 -+++ gcc/tree-ssa-loop-ivopts.c 2009-09-07 19:15:39.000000000 -0300 -@@ -5038,42 +5038,6 @@ create_new_ivs (struct ivopts_data *data - } - } - --/* Returns the phi-node in BB with result RESULT. */ -- --static gimple --get_phi_with_result (basic_block bb, tree result) --{ -- gimple_stmt_iterator i = gsi_start_phis (bb); -- -- for (; !gsi_end_p (i); gsi_next (&i)) -- if (gimple_phi_result (gsi_stmt (i)) == result) -- return gsi_stmt (i); -- -- gcc_unreachable (); -- return NULL; --} -- -- --/* Removes statement STMT (real or a phi node). If INCLUDING_DEFINED_NAME -- is true, remove also the ssa name defined by the statement. */ -- --static void --remove_statement (gimple stmt, bool including_defined_name) --{ -- if (gimple_code (stmt) == GIMPLE_PHI) -- { -- gimple bb_phi = get_phi_with_result (gimple_bb (stmt), -- gimple_phi_result (stmt)); -- gimple_stmt_iterator bsi = gsi_for_stmt (bb_phi); -- remove_phi_node (&bsi, including_defined_name); -- } -- else -- { -- gimple_stmt_iterator bsi = gsi_for_stmt (stmt); -- gsi_remove (&bsi, true); -- release_defs (stmt); -- } --} - - /* Rewrites USE (definition of iv used in a nonlinear expression) - using candidate CAND. */ -@@ -5176,7 +5140,9 @@ rewrite_use_nonlinear_expr (struct ivopt - { - ass = gimple_build_assign (tgt, op); - gsi_insert_before (&bsi, ass, GSI_SAME_STMT); -- remove_statement (use->stmt, false); -+ -+ bsi = gsi_for_stmt (use->stmt); -+ remove_phi_node (&bsi, false); - } - else - { -@@ -5414,7 +5380,11 @@ remove_unused_ivs (struct ivopts_data *d - { - unsigned j; - bitmap_iterator bi; -+ bitmap toremove = BITMAP_ALLOC (NULL); - -+ /* Figure out an order in which to release SSA DEFs so that we don't -+ release something that we'd have to propagate into a debug stmt -+ afterwards. */ - EXECUTE_IF_SET_IN_BITMAP (data->relevant, 0, j, bi) - { - struct version_info *info; -@@ -5425,25 +5395,12 @@ remove_unused_ivs (struct ivopts_data *d - && !info->inv_id - && !info->iv->have_use_for - && !info->preserve_biv) -- { -- if (MAY_HAVE_DEBUG_STMTS) -- { -- gimple stmt; -- imm_use_iterator iter; -- -- FOR_EACH_IMM_USE_STMT (stmt, iter, info->iv->ssa_name) -- { -- if (!gimple_debug_bind_p (stmt)) -- continue; -- -- /* ??? We can probably do better than this. */ -- gimple_debug_bind_reset_value (stmt); -- update_stmt (stmt); -- } -- } -- remove_statement (SSA_NAME_DEF_STMT (info->iv->ssa_name), true); -- } -+ bitmap_set_bit (toremove, SSA_NAME_VERSION (info->iv->ssa_name)); - } -+ -+ release_defs_bitset (toremove); -+ -+ BITMAP_FREE (toremove); - } - - /* Frees data allocated by the optimization of a single loop. */ -Index: gcc/tree-flow.h -=================================================================== ---- gcc/tree-flow.h.orig 2009-07-12 08:19:36.000000000 -0300 -+++ gcc/tree-flow.h 2009-09-07 19:15:39.000000000 -0300 -@@ -586,9 +586,10 @@ typedef struct - (VAR) = next_referenced_var (&(ITER))) - - void propagate_defs_into_debug_stmts (gimple, basic_block, -- const gimple_stmt_iterator *); -+ const gimple_stmt_iterator *); - void propagate_var_def_into_debug_stmts (tree, basic_block, -- const gimple_stmt_iterator *); -+ const gimple_stmt_iterator *); -+void release_defs_bitset (bitmap toremove); - - typedef struct - { -Index: gcc/tree-ssa.c -=================================================================== ---- gcc/tree-ssa.c.orig 2009-09-01 16:16:04.000000000 -0300 -+++ gcc/tree-ssa.c 2009-09-07 19:15:39.000000000 -0300 -@@ -440,6 +440,74 @@ propagate_defs_into_debug_stmts (gimple - } - } - -+/* Delete SSA DEFs for SSA versions in the TOREMOVE bitmap, removing -+ dominated stmts before their dominators, so that release_ssa_defs -+ stands a chance of propagating DEFs into debug bind stmts. */ -+ -+void -+release_defs_bitset (bitmap toremove) -+{ -+ unsigned j; -+ bitmap_iterator bi; -+ -+ /* Performing a topological sort is probably overkill, this will -+ most likely run in slightly superlinear time, rather than the -+ pathological quadratic worst case. */ -+ while (!bitmap_empty_p (toremove)) -+ EXECUTE_IF_SET_IN_BITMAP (toremove, 0, j, bi) -+ { -+ bool remove_now = true; -+ tree var = ssa_name (j); -+ gimple stmt; -+ imm_use_iterator uit; -+ -+ FOR_EACH_IMM_USE_STMT (stmt, uit, var) -+ { -+ ssa_op_iter dit; -+ def_operand_p def_p; -+ -+ /* We can't propagate PHI nodes into debug stmts. */ -+ if (gimple_code (stmt) == GIMPLE_PHI -+ || is_gimple_debug (stmt)) -+ continue; -+ -+ /* If we find another definition to remove that uses -+ the one we're looking at, defer the removal of this -+ one, so that it can be propagated into debug stmts -+ after the other is. */ -+ FOR_EACH_SSA_DEF_OPERAND (def_p, stmt, dit, SSA_OP_DEF) -+ { -+ tree odef = DEF_FROM_PTR (def_p); -+ -+ if (bitmap_bit_p (toremove, SSA_NAME_VERSION (odef))) -+ { -+ remove_now = false; -+ break; -+ } -+ } -+ -+ if (!remove_now) -+ BREAK_FROM_IMM_USE_STMT (uit); -+ } -+ -+ if (remove_now) -+ { -+ gimple def = SSA_NAME_DEF_STMT (var); -+ gimple_stmt_iterator gsi = gsi_for_stmt (def); -+ -+ if (gimple_code (def) == GIMPLE_PHI) -+ remove_phi_node (&gsi, true); -+ else -+ { -+ gsi_remove (&gsi, true); -+ release_defs (def); -+ } -+ -+ bitmap_clear_bit (toremove, j); -+ } -+ } -+} -+ - /* Return true if SSA_NAME is malformed and mark it visited. - - IS_VIRTUAL is true if this SSA_NAME was found inside a virtual diff --git a/gcc44-vta-no-g-with-gtoggle.patch b/gcc44-vta-no-g-with-gtoggle.patch deleted file mode 100644 index 457fd06..0000000 --- a/gcc44-vta-no-g-with-gtoggle.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: gcc/toplev.c -=================================================================== ---- gcc/toplev.c.orig 2009-09-07 19:11:47.000000000 -0300 -+++ gcc/toplev.c 2009-09-07 19:17:31.000000000 -0300 -@@ -1796,7 +1796,12 @@ process_options (void) - if (flag_gtoggle) - { - if (debug_info_level == DINFO_LEVEL_NONE) -- debug_info_level = DINFO_LEVEL_NORMAL; -+ { -+ debug_info_level = DINFO_LEVEL_NORMAL; -+ -+ if (write_symbols == NO_DEBUG) -+ write_symbols = PREFERRED_DEBUGGING_TYPE; -+ } - else - debug_info_level = DINFO_LEVEL_NONE; - } diff --git a/gcc44-vta-phiopt-pr41232.patch b/gcc44-vta-phiopt-pr41232.patch deleted file mode 100644 index ace14cf..0000000 --- a/gcc44-vta-phiopt-pr41232.patch +++ /dev/null @@ -1,45 +0,0 @@ -for gcc/ChangeLog -from Alexandre Oliva - - PR debug/41232 - * tree-ssa-phiopt.c (minmax_replacement): Skip debug stmts - in the middle block. - -for gcc/testsuite/ChangeLog -from Alexandre Oliva - - PR debug/41232 - * gcc.dg/pr41232.c: New. - -Index: gcc/testsuite/gcc.dg/pr41232.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gcc/testsuite/gcc.dg/pr41232.c 2009-09-07 19:15:35.000000000 -0300 -@@ -0,0 +1,14 @@ -+/* { dg-do compile } */ -+/* { dg-options "-O1 -g" } */ -+extern int atoi (const char *); -+extern int sprintf (char *, const char *, ...); -+void malloc_init() { -+ char *cptr; -+ char buf[1]; -+ int tmbd = atoi(cptr); -+ if (tmbd > 0) -+ tmbd = (tmbd <= 124) ? tmbd : 124; -+ else -+ tmbd = 0; -+ sprintf(buf, "%d\n", tmbd); -+} -Index: gcc/tree-ssa-phiopt.c -=================================================================== ---- gcc/tree-ssa-phiopt.c.orig 2009-09-07 19:00:29.000000000 -0300 -+++ gcc/tree-ssa-phiopt.c 2009-09-07 19:15:35.000000000 -0300 -@@ -848,7 +848,7 @@ minmax_replacement (basic_block cond_bb, - - /* Move the statement from the middle block. */ - gsi = gsi_last_bb (cond_bb); -- gsi_from = gsi_last_bb (middle_bb); -+ gsi_from = gsi_last_nondebug_bb (middle_bb); - gsi_move_before (&gsi_from, &gsi); - } - diff --git a/gcc44-vta-ssa-update-former-vops-pr41229.patch b/gcc44-vta-ssa-update-former-vops-pr41229.patch deleted file mode 100644 index 3f1278f..0000000 --- a/gcc44-vta-ssa-update-former-vops-pr41229.patch +++ /dev/null @@ -1,41 +0,0 @@ -for gcc/ChangeLog -from Alexandre Oliva - - PR debug/41229 - * tree-ssa.c (execute_update_addresses_taken): Update debug insns. - -for gcc/testsuite/ChangeLog -from Alexandre Oliva - - PR debug/41229 - * gfortran.dg/pr41229.f90: New. - -Index: gcc/testsuite/gfortran.dg/pr41229.f90 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gcc/testsuite/gfortran.dg/pr41229.f90 2009-09-07 19:16:17.000000000 -0300 -@@ -0,0 +1,10 @@ -+! { dg-do compile } -+! { dg-options "-O2 -g" } -+SUBROUTINE cp_fm_triangular_multiply() -+ INTEGER, PARAMETER :: dp=KIND(0.0D0) -+ REAL(dp), ALLOCATABLE, DIMENSION(:) :: tau, work -+ REAL(KIND=dp), DIMENSION(:, :), POINTER :: a -+ ndim = SIZE(a,2) -+ ALLOCATE(tau(ndim),STAT=istat) -+ ALLOCATE(work(2*ndim),STAT=istat) -+END SUBROUTINE -Index: gcc/tree-ssa.c -=================================================================== ---- gcc/tree-ssa.c.orig 2009-09-07 19:15:39.000000000 -0300 -+++ gcc/tree-ssa.c 2009-09-07 19:17:19.000000000 -0300 -@@ -2067,7 +2067,8 @@ execute_update_addresses_taken (void) - if ((gimple_loaded_syms (stmt) - && bitmap_intersect_p (gimple_loaded_syms (stmt), vars_updated)) - || (gimple_stored_syms (stmt) -- && bitmap_intersect_p (gimple_stored_syms (stmt), vars_updated))) -+ && bitmap_intersect_p (gimple_stored_syms (stmt), vars_updated)) -+ || is_gimple_debug (stmt)) - update_stmt (stmt); - } - BITMAP_FREE (not_reg_needs); diff --git a/sources b/sources index e1346bc..cc9a561 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -12f92325baf664989136ea6c7585273f gcc-4.4.1-20090908.tar.bz2 +de6d4c15a234466f656b6fcb84d8c3ec gcc-4.4.1-20090909.tar.bz2