Hello everybody.
This is likely a local issue, but who knows, maybe not. I'm running
Gentoo on x86_64 using KEYWORDS="amd64", but 4.8.3 and 4.9.0 are both
experimental, so I have ~amd64 enabled for 4.8.3 (4.9.0 is actually
fully masked). Anyway, I overcame (err, hacked away) test failure
related to Gentoo's new-but-not-yet-stabilized abi_x64_{64,32} mechanism
for managing multilibbed systems (java 32 bit midi-dss was failing on
-ljack), but now I'm running into a failure with libgomp. Unfortunately,
I've been unable to isolate the actual failure with any certainty! Here
is the test that fails on 4.9.0 (it appears to be the same for 4.8.3):
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/libgomp/testsuite
(root@loudmouth)# sudo -Hu portage make check
make check-DEJAGNU
make[1]: Entering directory
`/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/libgomp/testsuite'
srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite
&& pwd`; export srcdir; \
EXPECT=expect; export EXPECT; \
runtest="runtest "; \
if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \
exit_status=0; l='libgomp'; for tool in $l; do \
if $runtest --tool $tool --srcdir $srcdir ; \
then :; else exit_status=1; fi; \
done; \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi; \
exit $exit_status
WARNING: Couldn't find the global config file.
Test Run By portage on Tue Jul 8 00:45:58 2014
Native configuration is x86_64-pc-linux-gnu
=== libgomp tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file
for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for
target.
Using
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/c.exp
...
FAIL: libgomp.c/pr52547.c (test for excess errors)
Running
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c++/c++.exp
...
Running
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.fortran/fortran.exp
...
Running
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.graphite/graphite.exp
...
=== libgomp Summary ===
# of expected passes 2411
# of unexpected failures 1
make[1]: *** [check-DEJAGNU] Error 1
make[1]: Leaving directory
`/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/libgomp/testsuite'
make: *** [check-am] Error 2
What confuses me is that the complete output of the tests in the gentoo
build log shows *many* tests with "unexpected failures" that don't seem
to be of any concern nor result in make returning non-zero. I also see
many "FAIL" lines, but this test only produces one, but results in an
error. But then, in the log file, it claims that the same file,
pr52547.c passes. The file libgomp.log is 4.2 MiB, but here is that
snippet from the log:
Executing on host:
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/xgcc
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/pr52547.c
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/..
-fmessage-length=0 -fno-diagnostics-show-caret -fdiagnostics-color=never
-fopenmp -O2
-L/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs
-lm -o ./pr52547.exe (timeout = 300)
spawn /home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/xgcc
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/pr52547.c
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/..
-fmessage-length=0 -fno-diagnostics-show-caret -fdiagnostics-color=never
-fopenmp -O2
-L/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs
-lm -o ./pr52547.exe
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/pr52547.c:
In function 'foo':
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/pr52547.c:20:11:
warning: trampoline generated for nested function 'bar' [-Wtrampolines]
output is:
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/pr52547.c:
In function 'foo':
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/pr52547.c:20:11:
warning: trampoline generated for nested function 'bar' [-Wtrampolines]
FAIL: libgomp.c/pr52547.c (test for excess errors)
Excess errors:
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/pr52547.c:20:11:
warning: trampoline generated for nested function 'bar' [-Wtrampolines]
Setting LD_LIBRARY_PATH to
.:/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs:/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc:/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/32:.:/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs:/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc:/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/32
spawn [open ...]
PASS: libgomp.c/pr52547.c execution test
So my guess is that that is not the problem. The only other thing I can
think of is doing grep -i error libgomp.log and sifting through it. I
did find these two interesting snippets:
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file
for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for
target.
Using
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/c.exp
...
Executing on host:
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/xgcc
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/..
-c -o ia3210809.o ia3210809.c (timeout = 300)
spawn /home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/xgcc
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/..
-c -o ia3210809.o ia3210809.c
ia3210809.c:2:6: error: size of array 'dummy' is negative
int dummy[sizeof (int) == 4
^
ia3210809.c:4:41: error: '__i386__' undeclared here (not in a function)
&& sizeof (long) == 4 ? 1 : -1] = { __i386__ };
^
compiler exited with status 1
output is:
ia3210809.c:2:6: error: size of array 'dummy' is negative
int dummy[sizeof (int) == 4
^
ia3210809.c:4:41: error: '__i386__' undeclared here (not in a function)
&& sizeof (long) == 4 ? 1 : -1] = { __i386__ };
^
And this one:
Executing on host:
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/xgcc
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite
/libgomp.c/omp_workshare3.c
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs
-I/home/tmp-p
ortage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/..
-fmessage-length=0 -fno-diagnostics-show-caret -fdiagnostics-color=
never -fopenmp -O2 -S -o omp_workshare3.s (timeout = 300)
spawn /home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/xgcc
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/gcc/
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/om
p_workshare3.c
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/
-B/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp/.libs
-I/home/tmp-portage/portage
/sys-devel/gcc-4.9.0/work/build/x86_64-pc-linux-gnu/./libgomp
-I/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/..
-fmessage-length=0 -fno-diagnostics-show-caret -fdiagnostics-color=never
-fopenmp
-O2 -S -o omp_workshare3.s
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/omp_workshare3.c:
In function 'main':
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/omp_workshare3.c:33:3:
error: for statement expected before '{' token
compiler exited with status 1
output is:
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/omp_workshare3.c:
In function 'main':
/home/tmp-portage/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/libgomp/testsuite/libgomp.c/omp_workshare3.c:33:3:
error: for statement expected before '{' token
PASS: libgomp.c/omp_workshare3.c (test for errors, line 33)
PASS: libgomp.c/omp_workshare3.c (test for excess errors)
I've managed to get the log compressed down to 26k, so I can attach it
if needed.
Thanks ,
Daniel