![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package gcc41 checked in at Wed Jan 10 17:50:08 CET 2007. -------- --- gcc41/cross-alpha-gcc-icecream-backend.changes 2006-12-10 10:32:38.000000000 +0100 +++ /mounts/work_src_done/STABLE/gcc41/cross-alpha-gcc-icecream-backend.changes 2007-01-08 14:58:27.000000000 +0100 @@ -1,0 +2,11 @@ +Mon Jan 8 14:44:13 CET 2007 - schwab@suse.de + +- Add fix for PR30230. + +------------------------------------------------------------------- +Fri Dec 22 17:56:38 CET 2006 - jw@suse.de + +- added versioned dependency for cross-avr-binutils to + micro-cross.spec.in [230535] + +------------------------------------------------------------------- cross-arm-gcc-icecream-backend.changes: same change cross-avr-gcc.changes: same change cross-hppa-gcc-icecream-backend.changes: same change cross-i386-gcc-icecream-backend.changes: same change cross-ia64-gcc-icecream-backend.changes: same change cross-ppc64-gcc-icecream-backend.changes: same change cross-ppc-gcc-icecream-backend.changes: same change cross-s390-gcc-icecream-backend.changes: same change cross-s390x-gcc-icecream-backend.changes: same change cross-x86_64-gcc-icecream-backend.changes: same change gcc41.changes: same change libgcj41.changes: same change New: ---- pr30230.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-alpha-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.a15048/_old 2007-01-10 17:46:49.000000000 +0100 +++ /var/tmp/diff_new_pack.a15048/_new 2007-01-10 17:46:49.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package cross-alpha-gcc-icecream-backend (Version 4.1.2_20061129) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -30,7 +30,7 @@ URL: http://gcc.gnu.org/ License: BSD License and BSD-like, GNU General Public License (GPL) Version: 4.1.2_20061129 -Release: 3 +Release: 6 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.1 @@ -75,6 +75,7 @@ Patch101: revert-pr28506.patch Patch104: pr28217.patch Patch105: pr29166.diff +Patch106: pr30230.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -174,6 +175,7 @@ %patch104 cd .. %patch105 +%patch106 %patch51 %patch55 %patch57 @@ -399,6 +401,11 @@ /usr/share/icecream-envs %changelog -n cross-alpha-gcc-icecream-backend +* Mon Jan 08 2007 - schwab@suse.de +- Add fix for PR30230. +* Fri Dec 22 2006 - jw@suse.de +- added versioned dependency for cross-avr-binutils to + micro-cross.spec.in [230535] * Sun Dec 10 2006 - schwab@suse.de - Fix prologue generation when many registers need to be spilled [#224153]. cross-arm-gcc-icecream-backend.spec: same change ++++++ cross-avr-gcc.spec ++++++ --- /var/tmp/diff_new_pack.a15048/_old 2007-01-10 17:46:49.000000000 +0100 +++ /var/tmp/diff_new_pack.a15048/_new 2007-01-10 17:46:49.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package cross-avr-gcc (Version 4.1.2_20061129) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -19,7 +19,9 @@ %define build_nof 0 %define gcc_for_opt 0 %define gcc_target_arch avr -BuildRequires: cross-avr-binutils glibc-devel +# 2.17.50.0.8 supports 'ldi r30,lo8(gs(1f))' needed by our gcc-4.1.2-20061129 +%define binutils_ver 2.17.50.0.8 +BuildRequires: cross-avr-binutils >= %{binutils_ver} glibc-devel Requires: cross-avr-binutils %define _prefix /opt/cross # COMMON-BEGIN @@ -27,7 +29,7 @@ URL: http://gcc.gnu.org/ License: BSD License and BSD-like, GNU General Public License (GPL) Version: 4.1.2_20061129 -Release: 3 +Release: 6 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.1 @@ -72,6 +74,7 @@ Patch101: revert-pr28506.patch Patch104: pr28217.patch Patch105: pr29166.diff +Patch106: pr30230.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -168,6 +171,7 @@ %patch104 cd .. %patch105 +%patch106 %patch51 %patch55 %patch57 @@ -362,6 +366,11 @@ %{_prefix} %changelog -n cross-avr-gcc +* Mon Jan 08 2007 - schwab@suse.de +- Add fix for PR30230. +* Fri Dec 22 2006 - jw@suse.de +- added versioned dependency for cross-avr-binutils to + micro-cross.spec.in [230535] * Sun Dec 10 2006 - schwab@suse.de - Fix prologue generation when many registers need to be spilled [#224153]. ++++++ cross-hppa-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.a15048/_old 2007-01-10 17:46:49.000000000 +0100 +++ /var/tmp/diff_new_pack.a15048/_new 2007-01-10 17:46:49.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package cross-hppa-gcc-icecream-backend (Version 4.1.2_20061129) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -30,7 +30,7 @@ URL: http://gcc.gnu.org/ License: BSD License and BSD-like, GNU General Public License (GPL) Version: 4.1.2_20061129 -Release: 3 +Release: 6 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.1 @@ -75,6 +75,7 @@ Patch101: revert-pr28506.patch Patch104: pr28217.patch Patch105: pr29166.diff +Patch106: pr30230.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -174,6 +175,7 @@ %patch104 cd .. %patch105 +%patch106 %patch51 %patch55 %patch57 @@ -399,6 +401,11 @@ /usr/share/icecream-envs %changelog -n cross-hppa-gcc-icecream-backend +* Mon Jan 08 2007 - schwab@suse.de +- Add fix for PR30230. +* Fri Dec 22 2006 - jw@suse.de +- added versioned dependency for cross-avr-binutils to + micro-cross.spec.in [230535] * Sun Dec 10 2006 - schwab@suse.de - Fix prologue generation when many registers need to be spilled [#224153]. cross-i386-gcc-icecream-backend.spec: same change cross-ia64-gcc-icecream-backend.spec: same change cross-ppc64-gcc-icecream-backend.spec: same change cross-ppc-gcc-icecream-backend.spec: same change cross-s390-gcc-icecream-backend.spec: same change cross-s390x-gcc-icecream-backend.spec: same change cross-x86_64-gcc-icecream-backend.spec: same change ++++++ gcc41.spec ++++++ --- /var/tmp/diff_new_pack.a15048/_old 2007-01-10 17:46:50.000000000 +0100 +++ /var/tmp/diff_new_pack.a15048/_new 2007-01-10 17:46:50.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package gcc41 (Version 4.1.2_20061129) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -111,7 +111,7 @@ URL: http://gcc.gnu.org/ License: GNU General Public License (GPL) Version: 4.1.2_20061129 -Release: 3 +Release: 6 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.1 @@ -163,6 +163,7 @@ Patch101: revert-pr28506.patch Patch104: pr28217.patch Patch105: pr29166.diff +Patch106: pr30230.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -982,6 +983,7 @@ %patch104 cd .. %patch105 +%patch106 %patch51 %patch55 %patch57 @@ -2012,6 +2014,11 @@ %endif %changelog -n gcc41 +* Mon Jan 08 2007 - schwab@suse.de +- Add fix for PR30230. +* Fri Dec 22 2006 - jw@suse.de +- added versioned dependency for cross-avr-binutils to + micro-cross.spec.in [230535] * Sun Dec 10 2006 - schwab@suse.de - Fix prologue generation when many registers need to be spilled [#224153]. ++++++ libgcj41.spec ++++++ --- /var/tmp/diff_new_pack.a15048/_old 2007-01-10 17:46:50.000000000 +0100 +++ /var/tmp/diff_new_pack.a15048/_new 2007-01-10 17:46:50.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package libgcj41 (Version 4.1.2_20061129) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -125,7 +125,7 @@ Url: http://gcc.gnu.org/ License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL) Version: 4.1.2_20061129 -Release: 5 +Release: 14 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.1 @@ -177,6 +177,7 @@ Patch101: revert-pr28506.patch Patch104: pr28217.patch Patch105: pr29166.diff +Patch106: pr30230.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -511,6 +512,7 @@ %patch104 cd .. %patch105 +%patch106 %patch51 %patch55 %patch57 @@ -1055,6 +1057,11 @@ %endif %changelog -n libgcj41 +* Mon Jan 08 2007 - schwab@suse.de +- Add fix for PR30230. +* Fri Dec 22 2006 - jw@suse.de +- added versioned dependency for cross-avr-binutils to + micro-cross.spec.in [230535] * Sun Dec 10 2006 - schwab@suse.de - Fix prologue generation when many registers need to be spilled [#224153]. ++++++ gcc.spec.in ++++++ --- gcc41/gcc.spec.in 2006-12-10 10:25:10.000000000 +0100 +++ /mounts/work_src_done/STABLE/gcc41/gcc.spec.in 2007-01-08 14:57:38.000000000 +0100 @@ -188,6 +188,7 @@ Patch101: revert-pr28506.patch Patch104: pr28217.patch Patch105: pr29166.diff +Patch106: pr30230.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -760,6 +761,7 @@ %patch104 cd .. %patch105 +%patch106 %patch51 %patch55 %patch57 ++++++ micro-cross.spec.in ++++++ --- gcc41/micro-cross.spec.in 2006-11-17 10:25:23.000000000 +0100 +++ /mounts/work_src_done/STABLE/gcc41/micro-cross.spec.in 2006-12-22 18:08:45.000000000 +0100 @@ -14,9 +14,9 @@ cat << EOF # -# spec file for package gcc (Version 4.0.1) +# spec file for package gcc (Version 4.1.2) # -# Copyright (c) 2005 SUSE Linux AG, Nuernberg, Germany. +# Copyright (c) 2006 SUSE Linux AG, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -34,8 +34,11 @@ %define gcc_for_opt 0 %define gcc_target_arch $cross_arch +# 2.17.50.0.8 supports 'ldi r30,lo8(gs(1f))' needed by our gcc-4.1.2-20061129 +%define binutils_ver 2.17.50.0.8 + Name: cross-$cross_arch-gcc -BuildRequires: cross-$cross_arch_cpu-binutils glibc-devel +BuildRequires: cross-$cross_arch_cpu-binutils >= %{binutils_ver} glibc-devel Requires: cross-$cross_arch_cpu-binutils %define _prefix /opt/cross ++++++ pr30230.diff ++++++
From nobody Mon Jan 8 14:05:49 2007 From: Jakub Jelinek
Subject: [PATCH] Fix EH labels on IA-64 (PR target/30230) To: Jim Wilson Cc: gcc-patches@gcc.gnu.org, Andreas Schwab Date: Sat, 16 Dec 2006 08:04:43 -0500 Reply-To: Jakub Jelinek
Hi!
The attached testcase fails on ia64-linux at -O2, both with GCC trunk and
4.1.1.
The problem is a br.call not at the end of a bundle where the EH region
ends right after it:
.mbb
ld8 r39 = [r15]
br.call.sptk.many b0 = _ZN1F3barEPvR1B#
[.LEHE0:]
nop 0
;;
As br.call sets rp to the address of the next bundle, when the personality
routine is called it doesn't think this call is inside of the .LEHB0 .. .LEHE0
EH region and calls std::terminate, as _Unwind_GetIP (context) is
.LEHE0 - 2 + 16, so even when we subtract one it still is far above .LEHE0.
The only 2 bundles which have a branch slot not in the last position are
.mbb and .bbb. GCC generates an explicit stop after a br.call if it is
followed by some branch instruction or another call, so I think br.call
not in the last slot is only possible if the rest of the .mbb or .bbb bundle
is filled with nops.
When not emitting explicit bundling (-O0 or -fno-schedule-insns2),
we are IMHO safe, as GCC then doesn't emit nops after br.call instructions
(and there is explicit ;; between br.call and another br or br.call),
so for
br.call.sptk.many b0 = something#
[.LEHEN:]
the br.call will be either in the last slot of a bundle (therefore
(.LEHEN & 15) == 0, or the assembler will emit one or two nop.b's between
the br.call and the label.
The following patch should cure it when emitting explicit bundling
(-O2, -fschedule-insns2). When adding a bundle selector for the
.mbb or .bbb bundles, it checks for a br.call insn with REG_EH_REGION
note followed by nops in the same bundle and in that case adds REG_EH_REGION
notes to the nops as well. This tells except.c to move the region end label
to the end of the bundle.
On the attached testcase, the difference is just:
.mbb
ld8 r39 = [r15]
br.call.sptk.many b0 = _ZN1F3barEPvR1B#
-[.LEHE0:]
nop 0
+[.LEHE0:]
;;
Bootstrapped/regtested on ia64-linux, ok for trunk/4.2/4.1?
2006-12-16 Jakub Jelinek
participants (1)
-
root@Hilbert.suse.de