diff --git a/gcc41-ppc64-cr2-unwind.patch b/gcc41-ppc64-cr2-unwind.patch new file mode 100644 index 0000000..f63bdb4 --- /dev/null +++ b/gcc41-ppc64-cr2-unwind.patch @@ -0,0 +1,20 @@ +2007-10-20 Jakub Jelinek + + * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Point + saved CR2 offset to low 32 bits of regs->ccr rather than the whole + 64-bit register in 64-bit libgcc. + +--- gcc/config/rs6000/linux-unwind.h.jj 2007-09-04 22:24:32.000000000 +0200 ++++ gcc/config/rs6000/linux-unwind.h 2007-10-18 14:42:25.000000000 +0200 +@@ -244,7 +244,10 @@ ppc_fallback_frame_state (struct _Unwind + } + + fs->regs.reg[CR2_REGNO].how = REG_SAVED_OFFSET; +- fs->regs.reg[CR2_REGNO].loc.offset = (long) ®s->ccr - new_cfa; ++ /* CR? regs are always 32-bit and PPC is big-endian, so in 64-bit ++ libgcc loc.offset needs to point to the low 32 bits of regs->ccr. */ ++ fs->regs.reg[CR2_REGNO].loc.offset = (long) ®s->ccr - new_cfa ++ + sizeof (long) - 4; + + fs->regs.reg[LINK_REGISTER_REGNUM].how = REG_SAVED_OFFSET; + fs->regs.reg[LINK_REGISTER_REGNUM].loc.offset = (long) ®s->link - new_cfa; diff --git a/gcc41-rh341221.patch b/gcc41-rh341221.patch new file mode 100644 index 0000000..a56154f --- /dev/null +++ b/gcc41-rh341221.patch @@ -0,0 +1,28 @@ +2007-10-21 Jakub Jelinek + + * doc/Makefile.am (POD2MAN): Set date from cp-tools.texinfo + timestamp rather than from current date. + * doc/Makefile.in: Regenerated. + +--- libjava/classpath/doc/Makefile.am.jj 2007-03-29 12:23:05.000000000 +0200 ++++ libjava/classpath/doc/Makefile.am 2007-10-21 13:23:17.000000000 +0200 +@@ -31,7 +31,7 @@ TOOLS_MANFILES = \ + BASEVER = $(top_srcdir)/../../gcc/BASE-VER + DEVPHASE = $(top_srcdir)/../../gcc/DEV-PHASE + +-POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))" ++POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')" + TEXI2POD = perl $(top_srcdir)/../../contrib/texi2pod.pl + STAMP = echo timestamp > + +--- libjava/classpath/doc/Makefile.in.jj 2007-03-29 12:23:05.000000000 +0200 ++++ libjava/classpath/doc/Makefile.in 2007-10-21 13:24:00.000000000 +0200 +@@ -317,7 +317,7 @@ TOOLS_MANFILES = \ + + BASEVER = $(top_srcdir)/../../gcc/BASE-VER + DEVPHASE = $(top_srcdir)/../../gcc/DEV-PHASE +-POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))" ++POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')" + TEXI2POD = perl $(top_srcdir)/../../contrib/texi2pod.pl + STAMP = echo timestamp > + all: all-recursive diff --git a/gcc41.spec b/gcc41.spec index 904e150..b925b61 100644 --- a/gcc41.spec +++ b/gcc41.spec @@ -1,6 +1,6 @@ %define DATE 20070925 %define gcc_version 4.1.2 -%define gcc_release 32 +%define gcc_release 33 %define _unpackaged_files_terminate_build 0 %define multilib_64_archs sparc64 ppc64 s390x x86_64 %define include_gappletviewer 1 @@ -158,6 +158,8 @@ Patch41: gcc41-pr33744.patch Patch42: gcc41-pr33763.patch Patch43: gcc41-rh317051.patch Patch44: gcc41-rh330771.patch +Patch45: gcc41-rh341221.patch +Patch46: gcc41-ppc64-cr2-unwind.patch # On ARM EABI systems, we do want -gnueabi to be part of the # target triple. @@ -485,6 +487,8 @@ which are required to run programs compiled with the GNAT. %patch42 -p0 -b .pr33763~ %patch43 -p0 -b .rh317051~ %patch44 -p0 -b .rh330771~ +%patch45 -p0 -b .rh341221~ +%patch46 -p0 -b .ppc64-cr2-unwind~ sed -i -e 's/4\.1\.3/4.1.2/' gcc/BASE-VER gcc/version.c sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c @@ -1639,6 +1643,12 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Sun Oct 21 2007 Jakub Jelinek 4.1.2-33 +- rebuild to fix multilib conflict between i386 and x86_64 libgcj, + set java man page timestamp from the timestamp of *.texinfo rather + than current date to avoid this problem in the future (#341221) +- fix ppc64 unwinding of cr2 register if vdso=0 + * Tue Oct 16 2007 Jakub Jelinek 4.1.2-32 - only allow __label__ at the start of a block (PR c++/32121) - disable -fipa-type-escape by default (PR tree-optimization/33136)