RFR: 8065656: Use DWARF debug symbols for Solaris

Srinivas Ramakrishna ysr1729 at gmail.com
Fri Nov 21 21:42:23 UTC 2014


What does Peter think? For those too young to remember, Peter invented stabs way back when he was a young grad student at Berkeley :-)
It has given admirable service, like so much else he has touched!

-- Ramki

ysr1729

> On Nov 21, 2014, at 08:30, charlie hunt <charlie.hunt at oracle.com> wrote:
> 
> Looks good, though I am not an official (R)eviewer.
> 
> Charlie
> 
>> On Nov 21, 2014, at 9:30 AM, Erik Helin <erik.helin at oracle.com> wrote:
>> 
>> Hi all,
>> 
>> this patch changes the debug symbols format on Solaris from STABS
>> [0] to DWARF [1] for libjvm.so. Since the supported compiler on Solaris
>> has been updated to Oracle Solaris Studio 12.3 [2], the STABS debug format
>> is now deprecated in the supported compiler [3]:
>> 
>> -xdebugformat=stabs generates debugging information
>> using the stabs standard format. The stabs format is no
>> longer supported.
>> 
>> Furthermore, in Oracle Solaris Studio 12.4, the release notes says [4]:
>> 
>> The –xdebugformat=stabs for all compilers might be removed in a future
>> release. The only debugger format option will be –xdebugformat=dwarf,
>> which is currently the default.
>> 
>> So, it seems to be a good time to change the debug format to DWARF when
>> compiling with Oracle Solaris Studio. I also changed the debug format for
>> GCC on Solaris to be DWARF, since the STABS support in GCC is in
>> maintenance mode [5].
>> 
>> More reasons for using DWARF instead of STABS are:
>> - Better support by Oracle Studio Performance Analyzer (the performance
>> team have requested that we use DWARF v2 or later instead of STABS).
>> - DWARF provides a better debugging experience for C++ compared to STABS.
>> 
>> The one drawback of using DWARF compared to STABS is that the size of the
>> debuginfo increases. For a SPARC fastdebug build the size of
>> libjvm.debuginfo built with STABS is 782 MB and with DWARF 1002 MB.
>> 
>> To summarize, we need to change from STABS to DWARF because STABS is
>> deprecated in 12.3 (even "more" deprecated 12.4 given the wording in the
>> release notes). I would suggest to change sooner rather than later, given
>> that the change to DWARF also brings Oracle Studio Performance Analyzer
>> support as well as a better C++ debugging experience in dbx.
>> 
>> Webrev:
>> http://cr.openjdk.java.net/~ehelin/8065656/webrev.00/
>> 
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8065656
>> 
>> Testing:
>> - Compiled with Oracle Solaris Studio 12.3 on both Solaris 11.1 on SPARC
>> and Solaris 11.1 on x86-64 using JPRT.
>> - Verified that DWARF v2 symbols are produced with objdump.
>> 
>> Thanks,
>> Erik
>> 
>> [0]: http://www.sourceware.org/gdb/onlinedocs/stabs.html
>> [1]: http://www.dwarfstd.org/
>> [2]: http://mail.openjdk.java.net/pipermail/jdk9-dev/2014-October/001489.html
>> [3]: https://docs.oracle.com/cd/E24457_01/html/E22003/cplusplus.1.html
>> [4]: https://docs.oracle.com/cd/E37069_01/html/E37070/gnxfn.html
>> [5]: https://sourceware.org/ml/binutils/2013-01/msg00028.html



More information about the build-dev mailing list