RFR: 8065656: Use DWARF debug symbols for Solaris
Srinivas Ramakrishna
ysr1729 at gmail.com
Fri Nov 21 21:47:13 UTC 2014
Peter's email id corrected, this time...
ysr1729
> On Nov 21, 2014, at 13:42, Srinivas Ramakrishna <ysr1729 at gmail.com> wrote:
>
>
> 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