4.5.1-1
This commit is contained in:
parent
60a4c4d537
commit
3e097055d1
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
fastjar-0.97.tar.gz
|
||||
gcc-4.5.0-20100716.tar.bz2
|
||||
gcc-4.5.0-20100730.tar.bz2
|
||||
gcc-4.5.1-20100812.tar.bz2
|
||||
|
54
gcc.spec
54
gcc.spec
@ -1,9 +1,9 @@
|
||||
%global DATE 20100730
|
||||
%global SVNREV 162712
|
||||
%global gcc_version 4.5.0
|
||||
%global DATE 20100812
|
||||
%global SVNREV 163197
|
||||
%global gcc_version 4.5.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 4
|
||||
%global gcc_release 1
|
||||
%global _unpackaged_files_terminate_build 0
|
||||
%global multilib_64_archs sparc64 ppc64 s390x x86_64
|
||||
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
|
||||
@ -39,7 +39,7 @@
|
||||
Summary: Various compilers (C, C++, Objective-C, Java, ...)
|
||||
Name: gcc
|
||||
Version: %{gcc_version}
|
||||
Release: %{gcc_release}%{?dist}.1
|
||||
Release: %{gcc_release}%{?dist}
|
||||
# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
|
||||
# GCC Runtime Exception.
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
|
||||
@ -156,7 +156,6 @@ Patch12: gcc45-cloog-dl.patch
|
||||
Patch14: gcc45-pr38757.patch
|
||||
Patch15: gcc45-libstdc++-docs.patch
|
||||
Patch17: gcc45-no-add-needed.patch
|
||||
Patch18: gcc45-pr45055.patch
|
||||
|
||||
Patch1000: fastjar-0.97-segfault.patch
|
||||
Patch1001: fastjar-0.97-len1.patch
|
||||
@ -486,7 +485,6 @@ GNAT is a GNU Ada 95 front-end to GCC. This package includes static libraries.
|
||||
%patch15 -p0 -b .libstdc++-docs~
|
||||
%endif
|
||||
%patch17 -p0 -b .no-add-needed~
|
||||
%patch18 -p0 -b .pr45055~
|
||||
|
||||
# This testcase doesn't compile.
|
||||
rm libjava/testsuite/libjava.lang/PR35020*
|
||||
@ -503,7 +501,7 @@ tar xzf %{SOURCE4}
|
||||
tar xjf %{SOURCE10}
|
||||
%endif
|
||||
|
||||
sed -i -e 's/4\.5\.1/4.5.0/' gcc/BASE-VER
|
||||
sed -i -e 's/4\.5\.2/4.5.1/' gcc/BASE-VER
|
||||
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
|
||||
|
||||
# Default to -gdwarf-3 rather than -gdwarf-2
|
||||
@ -960,9 +958,9 @@ ln -sf ../../../libgomp.so.1.* libgomp.so
|
||||
ln -sf ../../../libmudflap.so.0.* libmudflap.so
|
||||
ln -sf ../../../libmudflapth.so.0.* libmudflapth.so
|
||||
%if %{build_java}
|
||||
ln -sf ../../../libgcj.so.10.* libgcj.so
|
||||
ln -sf ../../../libgcj-tools.so.10.* libgcj-tools.so
|
||||
ln -sf ../../../libgij.so.10.* libgij.so
|
||||
ln -sf ../../../libgcj.so.11.* libgcj.so
|
||||
ln -sf ../../../libgcj-tools.so.11.* libgcj-tools.so
|
||||
ln -sf ../../../libgij.so.11.* libgij.so
|
||||
%endif
|
||||
else
|
||||
ln -sf ../../../../%{_lib}/libobjc.so.2 libobjc.so
|
||||
@ -972,9 +970,9 @@ ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
|
||||
ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so
|
||||
ln -sf ../../../../%{_lib}/libmudflapth.so.0.* libmudflapth.so
|
||||
%if %{build_java}
|
||||
ln -sf ../../../../%{_lib}/libgcj.so.10.* libgcj.so
|
||||
ln -sf ../../../../%{_lib}/libgcj-tools.so.10.* libgcj-tools.so
|
||||
ln -sf ../../../../%{_lib}/libgij.so.10.* libgij.so
|
||||
ln -sf ../../../../%{_lib}/libgcj.so.11.* libgcj.so
|
||||
ln -sf ../../../../%{_lib}/libgcj-tools.so.11.* libgcj-tools.so
|
||||
ln -sf ../../../../%{_lib}/libgij.so.11.* libgij.so
|
||||
%endif
|
||||
fi
|
||||
%if %{build_java}
|
||||
@ -1037,9 +1035,9 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's
|
||||
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflap.so
|
||||
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflapth.so
|
||||
%if %{build_java}
|
||||
ln -sf ../`echo ../../../../lib/libgcj.so.10.* | sed s~/lib/~/lib64/~` 64/libgcj.so
|
||||
ln -sf ../`echo ../../../../lib/libgcj-tools.so.10.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so
|
||||
ln -sf ../`echo ../../../../lib/libgij.so.10.* | sed s~/lib/~/lib64/~` 64/libgij.so
|
||||
ln -sf ../`echo ../../../../lib/libgcj.so.11.* | sed s~/lib/~/lib64/~` 64/libgcj.so
|
||||
ln -sf ../`echo ../../../../lib/libgcj-tools.so.11.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so
|
||||
ln -sf ../`echo ../../../../lib/libgij.so.11.* | sed s~/lib/~/lib64/~` 64/libgij.so
|
||||
ln -sf lib32/libgcj_bc.so libgcj_bc.so
|
||||
ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so
|
||||
%endif
|
||||
@ -1073,9 +1071,9 @@ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflapth.so.0.* | se
|
||||
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflap.so
|
||||
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflapth.so
|
||||
%if %{build_java}
|
||||
ln -sf ../`echo ../../../../lib64/libgcj.so.10.* | sed s~/../lib64/~/~` 32/libgcj.so
|
||||
ln -sf ../`echo ../../../../lib64/libgcj-tools.so.10.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
|
||||
ln -sf ../`echo ../../../../lib64/libgij.so.10.* | sed s~/../lib64/~/~` 32/libgij.so
|
||||
ln -sf ../`echo ../../../../lib64/libgcj.so.11.* | sed s~/../lib64/~/~` 32/libgcj.so
|
||||
ln -sf ../`echo ../../../../lib64/libgcj-tools.so.11.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
|
||||
ln -sf ../`echo ../../../../lib64/libgij.so.11.* | sed s~/../lib64/~/~` 32/libgij.so
|
||||
%endif
|
||||
mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
|
||||
mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
|
||||
@ -1958,15 +1956,25 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Aug 11 2010 David Malcolm <dmalcolm@redhat.com> - 4.5.0-4.1
|
||||
- recompiling .py files against Python 2.7 (rhbz#623302)
|
||||
* Thu Aug 12 2010 Jakub Jelinek <jakub@redhat.com> 4.5.1-1
|
||||
- update from gcc-4_5-branch
|
||||
- GCC 4.5.1 release
|
||||
- PRs boehm-gc/34544, c++/45112, fortran/31588, fortran/42051,
|
||||
fortran/43954, fortran/44064, fortran/44660, fortran/44929,
|
||||
fortran/45151, libstdc++/44963, middle-end/44133, middle-end/45034,
|
||||
middle-end/45262, target/41089, target/43698, target/44805,
|
||||
testsuite/43283, tree-optimization/44914, tree-optimization/45052,
|
||||
tree-optimization/45109
|
||||
- fix VTA ICE in caller-save.c (#622060, PR debug/45259)
|
||||
- fix up gdb libstdc++ pretty printing (#621717)
|
||||
- fix up libgcj.so, libgij.so and libgcj-tools.so symlinks (#619156)
|
||||
|
||||
* Fri Jul 30 2010 Jakub Jelinek <jakub@redhat.com> 4.5.0-4
|
||||
- update from gcc-4_5-branch
|
||||
- PRs c++/43016, c++/44996, c++/45008, c/45079, debug/45015, fortran/30668,
|
||||
fortran/31346, fortran/34260, fortran/40011, testsuite/38946,
|
||||
tree-optimization/44900, tree-optimization/44977
|
||||
- fix vectorizer ICE (#6617492, PR tree-optimization/45047)
|
||||
- fix vectorizer ICE (#617492, PR tree-optimization/45047)
|
||||
- use --enable-linker-build-id in configury instead of patching
|
||||
--build-id support in
|
||||
- VTA backports
|
||||
|
@ -1,248 +0,0 @@
|
||||
2010-07-30 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/45055
|
||||
PR rtl-optimization/45137
|
||||
* rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
|
||||
prototypes.
|
||||
* emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
|
||||
New functions.
|
||||
* combine.c (next_nonnote_nondebug_insn): Removed.
|
||||
* ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
|
||||
* haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
|
||||
* sched-deps.c (sched_analyze_insn): Likewise.
|
||||
(fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
|
||||
* rtlanal.c (canonicalize_condition): Likewise.
|
||||
* postreload.c (reload_combine): Likewise.
|
||||
(reload_cse_move2add): Use next_nonnote_nondebug_insn.
|
||||
|
||||
* gcc.dg/pr45055.c: New test.
|
||||
|
||||
--- gcc/rtl.h.jj 2010-06-11 11:06:01.167282688 +0200
|
||||
+++ gcc/rtl.h 2010-07-30 16:33:28.722450824 +0200
|
||||
@@ -1709,6 +1709,8 @@ extern rtx next_nonnote_insn (rtx);
|
||||
extern rtx next_nonnote_insn_bb (rtx);
|
||||
extern rtx prev_nondebug_insn (rtx);
|
||||
extern rtx next_nondebug_insn (rtx);
|
||||
+extern rtx prev_nonnote_nondebug_insn (rtx);
|
||||
+extern rtx next_nonnote_nondebug_insn (rtx);
|
||||
extern rtx prev_real_insn (rtx);
|
||||
extern rtx next_real_insn (rtx);
|
||||
extern rtx prev_active_insn (rtx);
|
||||
--- gcc/emit-rtl.c.jj 2010-06-11 11:06:01.104409599 +0200
|
||||
+++ gcc/emit-rtl.c 2010-07-30 16:33:28.733479816 +0200
|
||||
@@ -3162,6 +3162,38 @@ prev_nondebug_insn (rtx insn)
|
||||
return insn;
|
||||
}
|
||||
|
||||
+/* Return the next insn after INSN that is not a NOTE nor DEBUG_INSN.
|
||||
+ This routine does not look inside SEQUENCEs. */
|
||||
+
|
||||
+rtx
|
||||
+next_nonnote_nondebug_insn (rtx insn)
|
||||
+{
|
||||
+ while (insn)
|
||||
+ {
|
||||
+ insn = NEXT_INSN (insn);
|
||||
+ if (insn == 0 || (!NOTE_P (insn) && !DEBUG_INSN_P (insn)))
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return insn;
|
||||
+}
|
||||
+
|
||||
+/* Return the previous insn before INSN that is not a NOTE nor DEBUG_INSN.
|
||||
+ This routine does not look inside SEQUENCEs. */
|
||||
+
|
||||
+rtx
|
||||
+prev_nonnote_nondebug_insn (rtx insn)
|
||||
+{
|
||||
+ while (insn)
|
||||
+ {
|
||||
+ insn = PREV_INSN (insn);
|
||||
+ if (insn == 0 || (!NOTE_P (insn) && !DEBUG_INSN_P (insn)))
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return insn;
|
||||
+}
|
||||
+
|
||||
/* Return the next INSN, CALL_INSN or JUMP_INSN after INSN;
|
||||
or 0, if there is none. This routine does not look inside
|
||||
SEQUENCEs. */
|
||||
--- gcc/combine.c.jj 2010-06-11 11:06:01.175282562 +0200
|
||||
+++ gcc/combine.c 2010-07-30 16:33:28.754479788 +0200
|
||||
@@ -12680,29 +12680,6 @@ reg_bitfield_target_p (rtx x, rtx body)
|
||||
|
||||
return 0;
|
||||
}
|
||||
-
|
||||
-/* Return the next insn after INSN that is neither a NOTE nor a
|
||||
- DEBUG_INSN. This routine does not look inside SEQUENCEs. */
|
||||
-
|
||||
-static rtx
|
||||
-next_nonnote_nondebug_insn (rtx insn)
|
||||
-{
|
||||
- while (insn)
|
||||
- {
|
||||
- insn = NEXT_INSN (insn);
|
||||
- if (insn == 0)
|
||||
- break;
|
||||
- if (NOTE_P (insn))
|
||||
- continue;
|
||||
- if (DEBUG_INSN_P (insn))
|
||||
- continue;
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
- return insn;
|
||||
-}
|
||||
-
|
||||
-
|
||||
|
||||
/* Given a chain of REG_NOTES originally from FROM_INSN, try to place them
|
||||
as appropriate. I3 and I2 are the insns resulting from the combination
|
||||
--- gcc/ifcvt.c.jj 2010-06-11 11:06:00.939658763 +0200
|
||||
+++ gcc/ifcvt.c 2010-07-30 16:33:28.768458909 +0200
|
||||
@@ -2285,9 +2285,7 @@ noce_process_if_block (struct noce_if_in
|
||||
}
|
||||
else
|
||||
{
|
||||
- insn_b = prev_nonnote_insn (if_info->cond_earliest);
|
||||
- while (insn_b && DEBUG_INSN_P (insn_b))
|
||||
- insn_b = prev_nonnote_insn (insn_b);
|
||||
+ insn_b = prev_nonnote_nondebug_insn (if_info->cond_earliest);
|
||||
/* We're going to be moving the evaluation of B down from above
|
||||
COND_EARLIEST to JUMP. Make sure the relevant data is still
|
||||
intact. */
|
||||
--- gcc/haifa-sched.c.jj 2010-06-30 16:53:00.807292319 +0200
|
||||
+++ gcc/haifa-sched.c 2010-07-30 16:33:28.785485355 +0200
|
||||
@@ -1997,13 +1997,9 @@ queue_to_ready (struct ready_list *ready
|
||||
q_ptr = NEXT_Q (q_ptr);
|
||||
|
||||
if (dbg_cnt (sched_insn) == false)
|
||||
- {
|
||||
- /* If debug counter is activated do not requeue insn next after
|
||||
- last_scheduled_insn. */
|
||||
- skip_insn = next_nonnote_insn (last_scheduled_insn);
|
||||
- while (skip_insn && DEBUG_INSN_P (skip_insn))
|
||||
- skip_insn = next_nonnote_insn (skip_insn);
|
||||
- }
|
||||
+ /* If debug counter is activated do not requeue insn next after
|
||||
+ last_scheduled_insn. */
|
||||
+ skip_insn = next_nonnote_nondebug_insn (last_scheduled_insn);
|
||||
else
|
||||
skip_insn = NULL_RTX;
|
||||
|
||||
--- gcc/sched-deps.c.jj 2010-06-11 11:06:01.160283802 +0200
|
||||
+++ gcc/sched-deps.c 2010-07-30 16:33:28.799486427 +0200
|
||||
@@ -1517,9 +1517,7 @@ fixup_sched_groups (rtx insn)
|
||||
|
||||
delete_all_dependences (insn);
|
||||
|
||||
- prev_nonnote = prev_nonnote_insn (insn);
|
||||
- while (DEBUG_INSN_P (prev_nonnote))
|
||||
- prev_nonnote = prev_nonnote_insn (prev_nonnote);
|
||||
+ prev_nonnote = prev_nonnote_nondebug_insn (insn);
|
||||
if (BLOCK_FOR_INSN (insn) == BLOCK_FOR_INSN (prev_nonnote)
|
||||
&& ! sched_insns_conditions_mutex_p (insn, prev_nonnote))
|
||||
add_dependence (insn, prev_nonnote, REG_DEP_ANTI);
|
||||
@@ -2695,9 +2693,7 @@ sched_analyze_insn (struct deps_desc *de
|
||||
if (JUMP_P (insn))
|
||||
{
|
||||
rtx next;
|
||||
- next = next_nonnote_insn (insn);
|
||||
- while (next && DEBUG_INSN_P (next))
|
||||
- next = next_nonnote_insn (next);
|
||||
+ next = next_nonnote_nondebug_insn (insn);
|
||||
if (next && BARRIER_P (next))
|
||||
reg_pending_barrier = MOVE_BARRIER;
|
||||
else
|
||||
@@ -3366,10 +3362,8 @@ deps_start_bb (struct deps_desc *deps, r
|
||||
hard registers correct. */
|
||||
if (! reload_completed && !LABEL_P (head))
|
||||
{
|
||||
- rtx insn = prev_nonnote_insn (head);
|
||||
+ rtx insn = prev_nonnote_nondebug_insn (head);
|
||||
|
||||
- while (insn && DEBUG_INSN_P (insn))
|
||||
- insn = prev_nonnote_insn (insn);
|
||||
if (insn && CALL_P (insn))
|
||||
deps->in_post_call_group_p = post_call_initial;
|
||||
}
|
||||
--- gcc/postreload.c.jj 2010-06-11 11:06:00.856659196 +0200
|
||||
+++ gcc/postreload.c 2010-07-30 16:34:14.703335670 +0200
|
||||
@@ -810,7 +810,7 @@ reload_combine (void)
|
||||
rtx reg = SET_DEST (set);
|
||||
rtx plus = SET_SRC (set);
|
||||
rtx base = XEXP (plus, 1);
|
||||
- rtx prev = prev_nonnote_insn (insn);
|
||||
+ rtx prev = prev_nonnote_nondebug_insn (insn);
|
||||
rtx prev_set = prev ? single_set (prev) : NULL_RTX;
|
||||
unsigned int regno = REGNO (reg);
|
||||
rtx index_reg = NULL_RTX;
|
||||
@@ -1323,7 +1323,7 @@ reload_cse_move2add (rtx first)
|
||||
&& MODES_OK_FOR_MOVE2ADD (GET_MODE (reg),
|
||||
reg_mode[REGNO (src)]))
|
||||
{
|
||||
- rtx next = next_nonnote_insn (insn);
|
||||
+ rtx next = next_nonnote_nondebug_insn (insn);
|
||||
rtx set = NULL_RTX;
|
||||
if (next)
|
||||
set = single_set (next);
|
||||
--- gcc/rtlanal.c.jj 2010-06-11 11:06:00.867421367 +0200
|
||||
+++ gcc/rtlanal.c 2010-07-30 16:33:28.820478800 +0200
|
||||
@@ -4755,9 +4755,7 @@ canonicalize_condition (rtx insn, rtx co
|
||||
stop if it isn't a single set or if it has a REG_INC note because
|
||||
we don't want to bother dealing with it. */
|
||||
|
||||
- do
|
||||
- prev = prev_nonnote_insn (prev);
|
||||
- while (prev && DEBUG_INSN_P (prev));
|
||||
+ prev = prev_nonnote_nondebug_insn (prev);
|
||||
|
||||
if (prev == 0
|
||||
|| !NONJUMP_INSN_P (prev)
|
||||
--- gcc/testsuite/gcc.dg/pr45055.c.jj 2010-07-30 16:33:28.821480043 +0200
|
||||
+++ gcc/testsuite/gcc.dg/pr45055.c 2010-07-30 16:33:28.822479707 +0200
|
||||
@@ -0,0 +1,41 @@
|
||||
+/* PR debug/45055 */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-O2 -ftracer -fsched-pressure -funroll-loops -fschedule-insns -fcompare-debug" } */
|
||||
+
|
||||
+int colormap[10];
|
||||
+
|
||||
+extern int bar ();
|
||||
+
|
||||
+void
|
||||
+foo (int *img, int fp, int y, int *ptr, int depth, int c, int t, int xm)
|
||||
+{
|
||||
+ int x, color, count;
|
||||
+ for (; y; y--)
|
||||
+ {
|
||||
+ if (depth)
|
||||
+ {
|
||||
+ count = bar ();
|
||||
+ for (x = xm; x; x--)
|
||||
+ {
|
||||
+ if (c != 1)
|
||||
+ count = color = -1;
|
||||
+ if (count == 0)
|
||||
+ color = count = bar ();
|
||||
+ if (color)
|
||||
+ t = bar (fp);
|
||||
+ *ptr++ = colormap[t];
|
||||
+ }
|
||||
+ }
|
||||
+ switch (*img)
|
||||
+ {
|
||||
+ case 1:
|
||||
+ bar ();
|
||||
+ case 3:
|
||||
+ case -1:
|
||||
+ case -3:
|
||||
+ bar ();
|
||||
+ case -4:
|
||||
+ bar ();
|
||||
+ }
|
||||
+ }
|
||||
+}
|
Loading…
Reference in New Issue
Block a user