Bug 47758 - 729 unexpected failures in the libgomp test suite on powerpc-apple-darwin8
Summary: 729 unexpected failures in the libgomp test suite on powerpc-apple-darwin8
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: libgomp (show other bugs)
Version: 4.6.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-15 20:58 UTC by Dominique d'Humieres
Modified: 2011-02-16 19:45 UTC (History)
4 users (show)

See Also:
Host: powerpc-apple-darwin8
Target: powerpc-apple-darwin8
Build: powerpc-apple-darwin8
Known to work:
Known to fail:
Last reconfirmed:


Attachments
untested patch (460 bytes, patch)
2011-02-15 22:21 UTC, Tobias Burnus
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dominique d'Humieres 2011-02-15 20:58:50 UTC
I ventured in building gcc 4.6.0 (trunk revision 170169) on powerpc-apple-darwin8 configured with:

../work/configure --prefix=/opt/gcc/gcc4.6w --target=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --build=powerpc-apple-darwin8 --enable-languages=c,c++,fortran,lto --with-gmp=/sw --with-libiconv-prefix=/sw --with-system-zlib --enable-checking=release --with-dwarf2 --disable-multilib --disable-libquadmath --disable-libquadmath-support

and I got a high number of failures in libgomp.fortran:

		=== libgomp Summary ===

# of expected passes		1793
# of unexpected failures	729
# of unsupported tests		2

FAIL: libgomp.fortran/allocatable1.f90  -O0  (test for excess errors)
FAIL: libgomp.fortran/allocatable1.f90  -O1  (test for excess errors)
FAIL: libgomp.fortran/allocatable1.f90  -O2  (test for excess errors)
FAIL: libgomp.fortran/allocatable1.f90  -O3 -fomit-frame-pointer  (test for excess errors)
FAIL: libgomp.fortran/allocatable1.f90  -O3 -fomit-frame-pointer -funroll-loops  (test for excess errors)
FAIL: libgomp.fortran/allocatable1.f90  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  (test for excess errors)
FAIL: libgomp.fortran/allocatable1.f90  -O3 -g  (test for excess errors)
FAIL: libgomp.fortran/allocatable1.f90  -Os  (test for excess errors)
...

Most (if not all) are of the following kind:

/libgomp/testsuite/.. -shared-libgcc -fmessage-length=0 -fopenmp -B/opt/gcc/build/powerpc-apple-darwin8/./libgomp/../libquadmath/.libs/  -O0   -B/opt/gcc/build/powerpc-apple-darwin8/./libgomp/../libgfortran/.libs   -L/opt/gcc/build/powerpc-apple-darwin8/./libgomp/.libs -lgomp -L/opt/gcc/build/powerpc-apple-darwin8/./libgomp/../libquadmath/.libs/ -L/opt/gcc/build/powerpc-apple-darwin8/./libgomp/../libgfortran/.libs -lgfortran -lm   -o ./allocatable1.exe    (timeout = 300)
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning -L: directory name (/opt/gcc/build/powerpc-apple-darwin8/./libgomp/../libquadmath/.libs/) does not exist

I have tested different variants around the options  --disable-libquadmath --disable-libquadmath-support without change. Note that with these two options no libquadmath is build while I don't need them on powerpc-apple-darwin9 (so I see powerpc-apple-darwin9/libquadmath, but no powerpc-apple-darwin9/libquadmath/.libs and the libgomp tests pass without failures).
Comment 1 Tobias Burnus 2011-02-15 22:21:28 UTC
Created attachment 23356 [details]
untested patch

Do you know when it last worked? My candidate would be the patch - assuming that it is not a new issue.

http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167127
2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>

        * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.

Untested patch attached.
Comment 2 Jakub Jelinek 2011-02-15 22:38:36 UTC
This is preapproved with a proper ChangeLog entry if it works.
Comment 3 Dominique d'Humieres 2011-02-16 12:51:44 UTC
> Do you know when it last worked? 

Well it was my first attempt to build 4.6 on my poor G4 (almost ten year old, so slow with a crowded disk that I don't even have 4.5 installed in it;-). This build was motivated by pr45381 and I stumbled on this PR only by chance.

> My candidate would be the patch - assuming that it is not a new issue.

The patch in comment #1 fixes the failures and has been tested also on powerpc-apple-darwin9 and x86_64-apple-darwin10 without problem.

Thanks for the quick fix.
Comment 4 Iain Sandoe 2011-02-16 16:14:02 UTC
thanks, IIRC, when the patch was originally applied it was not possible to test on Darwin 8 (libquadmath was broken for other reasons).

---

This is not an objection to the proposed solution - but - for the record:

I remain concerned that the libgomp test-suite is driven by xgcc (which does not apply the fortran spec) and, thus, is different from the notional idea of equivalence with the installed gfortran.

[if the fortran spec is used, I think you will find that the fails are also resolved]

e.g.

Index: libgomp/testsuite/libgomp.fortran/fortran.exp
===================================================================
--- libgomp/testsuite/libgomp.fortran/fortran.exp       (revision 170210)
+++ libgomp/testsuite/libgomp.fortran/fortran.exp       (working copy)
@@ -8,6 +8,7 @@ set lang_library_path   "../libgfortran/.libs"
 set lang_link_flags    "-lgfortran"
 set lang_test_file_found 0
 set quadmath_library_path "../libquadmath/.libs"
+set lang_spec_path "../libgfortran"
 
 
 # Initialize dg.
@@ -44,6 +45,8 @@ if { $lang_test_file_found } {
        lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/${quadmath_library_path}/"
        # Allow for spec subsitution.
        lappend ALWAYS_CFLAGS "additional_flags=-B${blddir}/${quadmath_library_path}/"
+       # use the libgfortran spec.
+       lappend ALWAYS_CFLAGS "additional_flags=-specs=${blddir}/${lang_spec_path}/libgfortran.spec"
        set ld_library_path "$always_ld_library_path:${blddir}/${lang_library_path}:${blddir}/${quadmath_library_path}"
     } else {
         set ld_library_path "$always_ld_library_path"
Comment 5 Tobias Burnus 2011-02-16 17:44:48 UTC
Author: burnus
Date: Wed Feb 16 17:44:45 2011
New Revision: 170216

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170216
Log:
2011-02-16  Tobias Burnus  <burnus@net-b.de>

        PR libgomp/47758
        * testsuite/libgomp.fortran/fortran.exp: Check for the existence
        of libquadmath.a before adding its libpath to ldflags.


Modified:
    trunk/libgomp/ChangeLog
    trunk/libgomp/testsuite/libgomp.fortran/fortran.exp
Comment 6 Jakub Jelinek 2011-02-16 19:45:27 UTC
Fixed.