On Fri, May 17, 2019, 11:57 Richard Biener <richard.guent...@gmail.com> wrote:
> On Fri, May 17, 2019 at 9:42 AM Thomas De Schampheleire > <patrickdeping...@gmail.com> wrote: > > > > Hi Richard, > > > > El jue., 16 may. 2019 a las 14:41, Richard Biener > > (<richard.guent...@gmail.com>) escribió: > > > > > > On Thu, May 16, 2019 at 11:20 AM Thomas De Schampheleire > > > <patrickdeping...@gmail.com> wrote: > > > > > > > > From: Thomas De Schampheleire <thomas.de_schamphele...@nokia.com> > > > > > > > > In addition to making -feliminate-unused-debug-symbols work for the > DWARF > > > > format (see [1]), make this option the default. This behavior was > the case > > > > before, e.g. under gcc 4.9.x. > > > > [1] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=269925 > > > > > > I have tested this patch and it causes a few FAILs, eventually hinting > > > at implementation issues: > > > > > > === g++ tests === > > > > > > > > > Running target unix > > > FAIL: g++.dg/debug/enum-2.C -gstabs -O2 scan-assembler JTI_MAX > > > FAIL: g++.dg/debug/enum-2.C -gstabs -O3 scan-assembler JTI_MAX > > > FAIL: g++.dg/debug/enum-2.C -gstabs+ -O2 scan-assembler JTI_MAX > > > FAIL: g++.dg/debug/enum-2.C -gstabs+ -O3 scan-assembler JTI_MAX > > > FAIL: g++.dg/debug/enum-2.C -gstabs+3 -O2 scan-assembler JTI_MAX > > > FAIL: g++.dg/debug/enum-2.C -gstabs+3 -O3 scan-assembler JTI_MAX > > > FAIL: g++.dg/debug/enum-2.C -gstabs3 -O2 scan-assembler JTI_MAX > > > FAIL: g++.dg/debug/enum-2.C -gstabs3 -O3 scan-assembler JTI_MAX > > > > > > maybe expected (stabs....) > > > > > > FAIL: g++.dg/debug/dwarf2/fesd-any.C -std=gnu++14 scan-assembler > field_head_or > > > dy_defn_fld_head.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-any.C -std=gnu++14 scan-assembler > field_head_or > > > dy_defn_ptr_head.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-any.C -std=gnu++14 scan-assembler > field_head_or > > > dy_defn_ref_head.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-any.C -std=gnu++14 scan-assembler > field_head_or > > > dy_defn_var_head_fld.*DW_AT_name > > > ... more ... > > > FAIL: g++.dg/debug/dwarf2/fesd-baseonly.C -std=gnu++14 > scan-assembler gstruct_ > > > head_ordy_defn_var_head.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-baseonly.C -std=gnu++14 > scan-assembler gstruct_ > > > head_tmpl_defn_var_head<int>.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-baseonly.C -std=gnu++17 > scan-assembler gstruct_ > > > head_ordy_defn_var_head.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-baseonly.C -std=gnu++17 > scan-assembler gstruct_ > > > head_tmpl_defn_var_head<int>.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-baseonly.C -std=gnu++98 > scan-assembler gstruct_ > > > head_ordy_defn_var_head.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-baseonly.C -std=gnu++98 > > > scan-assembler gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-none.C -std=gnu++14 scan-assembler > > > gstruct_head_ordy_defn_var_head.*DW_AT_name > > > FAIL: g++.dg/debug/dwarf2/fesd-none.C -std=gnu++14 scan-assembler > > > gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name > > > ... more fesd-* testcases FAIL ... > > > FAIL: g++.dg/debug/dwarf2/inline-var-1.C -std=gnu++17 > > > scan-assembler-times DW_AT_[^\\n\\r]*linkage_name 7 > > > FAIL: g++.dg/debug/dwarf2/inline-var-1.C -std=gnu++17 > > > scan-assembler-times DW_AT_specification 6 > > > FAIL: g++.dg/debug/dwarf2/inline-var-1.C -std=gnu++17 > > > scan-assembler-times 0x3[^\\n\\r]* DW_AT_inline 6 > > > > > > C variants of the fesd-* testcases also FAIL. Those testcases are > > > huge, a quick look didn't > > > reveal whether those are expected FAILs or not. > > > > > > I tried reproducing these failures, using 'make bootstrap && make > > check', but I see many many test failures: > > > > === gcc Summary === > > > > # of expected passes 144268 > > # of unexpected failures 113 > > # of unexpected successes 28 > > # of expected failures 593 > > # of unresolved testcases 2 > > # of unsupported tests 2279 > > > > === g++ Summary === > > > > # of expected passes 134673 > > # of unexpected failures 137 > > # of expected failures 527 > > # of unsupported tests 5944 > > > > /home/tdescham/repo/contrib/gcc/host-x86_64-pc-linux-gnu/gcc/xgcc > > version 10.0.0 20190516 (experimental) (GCC) > > > > > > Is it expected that 'master' (gcc 10) has such failures? Should I test > > on another branch, if so which? > > The guality ones are probably the most "disturbing", but yes, there > are quite a number of FAILs, my last result shows > > === gcc Summary === > > # of expected passes 144773 > # of unexpected failures 102 > # of unexpected successes 28 > # of expected failures 602 > # of unresolved testcases 2 > # of unsupported tests 2297 > > === g++ Summary === > > # of expected passes 134956 > # of unexpected failures 1 > # of expected failures 527 > # of unsupported tests 5946 > > so esp. the C suite has quite a lot (guality, that is...) > Do you have any idea how this simple change could cause all these problems? I could imagine that tests checking specifically for debug symbols could unexpectedly succeed or fail, but not how other tests could fail. > > And is there a way to run only specific tests, e.g. the ones that you > > pointed out? > > Yes, from inside gcc/ (in the build tree) do > > make check-g++ RUNTESTFLAGS="debug.exp=enum-2.C" > > to run a single testcase. Omit the '=enum-2.C' to run all tests > where debug.exp resides. For the dwarf testcases use > dwarf2.exp in place of debug.exp. For the C testcases > use the check-gcc make target. > Thanks, I will try that. Best regards Thomas