public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/33429]  New: debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
@ 2007-09-14  6:25 hp at gcc dot gnu dot org
  2007-09-14  6:33 ` [Bug debug/33429] " hp at gcc dot gnu dot org
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: hp at gcc dot gnu dot org @ 2007-09-14  6:25 UTC (permalink / raw)
  To: gcc-bugs

See conversation at <http://gcc.gnu.org/ml/gcc-patches/2007-09/msg01230.html>.
The changed default for that option exposes the bug; -femit-class-debug-always
should not be required to emit debug info for "class2".


-- 
           Summary: debug info for class2 in g++.dg/other/unused1.C
                    requires -femit-class-debug-always
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hp at gcc dot gnu dot org
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: cris-axis-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
@ 2007-09-14  6:33 ` hp at gcc dot gnu dot org
  2007-09-14  6:48 ` hp at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: hp at gcc dot gnu dot org @ 2007-09-14  6:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from hp at gcc dot gnu dot org  2007-09-14 06:33 -------
I forgot to mention that this likely happens everywhere, not just for
cris-axis-elf.  Compare for example
<http://gcc.gnu.org/ml/gcc-testresults/2007-09/msg00622.html>
(r128455, before the changed default of r128474) and
<http://gcc.gnu.org/ml/gcc-testresults/2007-09/msg00671.html>
(r128486, after).


-- 

hp at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-09-14 06:33:22
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
  2007-09-14  6:33 ` [Bug debug/33429] " hp at gcc dot gnu dot org
@ 2007-09-14  6:48 ` hp at gcc dot gnu dot org
  2007-09-14 16:33 ` pinskia at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: hp at gcc dot gnu dot org @ 2007-09-14  6:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hp at gcc dot gnu dot org  2007-09-14 06:48 -------
Subject: Bug 33429

Author: hp
Date: Fri Sep 14 06:48:17 2007
New Revision: 128489

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128489
Log:
        PR debug/33429
        * g++.dg/other/unused1.C: XFAIL class2 scan.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/other/unused1.C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
  2007-09-14  6:33 ` [Bug debug/33429] " hp at gcc dot gnu dot org
  2007-09-14  6:48 ` hp at gcc dot gnu dot org
@ 2007-09-14 16:33 ` pinskia at gcc dot gnu dot org
  2007-09-15 18:39 ` danglin at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-09-14 16:33 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |spark at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2007-09-14 16:33 ` pinskia at gcc dot gnu dot org
@ 2007-09-15 18:39 ` danglin at gcc dot gnu dot org
  2007-10-01 15:09 ` rguenth at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-09-15 18:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from danglin at gcc dot gnu dot org  2007-09-15 18:38 -------
I'm also seeing this in 4.2.2.


-- 

danglin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |danglin at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2007-09-15 18:39 ` danglin at gcc dot gnu dot org
@ 2007-10-01 15:09 ` rguenth at gcc dot gnu dot org
  2008-10-15 18:30 ` jason at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-10-01 15:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rguenth at gcc dot gnu dot org  2007-10-01 15:09 -------
I see this as well, on all archs for 4.2.2 (a regression from 4.2.1).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2007-10-01 15:09 ` rguenth at gcc dot gnu dot org
@ 2008-10-15 18:30 ` jason at gcc dot gnu dot org
  2008-10-15 19:38 ` dodji at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jason at gcc dot gnu dot org @ 2008-10-15 18:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jason at gcc dot gnu dot org  2008-10-15 18:28 -------
Contra Mark, this seems like a WONTFIX to me.

g++ assumes that if a class has a vtable, if we're going to do anything with it
we'll create an object of that type at some point, which will use the vtable,
and so we'll get the debug info.

This seems like a reasonable assumption to me; the only time it will be invalid
is with trivial examples like this.  No real code would try to cast to class2*
when nothing in the program ever creates a class2.  And if the user is doing
something funny, there's the -femit-class-debug-always flag.

In this case, we aren't omitting debug info for class2 because it's unused,
we're omitting it because we know we'll emit it elsewhere.

I think adding the -femit-class-debug-always flag to the testcase is the
correct fix for the testsuite failure; changing the compiler to emit debug
information more frequently would create a regression in debug info size.


-- 

jason at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2008-10-15 18:30 ` jason at gcc dot gnu dot org
@ 2008-10-15 19:38 ` dodji at gcc dot gnu dot org
  2008-10-15 20:22 ` mmitchel at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: dodji at gcc dot gnu dot org @ 2008-10-15 19:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from dodji at gcc dot gnu dot org  2008-10-15 19:36 -------
@jason: Thanks for you comment.

I am adding Mark in CC to the bug so that we can close the bug in WONTFIX
eventually, it you both agree :-)


-- 

dodji at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark at codesourcery dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2008-10-15 19:38 ` dodji at gcc dot gnu dot org
@ 2008-10-15 20:22 ` mmitchel at gcc dot gnu dot org
  2008-10-15 22:24 ` jason at redhat dot com
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2008-10-15 20:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from mmitchel at gcc dot gnu dot org  2008-10-15 20:20 -------
The comment in the test says:

/* Make sure we didn't eliminate casted types because we thought they were      
   unused.  */

If we don't want to do that any more, I think we can just remove this test,
rather than passing it special options.

But, I think it's odd if I'm in the debugger, looking at code that says:

  return (X*)y;

if I can't say "print (X*)y".

If the type is coming from a library, we may not ever create objects of this
type.

Finally, we use vast amounts of space in object files for debug info, since we
emit the same debug info in multiple object files.  Trying to optimize by not
emitting debug info in this case doesn't seem likely to be a big win given our
overall strategy.  I don't have any data to support that claim, though.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2008-10-15 20:22 ` mmitchel at gcc dot gnu dot org
@ 2008-10-15 22:24 ` jason at redhat dot com
  2008-10-15 22:52 ` mark at codesourcery dot com
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jason at redhat dot com @ 2008-10-15 22:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from jason at redhat dot com  2008-10-15 22:23 -------
Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
  requires -femit-class-debug-always

mmitchel at gcc dot gnu dot org wrote:
> /* Make sure we didn't eliminate casted types because we thought they were      
>    unused.  */

Yes, my point was that the reason we omit the debug info in this case is 
not that we think the type is unused, it's that even though we know it 
is used, we expect it to be emitted elsewhere.

> But, I think it's odd if I'm in the debugger, looking at code that says:
> 
>   return (X*)y;
> 
> if I can't say "print (X*)y".
> 
> If the type is coming from a library, we may not ever create objects of this
> type.

If the Xes are created in the library, the library should have the debug 
info we need.

I can't imagine a use for a statement like that in a program that 
doesn't have a definition of the vtable for X.  If no X has ever been 
created, then doing anything interesting with the X* will have undefined 
behavior, because it couldn't possibly point to an X.

> Finally, we use vast amounts of space in object files for debug info, since we
> emit the same debug info in multiple object files.  Trying to optimize by not
> emitting debug info in this case doesn't seem likely to be a big win given our
> overall strategy.  I don't have any data to support that claim, though.

I'm not sure what overall strategy you mean.  We try to avoid emitting 
the same info in multiple places when possible: we try to treat the 
debug info for classes as another vague linkage entity and put it with 
the vtable.  Unfortunately, it isn't yet possible to use linkonce for 
debug info because of GDB limitations, so our opportunities for 
optimization are limited.

Jason


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2008-10-15 22:24 ` jason at redhat dot com
@ 2008-10-15 22:52 ` mark at codesourcery dot com
  2008-10-16 18:41 ` jason at redhat dot com
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: mark at codesourcery dot com @ 2008-10-15 22:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from mark at codesourcery dot com  2008-10-15 22:51 -------
Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
  requires -femit-class-debug-always

jason at redhat dot com wrote:

>> But, I think it's odd if I'm in the debugger, looking at code that says:
>>
>>   return (X*)y;
>>
>> if I can't say "print (X*)y".
>>
>> If the type is coming from a library, we may not ever create objects of this
>> type.
> 
> If the Xes are created in the library, the library should have the debug 
> info we need.

That assumes a friendly library distributor. :-)

The library is provided to us in binary form and stripped, and if it
does have debug info it might not have come from GCC.  But, if it's
declared in a header, we can still provide debug info.

>> Finally, we use vast amounts of space in object files for debug info, since we
>> emit the same debug info in multiple object files.  Trying to optimize by not
>> emitting debug info in this case doesn't seem likely to be a big win given our
>> overall strategy.  I don't have any data to support that claim, though.
> 
> I'm not sure what overall strategy you mean.  We try to avoid emitting 
> the same info in multiple places when possible: we try to treat the 
> debug info for classes as another vague linkage entity and put it with 
> the vtable.

OK, my statement was overly strong.  I was thinking particularly of C++
templates, where the vague linkage strategy makes for lots of copies,
both in the object files, and, because we don't use COMDAT, in the final
binaries.  In that kind of C++ code, this optimization doesn't save a
significant percentage of space.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2008-10-15 22:52 ` mark at codesourcery dot com
@ 2008-10-16 18:41 ` jason at redhat dot com
  2008-10-16 20:38 ` mark at codesourcery dot com
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jason at redhat dot com @ 2008-10-16 18:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from jason at redhat dot com  2008-10-16 18:40 -------
Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
  requires -femit-class-debug-always

mark at codesourcery dot com wrote:
> The library is provided to us in binary form and stripped, and if it
> does have debug info it might not have come from GCC.  But, if it's
> declared in a header, we can still provide debug info.

In which case we need to specify -femit-class-debug-always, yes.

> OK, my statement was overly strong.  I was thinking particularly of C++
> templates, where the vague linkage strategy makes for lots of copies,
> both in the object files, and, because we don't use COMDAT, in the final
> binaries.  In that kind of C++ code, this optimization doesn't save a
> significant percentage of space.

I wouldn't expect it to make a big difference with heavily templated 
code, no.

It seems to me that you're arguing that -femit-class-debug-always should 
go back to being on by default; its only effect is to control this exact 
optimization.  But the documentation says

--
This option
should be used only with debuggers that are unable to handle the way GCC
normally emits debugging information for classes because using this
option will increase the size of debugging information by as much as a
factor of two.
--

Does anyone have some recent numbers?

Jason


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2008-10-16 18:41 ` jason at redhat dot com
@ 2008-10-16 20:38 ` mark at codesourcery dot com
  2008-10-20 10:21 ` dodji at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: mark at codesourcery dot com @ 2008-10-16 20:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from mark at codesourcery dot com  2008-10-16 20:37 -------
Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
  requires -femit-class-debug-always

jason at redhat dot com wrote:

> It seems to me that you're arguing that -femit-class-debug-always should 
> go back to being on by default; its only effect is to control this exact 
> optimization.

If that's the only effect, then, yes, I guess that's what I'm arguing.

> Does anyone have some recent numbers?

That would certainly be helpful.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2008-10-16 20:38 ` mark at codesourcery dot com
@ 2008-10-20 10:21 ` dodji at gcc dot gnu dot org
  2008-10-20 19:03 ` jason at redhat dot com
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: dodji at gcc dot gnu dot org @ 2008-10-20 10:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from dodji at gcc dot gnu dot org  2008-10-20 10:20 -------
So what do we do with this PR ? Do we mark it with "waiting for feeback" until
someone comes up with numbers about debug info size ?.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2008-10-20 10:21 ` dodji at gcc dot gnu dot org
@ 2008-10-20 19:03 ` jason at redhat dot com
  2008-10-20 19:04 ` jason at redhat dot com
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jason at redhat dot com @ 2008-10-20 19:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from jason at redhat dot com  2008-10-20 19:01 -------
Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
  requires -femit-class-debug-always

Could you (Dodji) try building libstdc++ with -femit-class-debug-always, 
and see how much it affects the size of the library?

Jason


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2008-10-20 19:03 ` jason at redhat dot com
@ 2008-10-20 19:04 ` jason at redhat dot com
  2008-10-21 10:16 ` dodji at seketeli dot org
  2008-10-24 10:58 ` dodji at seketeli dot org
  16 siblings, 0 replies; 18+ messages in thread
From: jason at redhat dot com @ 2008-10-20 19:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from jason at redhat dot com  2008-10-20 19:02 -------
Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
  requires -femit-class-debug-always

Building Firefox or OpenOffice with/without the flag would also be a 
good test.

Jason


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2008-10-20 19:04 ` jason at redhat dot com
@ 2008-10-21 10:16 ` dodji at seketeli dot org
  2008-10-24 10:58 ` dodji at seketeli dot org
  16 siblings, 0 replies; 18+ messages in thread
From: dodji at seketeli dot org @ 2008-10-21 10:16 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 572 bytes --]



------- Comment #15 from dodji at seketeli dot org  2008-10-21 10:15 -------
Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
  requires -femit-class-debug-always

jason at redhat dot com a écrit :
> ------- Comment #14 from jason at redhat dot com  2008-10-20 19:02 -------
> Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
>   requires -femit-class-debug-always
> 
> Building Firefox or OpenOffice with/without the flag would also be a 
> good test.

Sure, I will do that.

Dodji.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug debug/33429] debug info for class2 in g++.dg/other/unused1.C  requires -femit-class-debug-always
  2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2008-10-21 10:16 ` dodji at seketeli dot org
@ 2008-10-24 10:58 ` dodji at seketeli dot org
  16 siblings, 0 replies; 18+ messages in thread
From: dodji at seketeli dot org @ 2008-10-24 10:58 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1637 bytes --]



------- Comment #16 from dodji at seketeli dot org  2008-10-24 10:56 -------
Subject: Re:  debug info for class2 in g++.dg/other/unused1.C
  requires -femit-class-debug-always

jason at redhat dot com a écrit :
> Could you (Dodji) try building libstdc++ with -femit-class-debug-always, 
> and see how much it affects the size of the library?

So, I built libstdc++, nemiver, mozilla and openoffice with and without 
the -femit-class-debug-always. I both cases, I did build those programs 
with -g, obviously.

Below are the results of the measurements I did. The debug-info size is 
actually the total size of the elf sections which names are .debug*, 
summed up across all the binaries of a given software.
For a point of comparison, I did also measure the size of .text+data+bss 
segment for both cases.

I hope this helps.

Dodji.

=~=
Nemiver
========
[compact]
debug-info: 43686650
text+data+bss: 13403553

[emit-class-debug-always]
debug-info: 61978858
text+data+bss: 13403793

% increase of debug info size: 42%

libstdc++
=========
[compact]
debug-info: 6474724
text+data+bss: 1282176

[emit-class-debug-always]
debug-info: 6998035
text+data+bss: 1282176

% increase of debug info size: 8%

Mozilla
========
[compact]
debug-info: 882264540
text+data+bss: 60055643

[emit-class-debug-always]
debug-info: 975240699
text+data+bss: 60055739

% increase debug info size: 10,5%

OpenOffice
==========

[compact]
debug-info: 961663753
text+data+bss: 442286732

[emit-class-debug-always]
debug-info: 1010668556
text+data+bss: 442568161

% increase of debug info size: 5%
=~=


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33429


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2008-10-24 10:58 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-14  6:25 [Bug debug/33429] New: debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always hp at gcc dot gnu dot org
2007-09-14  6:33 ` [Bug debug/33429] " hp at gcc dot gnu dot org
2007-09-14  6:48 ` hp at gcc dot gnu dot org
2007-09-14 16:33 ` pinskia at gcc dot gnu dot org
2007-09-15 18:39 ` danglin at gcc dot gnu dot org
2007-10-01 15:09 ` rguenth at gcc dot gnu dot org
2008-10-15 18:30 ` jason at gcc dot gnu dot org
2008-10-15 19:38 ` dodji at gcc dot gnu dot org
2008-10-15 20:22 ` mmitchel at gcc dot gnu dot org
2008-10-15 22:24 ` jason at redhat dot com
2008-10-15 22:52 ` mark at codesourcery dot com
2008-10-16 18:41 ` jason at redhat dot com
2008-10-16 20:38 ` mark at codesourcery dot com
2008-10-20 10:21 ` dodji at gcc dot gnu dot org
2008-10-20 19:03 ` jason at redhat dot com
2008-10-20 19:04 ` jason at redhat dot com
2008-10-21 10:16 ` dodji at seketeli dot org
2008-10-24 10:58 ` dodji at seketeli dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).