Hello community, here is the log from the commit of package gcc42 checked in at Fri Sep 21 19:36:15 CEST 2007. -------- --- gcc42/cross-alpha-gcc-icecream-backend.changes 2007-08-13 20:53:53.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc42/cross-alpha-gcc-icecream-backend.changes 2007-09-21 18:07:25.000000000 +0200 @@ -1,0 +2,12 @@ +Fri Sep 21 18:06:25 CEST 2007 - rguenther@suse.de + +- Fix linker version detection, re-enables COMDAT support. +- Add patch for PR33381, PR33099. [#300410] + +------------------------------------------------------------------- +Mon Aug 27 14:13:17 CEST 2007 - rguenther@suse.de + +- Add patch for PR33148. [#299556] +- Disable ada for hppa. + +------------------------------------------------------------------- cross-arm-gcc-icecream-backend.changes: same change cross-avr-gcc42.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 gcc42.changes: same change libgcj42.changes: same change New: ---- ld-version.diff pr33148.diff pr33381.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-alpha-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.D15830/_old 2007-09-21 19:35:08.000000000 +0200 +++ /var/tmp/diff_new_pack.D15830/_new 2007-09-21 19:35:08.000000000 +0200 @@ -27,17 +27,17 @@ # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc -URL: http://gcc.gnu.org/ +Url: http://gcc.gnu.org/ License: BSD 3-Clause, GPL v2 or later Version: 4.2.1_20070724 -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.2 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 @@ -57,6 +57,9 @@ Patch38: large-gcc.diff Patch40: pr27880.diff Patch41: pr31490.diff +Patch42: pr33148.diff +Patch43: ld-version.diff +Patch44: pr33381.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -123,6 +126,9 @@ #%patch38 %patch40 %patch41 +%patch42 +%patch43 +%patch44 %patch51 %patch55 %patch57 @@ -333,8 +339,13 @@ %files %defattr(-,root,root) /usr/share/icecream-envs - %changelog +* Fri Sep 21 2007 - rguenther@suse.de +- Fix linker version detection, re-enables COMDAT support. +- Add patch for PR33381, PR33099. [#300410] +* Mon Aug 27 2007 - rguenther@suse.de +- Add patch for PR33148. [#299556] +- Disable ada for hppa. * Mon Aug 13 2007 - schwab@suse.de - Fix bogus section type conflict (PR31490). * Thu Aug 09 2007 - matz@suse.de cross-arm-gcc-icecream-backend.spec: same change ++++++ cross-avr-gcc42.spec ++++++ --- /var/tmp/diff_new_pack.D15830/_old 2007-09-21 19:35:08.000000000 +0200 +++ /var/tmp/diff_new_pack.D15830/_new 2007-09-21 19:35:08.000000000 +0200 @@ -24,17 +24,17 @@ %define _prefix /opt/cross # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc -URL: http://gcc.gnu.org/ +Url: http://gcc.gnu.org/ License: BSD 3-Clause, GPL v2 or later Version: 4.2.1_20070724 -Release: 7 +Release: 16 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.2 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Summary: The GNU C Compiler for atmel Processors BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 @@ -54,6 +54,9 @@ Patch38: large-gcc.diff Patch40: pr27880.diff Patch41: pr31490.diff +Patch42: pr33148.diff +Patch43: ld-version.diff +Patch44: pr33381.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -117,6 +120,9 @@ #%patch38 %patch40 %patch41 +%patch42 +%patch43 +%patch44 %patch51 %patch55 %patch57 @@ -296,8 +302,13 @@ %files %defattr(-,root,root) %{_prefix} - %changelog +* Fri Sep 21 2007 - rguenther@suse.de +- Fix linker version detection, re-enables COMDAT support. +- Add patch for PR33381, PR33099. [#300410] +* Mon Aug 27 2007 - rguenther@suse.de +- Add patch for PR33148. [#299556] +- Disable ada for hppa. * Mon Aug 13 2007 - schwab@suse.de - Fix bogus section type conflict (PR31490). * Thu Aug 09 2007 - matz@suse.de ++++++ cross-hppa-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.D15830/_old 2007-09-21 19:35:08.000000000 +0200 +++ /var/tmp/diff_new_pack.D15830/_new 2007-09-21 19:35:08.000000000 +0200 @@ -27,17 +27,17 @@ # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc -URL: http://gcc.gnu.org/ +Url: http://gcc.gnu.org/ License: BSD 3-Clause, GPL v2 or later Version: 4.2.1_20070724 -Release: 5 +Release: 15 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.2 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 @@ -57,6 +57,9 @@ Patch38: large-gcc.diff Patch40: pr27880.diff Patch41: pr31490.diff +Patch42: pr33148.diff +Patch43: ld-version.diff +Patch44: pr33381.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -123,6 +126,9 @@ #%patch38 %patch40 %patch41 +%patch42 +%patch43 +%patch44 %patch51 %patch55 %patch57 @@ -333,8 +339,13 @@ %files %defattr(-,root,root) /usr/share/icecream-envs - %changelog +* Fri Sep 21 2007 - rguenther@suse.de +- Fix linker version detection, re-enables COMDAT support. +- Add patch for PR33381, PR33099. [#300410] +* Mon Aug 27 2007 - rguenther@suse.de +- Add patch for PR33148. [#299556] +- Disable ada for hppa. * Mon Aug 13 2007 - schwab@suse.de - Fix bogus section type conflict (PR31490). * Thu Aug 09 2007 - matz@suse.de ++++++ cross-i386-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.D15830/_old 2007-09-21 19:35:08.000000000 +0200 +++ /var/tmp/diff_new_pack.D15830/_new 2007-09-21 19:35:08.000000000 +0200 @@ -27,17 +27,17 @@ # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc -URL: http://gcc.gnu.org/ +Url: http://gcc.gnu.org/ License: BSD 3-Clause, GPL v2 or later Version: 4.2.1_20070724 -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.2 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 @@ -57,6 +57,9 @@ Patch38: large-gcc.diff Patch40: pr27880.diff Patch41: pr31490.diff +Patch42: pr33148.diff +Patch43: ld-version.diff +Patch44: pr33381.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -123,6 +126,9 @@ #%patch38 %patch40 %patch41 +%patch42 +%patch43 +%patch44 %patch51 %patch55 %patch57 @@ -333,8 +339,13 @@ %files %defattr(-,root,root) /usr/share/icecream-envs - %changelog +* Fri Sep 21 2007 - rguenther@suse.de +- Fix linker version detection, re-enables COMDAT support. +- Add patch for PR33381, PR33099. [#300410] +* Mon Aug 27 2007 - rguenther@suse.de +- Add patch for PR33148. [#299556] +- Disable ada for hppa. * Mon Aug 13 2007 - schwab@suse.de - Fix bogus section type conflict (PR31490). * Thu Aug 09 2007 - matz@suse.de 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 ++++++ --- /var/tmp/diff_new_pack.D15830/_old 2007-09-21 19:35:08.000000000 +0200 +++ /var/tmp/diff_new_pack.D15830/_new 2007-09-21 19:35:08.000000000 +0200 @@ -27,17 +27,17 @@ # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc -URL: http://gcc.gnu.org/ +Url: http://gcc.gnu.org/ License: BSD 3-Clause, GPL v2 or later Version: 4.2.1_20070724 -Release: 5 +Release: 15 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.2 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 @@ -57,6 +57,9 @@ Patch38: large-gcc.diff Patch40: pr27880.diff Patch41: pr31490.diff +Patch42: pr33148.diff +Patch43: ld-version.diff +Patch44: pr33381.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -123,6 +126,9 @@ #%patch38 %patch40 %patch41 +%patch42 +%patch43 +%patch44 %patch51 %patch55 %patch57 @@ -333,8 +339,13 @@ %files %defattr(-,root,root) /usr/share/icecream-envs - %changelog +* Fri Sep 21 2007 - rguenther@suse.de +- Fix linker version detection, re-enables COMDAT support. +- Add patch for PR33381, PR33099. [#300410] +* Mon Aug 27 2007 - rguenther@suse.de +- Add patch for PR33148. [#299556] +- Disable ada for hppa. * Mon Aug 13 2007 - schwab@suse.de - Fix bogus section type conflict (PR31490). * Thu Aug 09 2007 - matz@suse.de ++++++ gcc42.spec ++++++ ++++ 1065 lines (skipped) ++++ between gcc42/gcc42.spec ++++ and /mounts/work_src_done/STABLE/gcc42/gcc42.spec ++++++ libgcj42.spec ++++++ --- /var/tmp/diff_new_pack.D15830/_old 2007-09-21 19:35:08.000000000 +0200 +++ /var/tmp/diff_new_pack.D15830/_new 2007-09-21 19:35:08.000000000 +0200 @@ -30,10 +30,10 @@ # Ada currently fails to build on a few platforms, enable it only # on those that work # Note that AdaCore only supports %ix86, x86_64 and ia64 -%ifarch %ix86 x86_64 ia64 hppa ppc s390 +%ifarch %ix86 x86_64 ia64 ppc s390 %define build_ada 0%{!?building_libjava:1} %else -# alpha ppc64 s390x +# alpha ppc64 s390x hppa %define build_ada 0 %endif # We don't want to build java on arm @@ -115,7 +115,7 @@ Url: http://gcc.gnu.org/ License: GPL v2 or later, LGPL v2 or later Version: 4.2.1_20070724 -Release: 10 +Release: 25 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.2 @@ -129,7 +129,7 @@ %endif # COMMON-BEGIN Group: System/Libraries -Autoreqprov: on +AutoReqProv: on Summary: Java Runtime Library for gcc BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 @@ -149,6 +149,9 @@ Patch38: large-gcc.diff Patch40: pr27880.diff Patch41: pr31490.diff +Patch42: pr33148.diff +Patch43: ld-version.diff +Patch44: pr33381.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -170,7 +173,7 @@ Group: System/Libraries Provides: libgcj8 = %{version}-%{release} Obsoletes: libgcj8 < %{version}-%{release} -Autoreqprov: on +AutoReqProv: on %description This library is needed if you want to use the GNU Java compiler, gcj. @@ -178,16 +181,16 @@ - %post %run_ldconfig %postun %run_ldconfig + %package -n libgcj_bc42 Summary: Fake library for BC-ABI compatibility. Group: System/Libraries -Autoreqprov: on +AutoReqProv: on Provides: libgcj_bc1 = %{version}-%{release} %description -n libgcj_bc42 @@ -197,16 +200,16 @@ - %post -n libgcj_bc42 %run_ldconfig %postun -n libgcj_bc42 %run_ldconfig + %package -n libgcj42-devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/Java -Autoreqprov: on +AutoReqProv: on Requires: libstdc++42-devel = %{version} Requires: libgcj8 >= %{version}-%{release} Requires: libgcj_bc1 >= %{version}-%{release} @@ -228,7 +231,7 @@ Summary: Java Bytecode Interpreter for gcc Group: System/Libraries Requires: libgcj8 >= %{version}-%{release} -Autoreqprov: on +AutoReqProv: on %description -n gcc42-gij This package contains the java bytecode interpreter gij and related @@ -239,7 +242,7 @@ %package -n libffi42 Summary: Foreign Function Interface library Group: System/Libraries -Autoreqprov: on +AutoReqProv: on Provides: g-wrap:/usr/lib/libffi.so.4 Provides: libffi4 = %{version}-%{release} Obsoletes: libffi4 < %{version}-%{release} @@ -255,7 +258,6 @@ - %post -n libffi42 %run_ldconfig @@ -264,10 +266,11 @@ # PACKAGE-END # PACKAGE-BEGIN # PACKAGE-BEGIN + %package -n libffi42-32bit Summary: Foreign Function Interface library Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Provides: g-wrap:/usr/lib/libffi.so.4 Provides: libffi4 = %{version}-%{release} Obsoletes: libffi4 < %{version}-%{release} @@ -279,7 +282,6 @@ %description -n libffi42-32bit A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - %post -n libffi42-32bit %run_ldconfig @@ -288,10 +290,11 @@ # PACKAGE-END # PACKAGE-BEGIN # PACKAGE-BEGIN + %package -n libffi42-64bit Summary: Foreign Function Interface library Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Provides: g-wrap:/usr/lib/libffi.so.4 Provides: libffi4 = %{version}-%{release} Obsoletes: libffi4 < %{version}-%{release} @@ -303,7 +306,6 @@ %description -n libffi42-64bit A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. - %post -n libffi42-64bit %run_ldconfig @@ -312,10 +314,11 @@ # PACKAGE-END # PACKAGE-BEGIN # PACKAGE-BEGIN + %package -n libffi42-devel Summary: Foreign Function Interface library development files Group: System/Libraries -Autoreqprov: on +AutoReqProv: on Requires: libffi42 >= %{version}-%{release} %description -n libffi42-devel @@ -328,7 +331,7 @@ %package -n libffi42-devel-32bit Summary: Foreign Function Interface library development files Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Requires: libffi42-32bit >= %{version}-%{release} %description -n libffi42-devel-32bit @@ -336,7 +339,7 @@ %package -n libffi42-devel-64bit Summary: Foreign Function Interface library development files Group: Development/Languages/C and C++ -Autoreqprov: on +AutoReqProv: on Requires: libffi42-64bit >= %{version}-%{release} %description -n libffi42-devel-64bit @@ -508,6 +511,9 @@ #%patch38 %patch40 %patch41 +%patch42 +%patch43 +%patch44 %patch51 %patch55 %patch57 @@ -885,22 +891,14 @@ %{_libdir}/gcj-%{gcc_version}/classmap.db # We usually do not multilib libjava %if %{biarch_libjava} - %versbiarchlib libgcj.la - %biarchlib libgcj.so.* - %biarchlib libgij.so.* - %biarchlib libgcj-tools.so.* %else - %versmainlib libgcj.la - %mainlib libgcj.so.* - %mainlib libgij.so.* - %mainlib libgcj-tools.so.* %endif %{_libdir}/gcj-%{gcc_version}/libgtkpeer.la @@ -913,10 +911,8 @@ %files -n libgcj_bc42 %defattr(-,root,root) %if %{biarch_libjava} - %biarchlib libgcj_bc.so.* %else - %mainlib libgcj_bc.so.* %endif @@ -940,26 +936,16 @@ %{gxxinclude}/org %{libsubdir}/include/gcj %if %{biarch_libjava} - %versbiarchlib libgcj.so - %versbiarchlib libgcj.spec - %versbiarchlib libgcj-tools.so - %versbiarchlib libgij.so - %versbiarchlib libgcj_bc.so %else - %versmainlib libgcj.so - %versmainlib libgcj.spec - %versmainlib libgcj-tools.so - %versmainlib libgij.so - %versmainlib libgcj_bc.so %endif @@ -982,13 +968,11 @@ %files -n libffi42 %defattr(-,root,root) - %mainlib libffi.so.* %if %{separate_biarch} %files -n libffi42%{separate_biarch_suffix} %defattr(-,root,root) - %biarchlib libffi.so.* %endif @@ -996,17 +980,13 @@ %defattr(-,root,root) %{_prefix}/include/ffi.h %{_prefix}/include/ffitarget.h - %mainlib libffi.so - %mainlib libffi.a %if %{separate_biarch} %files -n libffi42-devel%{separate_biarch_suffix} %defattr(-,root,root) - %biarchlib libffi.so - %biarchlib libffi.a %endif %endif @@ -1018,8 +998,13 @@ %doc testresults/*.sum %doc testresults/*.log %endif - %changelog +* Fri Sep 21 2007 - rguenther@suse.de +- Fix linker version detection, re-enables COMDAT support. +- Add patch for PR33381, PR33099. [#300410] +* Mon Aug 27 2007 - rguenther@suse.de +- Add patch for PR33148. [#299556] +- Disable ada for hppa. * Mon Aug 13 2007 - schwab@suse.de - Fix bogus section type conflict (PR31490). * Thu Aug 09 2007 - matz@suse.de ++++++ gcc.spec.in ++++++ --- gcc42/gcc.spec.in 2007-08-13 20:52:58.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc42/gcc.spec.in 2007-09-21 18:06:11.000000000 +0200 @@ -20,10 +20,10 @@ # Ada currently fails to build on a few platforms, enable it only # on those that work # Note that AdaCore only supports %ix86, x86_64 and ia64 -%ifarch %ix86 x86_64 ia64 hppa ppc s390 +%ifarch %ix86 x86_64 ia64 ppc s390 %define build_ada 0%{!?building_libjava:1} %else -# alpha ppc64 s390x +# alpha ppc64 s390x hppa %define build_ada 0 %endif @@ -154,6 +154,9 @@ Patch38: large-gcc.diff Patch40: pr27880.diff Patch41: pr31490.diff +Patch42: pr33148.diff +Patch43: ld-version.diff +Patch44: pr33381.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch @@ -779,6 +782,9 @@ #%patch38 %patch40 %patch41 +%patch42 +%patch43 +%patch44 %patch51 %patch55 %patch57 ++++++ ld-version.diff ++++++ Index: gcc/configure.ac =================================================================== *** gcc/configure.ac (revision 126870) --- gcc/configure.ac (working copy) *************** else *** 2094,2106 **** if echo "$ld_ver" | grep GNU > /dev/null; then changequote(,)dnl ld_vers=`echo $ld_ver | sed -n \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ -].*$,\1,p'` ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` --- 2094,2100 ---- if echo "$ld_ver" | grep GNU > /dev/null; then changequote(,)dnl ld_vers=`echo $ld_ver | sed -n \ ! -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/p'` ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` Index: gcc/configure =================================================================== *** gcc/configure (revision 126870) --- gcc/configure (working copy) *************** else *** 13937,13949 **** ld_ver=`$gcc_cv_ld --version 2>/dev/null | sed 1q` if echo "$ld_ver" | grep GNU > /dev/null; then ld_vers=`echo $ld_ver | sed -n \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ ! -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ -].*$,\1,p'` ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` --- 13937,13943 ---- ld_ver=`$gcc_cv_ld --version 2>/dev/null | sed 1q` if echo "$ld_ver" | grep GNU > /dev/null; then ld_vers=`echo $ld_ver | sed -n \ ! -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/p'` ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` ++++++ pr33148.diff ++++++ Hi! PR25600 change introduced an optimization of (neg (lt x 0)) to (ashirtrt x C), but it is not checking whether x's mode is suitable for it. As it checks that op1 is const0_rtx, I believe MODE_FLOAT or VECTOR_MODE_P modes are not a problem, CC modes can certainly appear in LT's first operand with second operand const0_rtx. So, when we optimize (neg:DI (lt:DI (reg:CC ...) (const_int 0))) we create something like (sign_extend:DI (ashirtrt:CC (reg:CC ...) (const_int 31))) which is IMHO invalid RTL, ashirtrt is documented on fixed point modes only (guess vector modes aren't listed just by omission) and so is sign_extend. Ok for 4.2/trunk? 2007-08-27 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/33148 * simplify-rtx.c (simplify_unary_operation_1): Only optimize (neg (lt X 0)) if X has scalar int mode. * gcc.c-torture/compile/20070827-1.c: New test. --- gcc/simplify-rtx.c.jj 2007-08-27 10:15:33.000000000 +0200 +++ gcc/simplify-rtx.c 2007-08-27 12:12:51.000000000 +0200 @@ -583,7 +583,8 @@ simplify_unary_operation_1 (enum rtx_cod /* (neg (lt x 0)) is (ashiftrt X C) if STORE_FLAG_VALUE is 1. */ /* (neg (lt x 0)) is (lshiftrt X C) if STORE_FLAG_VALUE is -1. */ if (GET_CODE (op) == LT - && XEXP (op, 1) == const0_rtx) + && XEXP (op, 1) == const0_rtx + && SCALAR_INT_MODE_P (GET_MODE (XEXP (op, 0)))) { enum machine_mode inner = GET_MODE (XEXP (op, 0)); int isize = GET_MODE_BITSIZE (inner); --- gcc/testsuite/gcc.c-torture/compile/20070827-1.c.jj 2007-08-27 12:17:20.000000000 +0200 +++ gcc/testsuite/gcc.c-torture/compile/20070827-1.c 2007-08-27 12:15:45.000000000 +0200 @@ -0,0 +1,20 @@ +/* PR rtl-optimization/33148 */ + +int +foo (unsigned int *p, int *q, unsigned int w, unsigned int b) +{ + unsigned int i; + int mask; + + if (q[0] < q[1]) + mask = 0xff; + else + mask = 0; + + for (i = 0; 8 * i < w; i++) + { + b ^= mask; + *p++ = b; + } + return 0; +} Jakub ++++++ pr33381.diff ++++++ 2007-09-21 Richard Guenther <rguenther@suse.de> PR tree-optimization/33099 PR tree-optimization/33381 * tree-vrp.c (adjust_range_with_scev): Do not adjust ranges from pointer typed chrecs. * gcc.c-torture/execute/pr33099.c: New testcase. * gcc.c-torture/execute/pr33381.c: Likewise. Index: gcc/tree-vrp.c =================================================================== *** gcc/tree-vrp.c (revision 128649) --- gcc/tree-vrp.c (working copy) *************** adjust_range_with_scev (value_range_t *v *** 2486,2491 **** --- 2486,2495 ---- if (TREE_CODE (chrec) != POLYNOMIAL_CHREC) return; + /* Don't adjust ranges from pointer CHRECs. */ + if (POINTER_TYPE_P (TREE_TYPE (chrec))) + return; + init = initial_condition_in_loop_num (chrec, loop->num); step = evolution_part_in_loop_num (chrec, loop->num); Index: gcc/testsuite/gcc.c-torture/execute/pr33381.c =================================================================== *** gcc/testsuite/gcc.c-torture/execute/pr33381.c (revision 0) --- gcc/testsuite/gcc.c-torture/execute/pr33381.c (revision 0) *************** *** 0 **** --- 1,15 ---- + extern void abort(void); + void x(void *data) + { + if ((long)data < 0) + abort(); + } + int main() + { + long i; + for (i = 0; i < 5; i++) + if (i > 0) + x((void *)(i - 1)); + return 0; + } + Index: gcc/testsuite/gcc.c-torture/execute/pr33099.c =================================================================== *** gcc/testsuite/gcc.c-torture/execute/pr33099.c (revision 0) --- gcc/testsuite/gcc.c-torture/execute/pr33099.c (revision 0) *************** *** 0 **** --- 1,26 ---- + extern void abort (void); + + volatile int N = 5; + + void foo (void) + { + int i; + char *p, value[10]; + + value[0] = 0x42; + for (i = 0; i < N; i++) + if (i > 0) + { + p = (char *)i - 1; + *(value + (int) p) = (char) i; + } + + if (value[0] != 1) + abort (); + } + + main() + { + foo (); + return 0; + } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de