On Fri, May 17, 2019 at 12:07 PM Thomas De Schampheleire
<patrickdeping...@gmail.com> wrote:
>
>
>
> 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.

Those FAILs are not caused by the patch but are present unpatched.
Well, all apart from
the ones I quoted which scan debug info.

>
>>
>> > 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

Reply via email to