On Wed, 07 Oct 2020 00:46:24 +0200, Jeff Law wrote:
> On 9/30/20 3:50 AM, Jan Kratochvil wrote:
> > On Wed, 30 Sep 2020 01:31:29 +0200, Jeff Law wrote:
> >> But the GCC community
> >> doesn't really test that option and it's known to be broken with LTO.
> > I haven't seen any GCC PR for -fdebug-types-section being broken with LTO.
> 
> I'm not aware of one either.  But as Jakub has previously pointed out
> debug-types-section is disabled when LTO is enabled.  I don't know the
> details of why that is done.

Because Jakub made a mistake and he still has not corrected himself.
I have explained it in:
        
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/2HIK25T3MHP7D6LC5CDJNINP3ZEO7RPW/

If -fdebug-types-section was disabled in LTO mode then there would not be
6.78% vs. 31.23% difference of Fedora mass rebuild of -fdebug-types-section
vs. -fno-debug-types-section.
        
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/J34DKZK7MWH725CMCS5YLVZ77YURSMRZ/

Also this simple example shows it is not true:
        c="static struct C{int a;C(){}} v;";o="-Wall -gdwarf-5 
-fdebug-types-section -flto -O2";echo "$c"|gcc -c -o 1.o $o -x c++ -;echo 
"${c}int main(){}"|gcc -c -o 2.o $o -x c++ -;gcc -o 1 1.o 2.o $o;llvm-dwarfdump 
1|grep DW_UT_type
        0x00000042: Type Unit: length = 0x0000005b version = 0x0005 unit_type = 
DW_UT_type abbr_offset = 0x0023 addr_size = 0x08 name = 'C' type_signature = 
0x4e76c0dda193eb61 type_offset = 0x0026 (next unit at 0x000000a1)


> >> So the only paths forward I see are to either fix -fdebug-types-section or
> >> improve dwz.
> > And obviously much easier is to fix -fdebug-types-section than DWZ (if there
> > are really any bugs in -fdebug-types-section, there are known bugs nobody
> > wants to fix in DWZ).
> 
> I think you're making an unsubstantiated leap here.  Neither of us know
> what's wrong with GCC LTO and debug-types-section

I know what - nothing! Although sure the problem is GCC as its LTO still
produces -fdebug-types-section at all. clang LTO ignores -fdebug-types-section
as clang already does the DWZ-style class unification itself during lld phase.

This discussion and the state of GCC vs. clang shows me that getting rid of
DWZ is less important and as it is more productive for Fedora to rather get
rid of GCC with DWZ altogether.


> and others are working on dwz.

That is their problem. I am trying to work on things that make sense (but
I cannot).


> > When we start talking about RHEL (and CentOS) DWZ is completely pointless 
> > then
> > as DWZ there saves only 0.28% of *-debuginfo.rpm (20MB of 7.2GB).
> > Therefore approx. 0.14% of the distribution size.
> 
> Umm, we're fighting with PM these days over things in the 10M range. 

So it is better to slow down getting a finally usable debugger by years to
save 10MB of distro size? I really do not believe that. :-)


> Most customers don't use dwz.  But they consume its output for the RPMs
> that we provide.

They cannot because the LLVM tools Red Hat ships still do not support DWZ.


Jan
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to