code review request for Full Debug Symbols Revamp (7102323, 7136506) (original) (raw)

Daniel D. Daugherty daniel.daugherty at oracle.com
Fri Mar 16 19:58:30 UTC 2012


Greetings,

I need code reviews for some Makefile and packaging changes. Wait, come back! They're not that scary...

These are Full Debug Symbols changes... so maybe they are that scary...

These changes have gone through two rounds of internal review.

The following bugs are being used to revamp the OpenJDK side of the Full Debug Symbols (FDS) implementation:

 7102323 4/4 RFE: enable Full Debug Symbols Phase 1 on Solaris
 7136506 3/4 FDS: rework jdk repo Full Debug Symbols support

FDS Revamp Summary

 The build infrastructure that supports the Full Debug Symbols (FDS)
 project is being revamped to reduce the default on-disk footprint
 along with other improvements. FDS info will have to be unzip'ed
 before being usable in the default build config, but the zip'ed FDS
 info occupies about 25% of the disk space as the original FDS info.

 Change summary for the group of fixes:
 - ENABLE_FULL_DEBUG_SYMBOLS build flag controls the Full Debug
   Symbols feature; enabled by default (ENABLE_FULL_DEBUG_SYMBOLS=1)
 - ZIP_DEBUGINFO_FILES build flag controls the zip'ing of "debug info"
   during the build; enabled by default (ZIP_DEBUGINFO_FILES=1).
 - FDS is enabled by default for Linux X86/X64, Solaris SPARC/SPARC-V9,
   Solaris X86, and Windows X86/X64.
 - HSX developer builds will put debug info into .diz files that are
   co-located with the built object, e.g., there will be a libjvm.diz
   file right next to libjvm.so.
 - HSX JPRT jobs will also contain .diz files co-located with the built
   objects
 - RE promoted bits will include new debuginfo.zip bundles that contain
   all the .debuginfo, .diz, .map and/or .pdb files generated by the
   various repos that make up the RE promotion.

 Notes: FDS is not enabled on Solaris X64 due to a bug in gobjcopy.
        FDS has not yet been implemented on MacOS X.

Just like the original FDS changes, the FDS Revamp changes are in multiple repos:

'hotspot' repo change summary:

 - add support for exporting .diz (Debug Info Zip) files
 - add support for ENABLE_FULL_DEBUG_SYMBOLS build flag
   (replaces overloaded uses of OBJCOPY variable)
 - add support for ZIP_DEBUGINFO_FILES build flag
 - clean up STRIP_POLICY on Linux and Solaris
 - On Solaris, also fixes an incorrect 64-bit libjvm_db_g symlink
   and an incorrect 64-bit libjvm_dtrace_g symlink
 - The Full Debug Symbols feature is now controllable via
   ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES on Windows.
 - On Windows, fixed a few hardcoded "sawindbg" uses

'hotspot' repo webrev:

http://cr.openjdk.java.net/~dcubed/fds_revamp/7102323-webrev/1-hotspot-full/

 The HotSpot changes are relative to the HSX-24-B03 snapshot plus
 one additional fix and are targeted at JDK8-B33/HSX-24-B06.

'jdk' repo change summary:

 - add support for importing .diz (Debug Info Zip) files
 - add support for ENABLE_FULL_DEBUG_SYMBOLS build flag
 - add support for ZIP_DEBUGINFO_FILES build flag
 - clean up STRIP_POLICY on Linux and Solaris
 - LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS is only needed in
   FDS Phase 2 so just a comment for now
 - JPRT needs to use the '-y' option with zip on non-Windows
   builds of the jdk repo in order to preserve symbolic links

'jdk' repo webrev:

http://cr.openjdk.java.net/~dcubed/fds_revamp/7136506-webrev/1-jdk-full/

 The JDK changes are relative to the T&L snapshot for JDK8-B30
 and are targeted at JDK8-B33.

'root' repo change summary:

 - JPRT needs to use the '-y' option with zip on non-Windows
   control builds in order to preserve symbolic links

'root' repo webrev:

http://cr.openjdk.java.net/~dcubed/fds_revamp/7136506-webrev/1-root-full/

 The root changes are relative to the T&L snapshot for JDK8-B30
 and are targeted at JDK8-B33.

Thanks, in advance, for any review comments.

Dan



More information about the build-dev mailing list