Breakage with "Update testsuite to run with slim LTO"

Hans-Peter Nilsson hans-peter.nilsson@axis.com
Thu Oct 20 19:34:00 GMT 2011


> Date: Tue, 27 Sep 2011 19:23:22 +0200
> From: Jan Hubicka <hubicka@ucw.cz>

> this patch updates testsuite to cover both fat and slim LTO when linker plugin
> is used and also both linker plugin and collect2 paths.  I didn't wanted to
> slow down testing too much so I just distributes the flags across existing runs
> with aim to maximize the coverage of testing matrix that is bit large now.
> I believe it is sufficient and testsuite now runs a bit faster than previously
> since slim LTO saves some effort.
> 
> sync and pr34850 tests doesn't pass with slim LTO. The reason is that they
> excpects diagnostics that is output too late in compilation (usually at
> expansion time).  These should be probably fixed as QOI issue but they are not
> real bug - the diagnostics will be output at linktime.  I will open PR tracking
> this.  We probably should output pretty much everything till end of early opts
> except for stuff that really looks for optimization results.  Especially now
> when we handle always inline in early inlining.
> 
> Honza
> 
> 	* lib/lto.exp: When linker plugin is available test both
> 	plugin/non-plugin LTO paths as well as fat and slim LTO.
> 	lib/c-torture.exp: Likewise.
> 	lib/gcc-dg.exp: Likweise

Looks like this patch broke, for cris-elf with TOT binutils:

Running /tmp/hpautotest-gcc1/gcc/gcc/testsuite/gcc.dg/torture/dg-torture.exp ...
FAIL: gcc.dg/torture/cris-asm-mof-1.c scan-assembler in-asm: .mof
FAIL: gcc.dg/torture/cris-asm-mof-1.c scan-assembler out-asm: .mof
FAIL: gcc.dg/torture/cris-asm-mof-1.c scan-assembler in2-asm: .mof
FAIL: gcc.dg/torture/cris-asm-mof-1.c scan-assembler out2-asm: .mof

which for "-O2 -flto -fuse-linker-plugin -fno-fat-lto-objects"
don't produce any code.  Is that expected? 

If so, and if the required update is as for the test-cases you
updated, to add:
+ /* { dg-options "-ffat-lto-objects" } */

then IIUC you need to patch *all* torture tests that use
scan-assembler and scan-assembler-not.  Alternatively, patch
somewhere else, like not passing it if certain directives are
used, like scan-assembler{,-not}.  And either way, is it safe to
add that option always, not just when also passing "-flto" or
something?

brgds, H-P



More information about the Gcc-patches mailing list