This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] debug: make -feliminate-unused-debug-symbols the default [PR debug/86964]
- From: Thomas De Schampheleire <patrickdepinguin at gmail dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Thomas De Schampheleire <thomas dot de_schampheleire at nokia dot com>
- Date: Fri, 17 May 2019 09:44:06 +0200
- Subject: Re: [PATCH] debug: make -feliminate-unused-debug-symbols the default [PR debug/86964]
- References: <20190516092100.11157-1-patrickdepinguin@gmail.com> <CAFiYyc2BMR-F_4ieAm65a6KYZib2Uq+ytHZnby7RgEAojdOJ=w@mail.gmail.com>
Hi Richard,
El jue., 16 may. 2019 a las 14:41, Richard Biener
(<richard.guenther@gmail.com>) escribió:
>
> On Thu, May 16, 2019 at 11:20 AM Thomas De Schampheleire
> <patrickdepinguin@gmail.com> wrote:
> >
> > From: Thomas De Schampheleire <thomas.de_schampheleire@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?
And is there a way to run only specific tests, e.g. the ones that you
pointed out?
Thanks,
Thomas