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

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue Apr 24 22:37:34 UTC 2012


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/build-dev/attachments/20120424/2ca61329/attachment.html>


More information about the build-dev mailing list