Linux fastdebug build with debug info
David Holmes - Sun Microsystems
David.Holmes at Sun.COM
Mon May 25 04:36:08 PDT 2009
Compare -g with -gstabs. With a particular VM version is see 146MB vs
24MB for the debug library.
We use -g for the 64-bit VM by default, but not for 32-bit.
Based on those figures oyu gave it looks like we build with debugging
info at the gcc-level for the product libs as well.
Anyway seems like something that should be settable externally as the
Volker Simonis said the following on 05/25/09 21:07:
> On 5/21/09, Erik Trimble <Erik.Trimble at sun.com> wrote:
>> David Holmes - Sun Microsystems wrote:
>>> Hiroshi Yamauchi said the following on 05/21/09 03:58:
>>>> Nice talking to you after a while!
>>> Likewise! Small world :)
>>>> Is there a history about the Linux fastdebug build not having -g or
>>> The history is that it's never been present and no-one seems to have
>> noticed/complained! :) The Solaris fastdebug.make was modified way back in
>> mid 2000.
>>> I've filed: 6843665 in our internal bug system.
>> I'm not 100% sure of the difference between our 'fastdebug' and out 'debug'
>> builds, but one thing I do know: Linux_x64-debug isn't currently done due
>> to _really_ excessive size on the symbol tables and associated output
>> libary. IIRC, libjvm.so ends up being 1GB+ in size if we do a 'debug' build
>> on linux 64-bit (this was particularly noticable on IA64 [itanium], but is
>> also pronounced on x86_64).
> I think these are really old numbers. Building the Java 6 server VM
> with gcc 4.1 on Linux results in the following sizes of libjvm.so for
> FASTDEBUG with -g -O3 : 141M
> PRODUCT with -g -O3: 182M
> FASTDEBUG with -g -O3 : 153M
> PRODUCT with -g -O3: 192M
> FASTDEBUG with -g -O3 : 224M
> PRODUCT with -g -O3: 262M
> I can only guess that the PRODUCT builds are bigger because of the
> excessive inlineing with O3.
> I also think the comments in the Makefile which recommend the usage of
> "-gstabs" are very old and outdated by newer versions of gcc. Using
> "-g" for a fastdebug build should be ok and the default from my point
> of view.
>> This may or may not have anything to do with the lack of -g being present
>> in the makefiles. But, I thought you should know.
>> Erik Trimble
>> Java System Support
>> Mailstop: usca22-123
>> Phone: x17195
>> Santa Clara, CA
>> Timezone: US/Pacific (GMT-0800)
More information about the hotspot-dev