From e2670d6ca9d55d0edb0da8d4a85432dfec05bd06 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 21 Apr 2006 20:45:38 +0000 Subject: [PATCH] 4.1.0-10 --- .cvsignore | 2 +- gcc41-ada-pr18302.patch | 82 ++++------------------ gcc41-tests.patch | 150 ++++++++++++++++++++++++++++++++++++++++ gcc41.spec | 31 +++++++-- sources | 2 +- 5 files changed, 189 insertions(+), 78 deletions(-) create mode 100644 gcc41-tests.patch diff --git a/.cvsignore b/.cvsignore index 6244cad..6cf814a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -gcc-4.1.0-20060420.tar.bz2 +gcc-4.1.0-20060421.tar.bz2 diff --git a/gcc41-ada-pr18302.patch b/gcc41-ada-pr18302.patch index 17c1303..9e98b97 100644 --- a/gcc41-ada-pr18302.patch +++ b/gcc41-ada-pr18302.patch @@ -1,75 +1,19 @@ -gcc/ada/ -2004-11-28 James A. Morrison - - PR ada/18302 - * Make-lang.in (check-gnat): Set EXPECT environment variable. - -testsuite/ -2005-05-18 Jakub Jelinek - - * ada/acats/run_all.sh: Filter out spawn line from target_bit. - -2004-11-28 James A. Morrison - - PR ada/18302 - * ada/acats/run_all.sh (target_run): Run test through run_test.expect. - * ada/acats/run_test.expect: Expect script for ACATS tests. - ---- gcc/testsuite/ada/acats/run_all.sh (.../gcc-4_0-branch) (revision 107266) -+++ gcc/testsuite/ada/acats/run_all.sh (.../redhat/gcc-4_0-branch) (revision 107414) -@@ -13,7 +13,8 @@ +--- gcc/testsuite/ada/acats/run_all.sh 26 Apr 2004 21:15:54 -0000 1.18 ++++ gcc/testsuite/ada/acats/run_all.sh 17 Feb 2005 14:24:49 -0000 +@@ -11,9 +11,16 @@ + + gccflags="-O2" gnatflags="-gnatws" ++timeout=120 target_run () { --$* -+ LD_LIBRARY_PATH=$ADA_INCLUDE_PATH${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \ -+ $EXPECT -f $testdir/run_test.exp $1 > $2 ++ sh -c "(sleep $timeout; kill \$\$) & ++x=\$! + $* ++s=\$? ++kill \$x ++exit \$s ++" } # End of customization section. -@@ -92,8 +93,8 @@ - - # Find out the size in bit of an address on the target - target_gnatmake $testdir/support/impbit.adb >> $dir/acats.log 2>&1 --target_run $dir/support/impbit > $dir/support/impbit.out 2>&1 --target_bit=`cat $dir/support/impbit.out` -+target_run $dir/support/impbit $dir/support/impbit.out 2>/dev/null -+target_bit=`egrep -v -e ^spawn $dir/support/impbit.out` - echo target_bit="$target_bit" >> $dir/acats.log - - # Find out a suitable asm statement -@@ -259,7 +260,7 @@ - if [ ! -x $dir/tests/$chapter/$i/$binmain ]; then - sync - fi -- target_run $dir/tests/$chapter/$i/$binmain > $dir/tests/$chapter/$i/${i}.log 2>&1 -+ target_run $dir/tests/$chapter/$i/$binmain $dir/tests/$chapter/$i/${i}.log 2>&1 - cd $dir/tests/$chapter/$i - cat ${i}.log >> $dir/acats.log - egrep -e '(==== |\+\+\+\+ |\!\!\!\! )' ${i}.log > /dev/null 2>&1 ---- gcc/testsuite/ada/acats/run_test.exp (.../gcc-4_0-branch) (revision 0) -+++ gcc/testsuite/ada/acats/run_test.exp (.../redhat/gcc-4_0-branch) (revision 107414) -@@ -0,0 +1,13 @@ -+#!/usr/bin/expect -f -+ -+if {[info exists env(DEJAGNU_TIMEOUT)]} { -+ set timeout $env(DEJAGNU_TIMEOUT) -+} else { -+ set timeout 300 -+} -+ -+spawn $argv -+expect timeout { -+ send_user "Program timed out.\n" -+ exit 1 -+} ---- gcc/ada/Make-lang.in (.../gcc-4_0-branch) (revision 107266) -+++ gcc/ada/Make-lang.in (.../redhat/gcc-4_0-branch) (revision 107414) -@@ -809,6 +809,7 @@ - check-gnat: - test -d $(ACATSDIR) || mkdir -p $(ACATSDIR) - testdir=`cd ${srcdir}/${ACATSDIR}; ${PWD_COMMAND}`; \ -+ EXPECT=${EXPECT} ; export EXPECT ; \ - export testdir; cd $(ACATSDIR); $(SHELL) $${testdir}/run_acats $(CHAPTERS) - - .PHONY: check-gnat diff --git a/gcc41-tests.patch b/gcc41-tests.patch new file mode 100644 index 0000000..2b9c73e --- /dev/null +++ b/gcc41-tests.patch @@ -0,0 +1,150 @@ +2006-04-20 Jakub Jelinek + + * gcc.c-torture/execute/20060420-1.c: New test. + +2006-04-12 Jakub Jelinek + + * gcc.c-torture/execute/20060412-1.c: New test. + +2006-02-25 Alexandre Oliva + + * gcc.target/powerpc/altivec-23.c: New test. + +--- gcc/testsuite/gcc.target/powerpc/altivec-23.c 1970-01-01 00:00:00.000000000 +0000 ++++ gcc/testsuite/gcc.target/powerpc/altivec-23.c 2006-02-25 04:10:36.000000000 -0300 +@@ -0,0 +1,25 @@ ++/* Verify that it is possible to define variables of composite types ++ containing vector types. We used to crash handling the ++ initializer of automatic ones. */ ++ ++/* { dg-do compile } */ ++/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ ++/* { dg-options "-maltivec -mabi=altivec" } */ ++ ++#include ++ ++typedef int bt; ++typedef vector bt vt; ++typedef struct { vt x; bt y[sizeof(vt) / sizeof (bt)]; } st; ++#define INIT { 1, 2, 3, 4 } ++ ++void f () ++{ ++ vt x = INIT; ++ vt y[1] = { INIT }; ++ st s = { INIT, INIT }; ++} ++ ++vt x = INIT; ++vt y[1] = { INIT }; ++st s = { INIT, INIT }; +--- gcc/testsuite/gcc.c-torture/execute/20060420-1.c.jj 2006-04-20 18:47:19.000000000 +0200 ++++ gcc/testsuite/gcc.c-torture/execute/20060420-1.c 2006-04-20 19:07:20.000000000 +0200 +@@ -0,0 +1,71 @@ ++extern void abort (void); ++ ++typedef float v4flt __attribute__ ((vector_size (16))); ++ ++void __attribute__ ((noinline)) foo (float *dst, float **src, int a, int n) ++{ ++ int i, j; ++ int z = sizeof (v4flt) / sizeof (float); ++ unsigned m = sizeof (v4flt) - 1; ++ ++ for (j = 0; j < n && (((unsigned long) dst + j) & m); ++j) ++ { ++ float t = src[0][j]; ++ for (i = 1; i < a; ++i) ++ t += src[i][j]; ++ dst[j] = t; ++ } ++ ++ for (; j < (n - (4 * z - 1)); j += 4 * z) ++ { ++ v4flt t0 = *(v4flt *) (src[0] + j + 0 * z); ++ v4flt t1 = *(v4flt *) (src[0] + j + 1 * z); ++ v4flt t2 = *(v4flt *) (src[0] + j + 2 * z); ++ v4flt t3 = *(v4flt *) (src[0] + j + 3 * z); ++ for (i = 1; i < a; ++i) ++ { ++ t0 += *(v4flt *) (src[i] + j + 0 * z); ++ t1 += *(v4flt *) (src[i] + j + 1 * z); ++ t2 += *(v4flt *) (src[i] + j + 2 * z); ++ t3 += *(v4flt *) (src[i] + j + 3 * z); ++ } ++ *(v4flt *) (dst + j + 0 * z) = t0; ++ *(v4flt *) (dst + j + 1 * z) = t1; ++ *(v4flt *) (dst + j + 2 * z) = t2; ++ *(v4flt *) (dst + j + 3 * z) = t3; ++ } ++ for (; j < n; ++j) ++ { ++ float t = src[0][j]; ++ for (i = 1; i < a; ++i) ++ t += src[i][j]; ++ dst[j] = t; ++ } ++} ++ ++float buffer[64]; ++ ++int ++main (void) ++{ ++ int i; ++ float *dst, *src[2]; ++ ++ dst = buffer; ++ dst += (-(long int) buffer & (16 * sizeof (float) - 1)) / sizeof (float); ++ src[0] = dst + 16; ++ src[1] = dst + 32; ++ for (i = 0; i < 16; ++i) ++ { ++ src[0][i] = (float) i + 11 * (float) i; ++ src[1][i] = (float) i + 12 * (float) i; ++ } ++ foo (dst, src, 2, 16); ++ for (i = 0; i < 16; ++i) ++ { ++ float e = (float) i + 11 * (float) i + (float) i + 12 * (float) i; ++ if (dst[i] != e) ++ abort (); ++ } ++ return 0; ++} +--- gcc/testsuite/gcc.c-torture/execute/20060412-1.c.jj 2006-04-03 11:04:53.758553500 +0200 ++++ gcc/testsuite/gcc.c-torture/execute/20060412-1.c 2006-04-12 10:54:20.000000000 +0200 +@@ -0,0 +1,33 @@ ++extern void abort (void); ++ ++struct S ++{ ++ long o; ++}; ++ ++struct T ++{ ++ long o; ++ struct S m[82]; ++}; ++ ++struct T t; ++ ++int ++main () ++{ ++ struct S *p, *q; ++ ++ p = (struct S *) &t; ++ p = &((struct T *) p)->m[0]; ++ q = p + 82; ++ while (--q > p) ++ q->o = -1; ++ q->o = 0; ++ ++ if (q > p) ++ abort (); ++ if (q - p > 0) ++ abort (); ++ return 0; ++} diff --git a/gcc41.spec b/gcc41.spec index 238ab64..16a431e 100644 --- a/gcc41.spec +++ b/gcc41.spec @@ -1,6 +1,6 @@ -%define DATE 20060420 +%define DATE 20060421 %define gcc_version 4.1.0 -%define gcc_release 9 +%define gcc_release 10 %define _unpackaged_files_terminate_build 0 %define multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 @@ -114,8 +114,8 @@ Patch16: gcc41-pr20297-test.patch Patch17: gcc41-java-pr13212.patch Patch18: gcc41-objc-rh185398.patch Patch19: gcc41-pr22375.patch -Patch20: gcc41-pr24685.patch -Patch21: gcc41-rh188649-test.patch +Patch20: gcc41-tests.patch +Patch21: gcc41-pr26769.patch Patch22: gcc41-ppc64-ldouble-stdarg.patch Patch23: gcc41-pr25874.patch Patch24: gcc41-pr25989.patch @@ -125,6 +125,8 @@ Patch27: gcc41-pr26729.patch Patch28: gcc41-pr26865.patch Patch29: gcc41-pr26913.patch Patch30: gcc41-rh188944.patch +Patch31: gcc41-rh137200.patch +Patch32: gcc41-rh187450.patch %define _gnu %{nil} %ifarch sparc @@ -423,8 +425,8 @@ which are required to run programs compiled with the GNAT. %patch17 -p0 -b .java-pr13212~ %patch18 -p0 -b .objc-rh185398~ %patch19 -p0 -b .pr22375~ -%patch20 -p0 -b .pr24685~ -%patch21 -p0 -b .rh188649-test~ +%patch20 -p0 -b .tests~ +%patch21 -p0 -b .pr26769~ %patch22 -p0 -b .ppc64-ldouble-stdarg~ %patch23 -p0 -b .pr25874~ %patch24 -p0 -b .pr25989~ @@ -434,6 +436,8 @@ which are required to run programs compiled with the GNAT. %patch28 -p0 -b .pr26865~ %patch29 -p0 -b .pr26913~ %patch30 -p0 -b .rh188944~ +%patch31 -p0 -b .rh137200~ +%patch32 -p0 -b .rh187450~ sed -i -e 's/4\.1\.1/4.1.0/' gcc/BASE-VER gcc/version.c sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c @@ -570,7 +574,7 @@ echo ====================TESTING========================= echo ====================TESTING END===================== mkdir testlogs-%{_target_platform}-%{version}-%{release} for i in `find . -name \*.log | grep testsuite/ | grep -v 'config.log\|acats\|ada'`; do - ln $i testlogs/ || : + ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || : done tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \ | uuencode testlogs-%{_target_platform}.tar.bz2 || : @@ -1458,6 +1462,19 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Fri Apr 21 2006 Jakub Jelinek 4.1.0-10 +- update from gcc-4_1-branch (-r113110:113149) + - PRs libgcj/21941, libgcj/27170, libgcj/27231, libgfortran/27138, + libstdc++/26424, mudflap/26789 +- improve dir/../-stripping code to support /usr/lib64 and /usr/lib in + separate AFS mountpoints (Alexandre Oliva, #137200) +- fix fortran real(16) transpose and reshape on 32-bit architectures + (PR fortran/26769) +- fix i?86/x86_64 vector extraction (Alexandre Oliva, #187450) +- fix testcase for ppc32 va_arg bug +- fix testsuite log uuencoding +- fix acats timeout framework + * Thu Apr 20 2006 Jakub Jelinek 4.1.0-9 - update from gcc-4_1-branch (-r112951:113110) - PRs c++/10385, c++/26036, c++/26365, c++/26558, classpath/27163, diff --git a/sources b/sources index 88bee7e..8003ae9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -70ceb184a4d5a40a2eb8fb903aff3894 gcc-4.1.0-20060420.tar.bz2 +19e1f84413aad25f18300a7dfe37c4b8 gcc-4.1.0-20060421.tar.bz2