This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [LTO] Request for testing: Last merge from trunk before final merge


Diego Novillo <dnovillo@google.com> writes:

> In preparation for the final merge into mainline.  I need to test
> the branch on various platforms.  Richi is currently testing on
> i586, ppc, ppc64, ia64, s390, s390x.
> 
> If anyone has free cycles I would appreciate results from other
> ELF-capable targets.

I've run those for sparc-sun-solaris2.11, i386-pc-solaris2.10 and
mips-sgi-irix6.5.  Details below.

> $ svn co svn://gcc.gnu.org/svn/gcc/branches/lto
> $ mkdir bld && cd bld
> $ ../lto/configure --enable-lto && make

Why just a make and no make bootstrap?  This is also on the LTO wiki page,
which btw. is confusing since it states `Last updated: 07-Jul-2009'.  For
all my tests, I've just run regular bootstraps.

> You will need to have libelf 0.8.12 installed
> (http://www.mr511.de/software/libelf-0.8.12.tar.gz)

libelf 0.8.12 builds without problems on Solaris 10 and 11, but fails out
of the box on IRIX 6.5.  I've contacted the maintainer about this, and he
suggested configuring with

$ ac_cv_header_elf_h=no ac_cv_header_sys_elf_h=no ./configure

as a hack.  This works for now, until I ran into PR lto/40790 which is
still unfixed.  I stopped here, but it should be possible to use
GCC_HEADER_STDINT to work around this.

I've posted testsuite results for sparc-sun-solaris2.11 to

	http://gcc.gnu.org/ml/gcc-testresults/2009-09/msg02772.html

and compared them with mainline results as of 20090922.  Ada is missing
here, since I had to use a non-Ada enabled bootstrap compiler due to PR
bootstrap/39020.

@@ -20,13 +15,19 @@
 
 		=== g++ Summary for unix ===
 
[...]
 
 Running target unix/-m64
+FAIL: tmpdir-g++.dg-struct-layout-1/t003 cp_compat_x_tst.o-cp_compat_y_tst.o execute "-O2","-fwhopr"
+FAIL: tmpdir-g++.dg-struct-layout-1/t003 cp_compat_x_tst.o-cp_compat_y_tst.o execute "-O2","-flto"
+FAIL: tmpdir-g++.dg-struct-layout-1/t019 cp_compat_x_tst.o-cp_compat_y_tst.o execute "-O2","-fwhopr"
+FAIL: tmpdir-g++.dg-struct-layout-1/t019 cp_compat_x_tst.o-cp_compat_y_tst.o execute "-O2","-flto"
+FAIL: tmpdir-g++.dg-struct-layout-1/t030 cp_compat_x_tst.o-cp_compat_y_tst.o execute "-O2","-fwhopr"
+FAIL: tmpdir-g++.dg-struct-layout-1/t030 cp_compat_x_tst.o-cp_compat_y_tst.o execute "-O2","-flto"

There's no indication in the logs why those fail, the 32-bit tests are
fine.

 		=== gcc tests ===
[...] 
@@ -64,18 +65,22 @@
 FAIL: gcc.c-torture/compile/pr38789.c  -O3 -fomit-frame-pointer  (test for excess errors)
 FAIL: gcc.c-torture/compile/pr38789.c  -O3 -g  (test for excess errors)
 FAIL: gcc.c-torture/compile/pr38789.c  -Os  (test for excess errors)
+FAIL: gcc.c-torture/compile/pr38789.c  -O2 -flto  (test for excess errors)
+FAIL: gcc.c-torture/compile/pr38789.c  -O2 -fwhopr  (test for excess errors)

The test fails without -flto/-fwhopr as well: Sun as cannot cope with the
input.  I've filed PR testsuite/41522 for that.

 FAIL: gcc.c-torture/execute/pr38819.c execution,  -O2 
 FAIL: gcc.c-torture/execute/pr38819.c execution,  -O3 -fomit-frame-pointer 
 FAIL: gcc.c-torture/execute/pr38819.c execution,  -O3 -fomit-frame-pointer -funroll-loops 
 FAIL: gcc.c-torture/execute/pr38819.c execution,  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions 
 FAIL: gcc.c-torture/execute/pr38819.c execution,  -O3 -g 
+FAIL: gcc.c-torture/execute/pr38819.c execution,  -O2 -flto 
+FAIL: gcc.c-torture/execute/pr38819.c execution,  -O2 -fwhopr 

Similarly here: already fails without -flto.

+FAIL: gcc.dg/lto/20081120-1 c_lto_20081120-1_0.o-c_lto_20081120-1_1.o link
+UNRESOLVED: gcc.dg/lto/20081120-1 c_lto_20081120-1_0.o-c_lto_20081120-1_1.o execute -flto -shared

This fails like this:

output is:
Text relocation remains				referenced
    against symbol		    offset	in file
stat64                              0x4		c_lto_20081120-1_0.o
stat64                              0x4		c_lto_20081120-1_1.o
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status

FAIL: gcc.dg/lto/20081120-1 c_lto_20081120-1_0.o-c_lto_20081120-1_1.o link

It seems like -flto -shared doesn't create PIC code here for some reason.

+FAIL: gcc.dg/lto/20081201-2 c_lto_20081201-2_0.o-c_lto_20081201-2_1.o execute -O3 -fwhopr

No hint why this fails.

+FAIL: gcc.dg/lto/20090729 c_lto_20090729_0.o-c_lto_20090729_1.o link
+UNRESOLVED: gcc.dg/lto/20090729 c_lto_20090729_0.o-c_lto_20090729_1.o execute -w

output is:
ld: warning: symbol `i' has differing sizes:
	(file c_lto_20090729_0.o value=0x8; file c_lto_20090729_1.o value=0x4);
	c_lto_20090729_0.o definition taken
ld: warning: symbol `j' has differing sizes:
	(file c_lto_20090729_0.o value=0x4; file c_lto_20090729_1.o value=0x8);
	c_lto_20090729_1.o definition taken

This seems like it cannot work.

 FAIL: gcc.dg/torture/pr26565.c  -O1  execution test
 FAIL: gcc.dg/torture/pr26565.c  -O2  execution test
 FAIL: gcc.dg/torture/pr26565.c  -Os  execution test
+FAIL: gcc.dg/torture/pr26565.c  -O2 -flto  execution test
+FAIL: gcc.dg/torture/pr26565.c  -O2 -fwhopr  execution test

No hint why this fails, but does so already without -flto.

gcc/-m64:

I won't repeat the 32-bit failures from above.

 FAIL: gcc.c-torture/execute/ipa-sra-2.c execution,  -O3 -fomit-frame-pointer 
 FAIL: gcc.c-torture/execute/ipa-sra-2.c execution,  -O3 -g 
 FAIL: gcc.c-torture/execute/ipa-sra-2.c execution,  -Os 
+FAIL: gcc.c-torture/execute/ipa-sra-2.c execution,  -O2 -flto 
+FAIL: gcc.c-torture/execute/ipa-sra-2.c execution,  -O2 -fwhopr 

Again: fails already without -flto.

 		=== gfortran tests ===

Several tests are run here without any optimization options, but already
failed before.  This is confusing, but I won't note this further on.

 FAIL: gfortran.dg/default_format_2.f90  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
 FAIL: gfortran.dg/default_format_2.f90  -O3 -g  execution test
 FAIL: gfortran.dg/default_format_2.f90  -Os  execution test
+FAIL: gfortran.dg/default_format_2.f90 execution test

 		=== objc tests ===

 FAIL: objc/execute/forward-1.m execution,  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -fgnu-runtime
 FAIL: objc/execute/forward-1.m execution,  -O3 -g -fgnu-runtime
 FAIL: objc/execute/forward-1.m execution,  -Os -fgnu-runtime
+FAIL: objc/execute/forward-1.m execution, 
 
Same issue as with gfortran above.

libstdc++:
 
Tons of new failures, all seem to be linker errors:

 Running target unix
+FAIL: 20_util/shared_ptr/cons/alloc.cc (test for excess errors)

FAIL: 20_util/shared_ptr/cons/alloc.cc (test for excess errors)
Excess errors:
ld: warning: relocation error: R_SPARC_UA32: file ./libtestc++.a(testsuite_allocator.o): symbol std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> (std::basic_ostream<char, std::char_traits<char> >&): external symbolic relocation against non-allocatable section .debug_loc; cannot be processed at runtime: relocation ignored

I haven't yet stared investigating if this is a problem in the generated
code or the Sun assembler used.

-Compiler version: 4.5.0 20090922 (experimental) [trunk revision 152032] (GCC) 
+Compiler version: 4.5.0 20090928 (experimental) [lto revision 152243] (lto merged with rev 152236) 
 Platform: sparc-sun-solaris2.11
-configure flags: --prefix=/vol/gcc --with-local-prefix=/vol/gcc --disable-nls --with-gmp=/vol/gcc --with-mpfr=/vol/gcc --enable-languages=c,c++,fortran,java,objc,ada --disable-libmudflap
+configure flags: CC='/vol/gcc/obj/gcc-4.5.0-20090922/11-gcc/gcc/xgcc -B/vol/gcc/obj/gcc-4.5.0-20090922/11-gcc/gcc/' --prefix=/vol/gcc --with-local-prefix=/vol/gcc --disable-nls --with-gmp=/vol/gcc --with-mpfr=/vol/gcc --enable-lto --with-libelf=/vol/gcc
 BOOT_CFLAGS=-g -O2
 EOF
-Mail -s "Results for 4.5.0 20090922 (experimental) [trunk revision 152032] (GCC) testsuite on sparc-sun-solaris2.11" gcc-testresults@gcc.gnu.org &&
+Mail -s "Results for 4.5.0 20090928 (experimental) [lto revision 152243] (lto merged with rev 152236) testsuite on sparc-sun-solaris2.11" gcc-testresults@gcc.gnu.org &&
 true

The situation on i386-pc-solaris2.10 is much worse, though: mail-report.log
is > 500 kB and rejected by the gcc.gnu.org mailserver.  I'll have to
analyze this separately and post results when I'm done.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]