From 0a5caf80d308dc9d9c604e9c05c5838050f3b35f Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 27 Mar 2010 14:51:27 +0000 Subject: [PATCH] 4.4.3-13 --- .cvsignore | 2 +- gcc.spec | 80 ++++++++-- gcc44-max-vartrack-size.patch | 229 ----------------------------- gcc44-sparc-config-detection.patch | 4 +- import.log | 1 + sources | 2 +- 6 files changed, 76 insertions(+), 242 deletions(-) delete mode 100644 gcc44-max-vartrack-size.patch diff --git a/.cvsignore b/.cvsignore index 4e1ffc9..aa82b87 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ fastjar-0.97.tar.gz -gcc-4.4.3-20100211.tar.bz2 +gcc-4.4.3-20100327.tar.bz2 diff --git a/gcc.spec b/gcc.spec index 864f8f1..449cadd 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,12 +1,12 @@ -%global DATE 20100211 -%global SVNREV 156726 +%global DATE 20100327 +%global SVNREV 157778 %global gcc_version 4.4.3 # 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 6 +%global gcc_release 13 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 -%if 0%{?fedora} >= 13 +%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6 %global include_gappletviewer 0 %else %global include_gappletviewer 1 @@ -175,8 +175,7 @@ Patch16: gcc44-unwind-debug-hook.patch Patch17: gcc44-pr38757.patch Patch18: gcc44-libstdc++-docs.patch Patch19: gcc44-ppc64-aixdesc.patch -Patch20: gcc44-max-vartrack-size.patch -Patch21: gcc44-no-add-needed.patch +Patch20: gcc44-no-add-needed.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -485,9 +484,8 @@ which are required to compile with the GNAT. %patch18 -p0 -b .libstdc++-docs~ %endif %patch19 -p0 -b .ppc64-aixdesc~ -%patch20 -p0 -b .max-vartrack-size~ %if 0%{?fedora} >= 13 -%patch21 -p0 -b .no-add-needed~ +%patch20 -p0 -b .no-add-needed~ %endif # This testcase doesn't compile. @@ -686,7 +684,7 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" --with-arch_32=i686 \ %endif %ifarch s390 s390x - --with-arch=z9-109 --with-tune=z10 \ + --with-arch=z9-109 --with-tune=z10 --enable-decimal-float \ %endif %ifnarch sparc sparcv9 ppc --build=%{gcc_target_platform} @@ -1878,6 +1876,70 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Sat Mar 27 2010 Jakub Jelinek 4.4.3-13 +- update from gcc-4_4-branch + - PRs c/43381, libfortran/43517, target/42113 +- VTA backports + - PRs debug/43516, debug/43540 + +* Thu Mar 25 2010 Jakub Jelinek 4.4.3-12 +- update from gcc-4_4-branch + - PRs c/43385, target/43348, tree-optimization/43415 +- VTA backports + - PRs bootstrap/43511, debug/19192, debug/43479, debug/43508 +- provide unwind info even for C++ thunks on x86, x86-64 and s390{,x} + (PR target/43498) +- provide unwind info for x86 PIC thunks even when not using CFI assembler + directives (PR debug/43293) + +* Mon Mar 22 2010 Jakub Jelinek 4.4.3-11 +- update from gcc-4_4-branch + - PRs c++/43116, libfortran/43265, libgomp/42942, middle-end/42718, + middle-end/43419, rtl-optimization/43360, rtl-optimization/43438, + target/43305, target/43417 +- VTA backports + - PRs bootstrap/43399, bootstrap/43403, debug/42873, debug/43058, + debug/43443, target/43399 + +* Tue Mar 16 2010 Jakub Jelinek 4.4.3-10 +- update from gcc-4_4-branch + - PRs fortran/43228, fortran/43303, libfortran/43265, libfortran/43320 +- VTA backports + - PRs debug/36728, debug/43051, debug/43092, debug/43290, + tree-optimization/42917, tree-optimization/43317 + - fix non-localized vars handling and forwarder block merging + (#572260, PR debug/43329) +%if 0%{?rhel} >= 6 +- remove gappletviewer, gcjwebplugin and related files even for + RHEL, as xulrunner got updated to 1.9.2.1 +%endif + +* Tue Mar 9 2010 Jakub Jelinek 4.4.3-9 +- update from gcc-4_4-branch + - PRs ada/42253, bootstrap/43121, c/43248, tree-optimization/43220 +- VTA backports + - PRs debug/42897, debug/43176, debug/43177, debug/43229, debug/43237, + debug/43290, debug/43299, debug/43304 +- fix unwind info in i?86 PIC register setup sequences (PR debug/43293) + +* Fri Feb 26 2010 Jakub Jelinek 4.4.3-8 +- update from gcc-4_4-branch + - PR libstdc++/21769 +- VTA backports + - PRs debug/42800, debug/43077, debug/43150, debug/43160, debug/43161, + debug/43165, debug/43166, debug/43190, target/43139 +- fix alignment of some stack vars (PR middle-end/39315) + +* Sun Feb 21 2010 Jakub Jelinek 4.4.3-7 +- update from gcc-4_4-branch + - PRs c++/43024, c++/43033, fortran/41869, target/40887, + tree-optimization/42871, tree-optimization/43074 +- VTA backports (PRs debug/42918, debug/43084) +- --enable-decimal-float on s390{,x} (#565871) +- improve __builtin_expect handling, propagate branch probabilities + during expansion even for sequences with more than one jump + (PR middle-end/42233) + * Thu Feb 11 2010 Jakub Jelinek 4.4.3-6 - update from gcc-4_4-branch - PR tree-optimization/42705 diff --git a/gcc44-max-vartrack-size.patch b/gcc44-max-vartrack-size.patch deleted file mode 100644 index 70bcd75..0000000 --- a/gcc44-max-vartrack-size.patch +++ /dev/null @@ -1,229 +0,0 @@ -2010-01-05 Alexandre Oliva - - * params.def (PARAM_MAX_VARTRACK_SIZE): New. - * doc/invoke.texi: Document it. - * var-tracking.c: Include toplev.h and params.h. - (vt_find_locations): Return bool indicating success. Compute - hash sizes unconditionally. Check new parameter, report. - (variable_tracking_main_1): Check vt_find_locations results and - retry. Renamed from... - (variable_tracking_main): ... this. New wrapper to preserve - flag_var_tracking_assignments. - * Makefile.in (var-tracking.o): Adjust dependencies. - ---- gcc/doc/invoke.texi.jj 2010-01-09 20:39:58.000000000 +0100 -+++ gcc/doc/invoke.texi 2010-01-21 10:00:15.979730377 +0100 -@@ -7937,6 +7937,15 @@ with more basic blocks than this paramet - motion optimization performed on them. The default value of the - parameter is 1000 for -O1 and 10000 for -O2 and above. - -+@item max-vartrack-size -+Sets a maximum number of hash table slots to use during variable -+tracking dataflow analysis of any function. If this limit is exceeded -+with variable tracking at assignments enabled, analysis for that -+function is retried without it, after removing all debug insns from -+the function. If the limit is exceeded even without debug insns, var -+tracking analysis is completely disabled for the function. Setting -+the parameter to zero makes it unlimited. -+ - @item min-nondebug-insn-uid - Use uids starting at this parameter for nondebug insns. The range below - the parameter is reserved exclusively for debug insns created by ---- gcc/params.def.jj 2010-01-09 20:39:58.000000000 +0100 -+++ gcc/params.def 2010-01-21 10:00:15.980730943 +0100 -@@ -771,6 +771,13 @@ DEFPARAM (PARAM_LOOP_INVARIANT_MAX_BBS_I - "max basic blocks number in loop for loop invariant motion", - 10000, 0, 0) - -+/* Set maximum hash table size for var tracking. */ -+ -+DEFPARAM (PARAM_MAX_VARTRACK_SIZE, -+ "max-vartrack-size", -+ "Max. size of var tracking hash tables", -+ 50000000, 0, 0) -+ - /* Set minimum insn uid for non-debug insns. */ - - DEFPARAM (PARAM_MIN_NONDEBUG_INSN_UID, ---- gcc/var-tracking.c.jj 2010-01-21 09:10:37.000000000 +0100 -+++ gcc/var-tracking.c 2010-01-21 10:00:15.983740989 +0100 -@@ -109,6 +109,8 @@ - #include "tree-flow.h" - #include "cselib.h" - #include "target.h" -+#include "toplev.h" -+#include "params.h" - - /* var-tracking.c assumes that tree code with the same value as VALUE rtx code - has no chance to appear in REG_EXPR/MEM_EXPRs and isn't a decl. -@@ -451,7 +453,7 @@ static int add_uses (rtx *, void *); - static void add_uses_1 (rtx *, void *); - static void add_stores (rtx, const_rtx, void *); - static bool compute_bb_dataflow (basic_block); --static void vt_find_locations (void); -+static bool vt_find_locations (void); - - static void dump_attrs_list (attrs); - static int dump_var_slot (void **, void *); -@@ -5511,7 +5513,7 @@ compute_bb_dataflow (basic_block bb) - - /* Find the locations of variables in the whole function. */ - --static void -+static bool - vt_find_locations (void) - { - fibheap_t worklist, pending, fibheap_swap; -@@ -5522,6 +5524,8 @@ vt_find_locations (void) - int *rc_order; - int i; - int htabsz = 0; -+ int htabmax = PARAM_VALUE (PARAM_MAX_VARTRACK_SIZE); -+ bool success = true; - - /* Compute reverse completion order of depth first search of the CFG - so that the data-flow runs faster. */ -@@ -5543,7 +5547,7 @@ vt_find_locations (void) - fibheap_insert (pending, bb_order[bb->index], bb); - sbitmap_ones (in_pending); - -- while (!fibheap_empty (pending)) -+ while (success && !fibheap_empty (pending)) - { - fibheap_swap = pending; - pending = worklist; -@@ -5566,11 +5570,11 @@ vt_find_locations (void) - - SET_BIT (visited, bb->index); - -- if (dump_file && VTI (bb)->in.vars) -+ if (VTI (bb)->in.vars) - { - htabsz -- -= htab_size (shared_hash_htab (VTI (bb)->in.vars)) -- + htab_size (shared_hash_htab (VTI (bb)->out.vars)); -+ -= (htab_size (shared_hash_htab (VTI (bb)->in.vars)) -+ + htab_size (shared_hash_htab (VTI (bb)->out.vars))); - oldinsz - = htab_elements (shared_hash_htab (VTI (bb)->in.vars)); - oldoutsz -@@ -5634,9 +5638,20 @@ vt_find_locations (void) - } - - changed = compute_bb_dataflow (bb); -- if (dump_file) -- htabsz += htab_size (shared_hash_htab (VTI (bb)->in.vars)) -- + htab_size (shared_hash_htab (VTI (bb)->out.vars)); -+ htabsz += (htab_size (shared_hash_htab (VTI (bb)->in.vars)) -+ + htab_size (shared_hash_htab (VTI (bb)->out.vars))); -+ -+ if (htabmax && htabsz > htabmax) -+ { -+ if (MAY_HAVE_DEBUG_INSNS) -+ inform (DECL_SOURCE_LOCATION (cfun->decl), -+ "variable tracking size limit exceeded with debug insns, retrying without"); -+ else -+ inform (DECL_SOURCE_LOCATION (cfun->decl), -+ "variable tracking size limit exceeded"); -+ success = false; -+ break; -+ } - - if (changed) - { -@@ -5687,7 +5702,7 @@ vt_find_locations (void) - } - } - -- if (MAY_HAVE_DEBUG_INSNS) -+ if (success && MAY_HAVE_DEBUG_INSNS) - FOR_EACH_BB (bb) - gcc_assert (VTI (bb)->flooded); - -@@ -5698,6 +5713,8 @@ vt_find_locations (void) - sbitmap_free (visited); - sbitmap_free (in_worklist); - sbitmap_free (in_pending); -+ -+ return success; - } - - /* Print the content of the LIST to dump file. */ -@@ -7600,9 +7617,11 @@ vt_finalize (void) - - /* The entry point to variable tracking pass. */ - --unsigned int --variable_tracking_main (void) -+static inline unsigned int -+variable_tracking_main_1 (void) - { -+ bool success; -+ - if (flag_var_tracking_assignments < 0) - { - delete_debug_insns (); -@@ -7627,7 +7646,31 @@ variable_tracking_main (void) - } - } - -- vt_find_locations (); -+ success = vt_find_locations (); -+ -+ if (!success && flag_var_tracking_assignments > 0) -+ { -+ vt_finalize (); -+ -+ delete_debug_insns (); -+ -+ /* This is later restored by our caller. */ -+ flag_var_tracking_assignments = 0; -+ -+ vt_initialize (); -+ -+ if (!frame_pointer_needed && !vt_stack_adjustments ()) -+ gcc_unreachable (); -+ -+ success = vt_find_locations (); -+ } -+ -+ if (!success) -+ { -+ vt_finalize (); -+ vt_debug_insns_local (false); -+ return 0; -+ } - - if (dump_file && (dump_flags & TDF_DETAILS)) - { -@@ -7641,6 +7684,19 @@ variable_tracking_main (void) - vt_debug_insns_local (false); - return 0; - } -+ -+unsigned int -+variable_tracking_main (void) -+{ -+ unsigned int ret; -+ int save = flag_var_tracking_assignments; -+ -+ ret = variable_tracking_main_1 (); -+ -+ flag_var_tracking_assignments = save; -+ -+ return ret; -+} - - static bool - gate_handle_var_tracking (void) ---- gcc/Makefile.in.jj 2010-01-21 08:58:12.000000000 +0100 -+++ gcc/Makefile.in 2010-01-21 10:00:45.555730868 +0100 -@@ -2751,7 +2751,7 @@ var-tracking.o : var-tracking.c $(CONFIG - $(RTL_H) $(TREE_H) hard-reg-set.h insn-config.h reload.h $(FLAGS_H) \ - $(BASIC_BLOCK_H) output.h sbitmap.h alloc-pool.h $(FIBHEAP_H) $(HASHTAB_H) \ - $(REGS_H) $(EXPR_H) $(TIMEVAR_H) tree-pass.h cselib.h $(TARGET_H) \ -- $(TREE_FLOW_H) -+ $(TREE_FLOW_H) $(TOPLEV_H) $(PARAMS_H) - profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ - $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) $(FUNCTION_H) \ - $(TOPLEV_H) $(COVERAGE_H) $(TREE_FLOW_H) value-prof.h cfghooks.h \ diff --git a/gcc44-sparc-config-detection.patch b/gcc44-sparc-config-detection.patch index cc3cb41..9c6b57e 100644 --- a/gcc44-sparc-config-detection.patch +++ b/gcc44-sparc-config-detection.patch @@ -6,7 +6,7 @@ ;; -sparc-*-linux*) # SPARC's running GNU/Linux, libc6 +sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6 - tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h" + tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-linux" @@ -2287,7 +2287,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd* @@ -15,7 +15,7 @@ ;; -sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux +sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux - tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h sparc/linux64.h" + tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h sparc/linux64.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" --- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500 diff --git a/import.log b/import.log index dca725e..6589094 100644 --- a/import.log +++ b/import.log @@ -7,3 +7,4 @@ gcc-4_4_3-1_fc13:HEAD:gcc-4.4.3-1.fc13.src.rpm:1264094717 gcc-4_4_3-4_fc13:HEAD:gcc-4.4.3-4.fc13.src.rpm:1264621537 gcc-4_4_3-5_fc13:HEAD:gcc-4.4.3-5.fc13.src.rpm:1265659730 gcc-4_4_3-6_fc13:HEAD:gcc-4.4.3-6.fc13.src.rpm:1265925505 +gcc-4_4_3-13_fc14:HEAD:gcc-4.4.3-13.fc14.src.rpm:1269701430 diff --git a/sources b/sources index b9841eb..1b31d11 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -080254256e618fa9f8f28e03698b016a gcc-4.4.3-20100211.tar.bz2 +2493fe9ab24ac56473b13cbf62634385 gcc-4.4.3-20100327.tar.bz2