On 30/11/11 21:34, Tom Tromey wrote:
"Stephan" == Stephan Bergmann <sbergman@redhat.com> writes:
Stephan> On 11/30/2011 05:37 PM, Lionel Elie Mamane wrote:
Any opinion about this patch? I have it in my local repo, and it helps
me when running under gdb, as gdb now knows about macros!
Stephan> Would -ggdb3 excessively increase object size compared to -ggdb2?
The short answer is yes, but there is a more complicated answer.
First, one must consider the tradeoffs. I always use -g3 when building
gdb, because gdb uses macros fairly heavily, and because I just don't
care about the extra space. I prefer the convenience. YMMV of course,
and I don't know enough about LibreOffice to offer an opinion.
an interesting data point:
LO tree built with gcc 4.6.2 -g takes up 23G.
extrapolating from Lubos' mail that -ggdb3 takes 4 times as much space
the problem should be obvious :-/
my vague memory says without debug it's something like 8G, the
sources+repo ~2G.
In a recent-enough GCC (I don't know if it made 4.6, but anyway I think
it is in Fedora 16), there is a GNU extension to how macro information
is represented. This extension greatly reduces the size of the macro
information.
If you really want to shrink debuginfo, use -gdwarf-4 and
-fdebug-types-section. The former has been in GCC for a while, I don't
remember when the latter was added. These options cause debuginfo for
most big types to be shared across compilation units, a huge size win.
This also makes gdb use less memory.
that sounds very useful, especially the "gdb using less memory" bit; i
assume it ought to start faster then as well.
still i'm not sure if it would get us to the point where -ggdb3 is
usable for the whole LO: if i understand correctly -fdebug-types-section
would only affect the size of libraries, not of objects;
for the sw module i currently have 767M of objects and 240M of libs.
The downside of this feature is that not all tools have been upgraded to
understand it. gdb works fine, but the 7 dwarves, and systemtap, and I
think valgrind, will barf. They will all come around eventually, though
I am not sure when.
Tom
so i guess we should wait until valgrind understands this feature too
before enabling it.
thanks for keeping us up to date,
michael
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.