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