RFR: 8065656: Use DWARF debug symbols for Solaris
Daniel D. Daugherty
daniel.daugherty at oracle.com
Fri Nov 21 16:14:06 UTC 2014
> http://cr.openjdk.java.net/~ehelin/8065656/webrev.00/
make/solaris/makefiles/gcc.make
No comments.
make/solaris/makefiles/sparcWorks.make
No comments.
Thumbs up!
Dan
On 11/21/14 8:30 AM, Erik Helin 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