[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: code review request for Full Debug Symbols Revamp (7102323, 7136506)
From: daniel.daugherty () oracle ! com (Daniel D ! Daugherty)
Date: 2012-04-24 22:37:34
Message-ID: 4F972B2E.5080500 () oracle ! com
[Download RAW message or body]
Greetings,
At long last, I can finally push the following two bug fixes
to http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot (RT_Baseline):
7102323 4/4 RFE: enable Full Debug Symbols Phase 1 on Solaris
7158067 4/4 FDS: ENABLE_FULL_DEBUG_SYMBOLS flag should only affect
product builds
With this push, FDS will be enabled for Linux X86, Linux X64, Solaris
SPARC, Solaris SPARC-V9, Solaris X86, Windows-X86 and Windows-X64.
FDS on Windows has been enabled since JDK1.4.1.
FDS on Linux has been enabled since JDK8-B08/HSX-23-B01.
FDS on Solaris should be enabled in JDK8-37/HSX-24-B09 if all
goes according to plan.
FDS is not enabled for Solaris X64 and MacOS X (yet).
Dan
On 3/17/12 7:29 PM, Daniel D. Daugherty wrote:
> Thanks for the review. Replies embedded below...
>
>
> > Dan,
> >
> > I've reviewed this:
> > http://cr.openjdk.java.net/~dcubed/fds_revamp/7102323-webrev/1-hotspot-full/
> >
> >
> >
> >
> > Wow, you fixed two existing bugs in the make file:
> >
> > *make/solaris/makefiles/dtrace.make
> >
> > *
> > - [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DB_DEBUGINFO) \
> > $(XLIBJVM_DB_G_DEBUGINFO); } + [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s \
> > $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO); }
> > - [ -f $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s \
> > $(LIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO); } + [ -f \
> > $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DTRACE_DEBUGINFO) \
> > $(XLIBJVM_DTRACE_G_DEBUGINFO); }
>
> Yup! I called that out in the 'hotspot' repo change summary:
>
> > - On Solaris, also fixes an incorrect 64-bit libjvm_db_g symlink
> > and an incorrect 64-bit libjvm_dtrace_g symlink
>
> However, right after these changes go in, I'll be removing all
> the '_g' support via:
>
> 7153050 4/4 remove crufty '_g' support from HotSpot repo
>
>
> >
> > Wrong indent:
> >
> > *make/solaris/makefiles/defs.make*
> > 221 ifeq ($(ZIP_DEBUGINFO_FILES),1)
> > 222 EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
> > 223 else
>
> Nicely spotted! I'll fix that.
>
>
> >
> > Question: Just curious why the $(ALT_STRIP_POLICY) is decommissioned?
> >
> > *make/linux/makefiles/defs.make*
> > * make/solaris/makefiles/defs.make*
> > - DEF_STRIP_POLICY="min_strip"
> > - ifeq ($(ALT_STRIP_POLICY),)
> > - STRIP_POLICY=$(DEF_STRIP_POLICY)
> > - else
> > - STRIP_POLICY=$(ALT_STRIP_POLICY)
> > - endif
> > + # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
> > + #
> > + STRIP_POLICY ?= min_strip
>
> I figured out a different way to do it. If you invoke like so:
>
> gnumake STRIP_POLICY=no_strip ...
>
> then that works. Also, when I looked around ALT_* variables tend
> to be used with paths.
>
>
>
> > The fix is good in general.
>
> Thanks!
>
> Dan
>
>
> >
> > Thanks,
> > Serguei
> >
> >
> >
> > On 3/16/12 12:58 PM, Daniel D. Daugherty wrote:
> > > 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
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20120424/2ca61329/attachment.html \
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic