RFR: 8033580: Old debug information in IMPORT_JDK is not removed

Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Feb 12 15:40:51 PST 2014


 > http://cr.openjdk.java.net/~ehelin/8033580/webrev.00/

make/Makefile
     277   ifeq ($(ZIP_DEBUGINFO_FILES),1)
     278     ifeq ($(OSNAME), windows)
     279           $(RM) -f $(EXPORT_SERVER_DIR)/jvm.map 
$(EXPORT_SERVER_DIR)/jvm.pdb
     280     else
     281           $(RM) -f $(EXPORT_SERVER_DIR)/libjvm.debuginfo
     282     endif

     On MacOS X, the debuginfo will be in libjvm.dylib.dSYM so
     you'll need a MacOS X specific rule. You don't need an
     update for the JVM_VARIANT_CLIENT version because MacOS X
     doesn't support the Client VM, but if it did...

So the above change handles libjvm, but what about the
other libraries exported by HotSpot? libjsig, libjvm_db,
and libjvm_dtrace come to mind...

Dan


On 2/12/14 8:03 AM, Erik Helin wrote:
> Hi all,
>
> this patch changes how old debug information copied from IMPORT_JDK is 
> treated.
>
> When running the copy_*_jdk target, HotSpot's makefiles copies the 
> entire IMPORT_JDK folder, including additional files (such as unzipped 
> debug information). The export_*_jdk targets will then, via the 
> generic_export target, copy the build artifacts via implicit rules to 
> the correct destination in hotspot/build/JDK_IMAGE_DIR.
>
> The bug arises when IMPORT_JDK contains unzipped debug info 
> (libjvm.debuginfo) and the make target produces zipped debug info 
> (libjvm.diz), or vice versa. hotspot/build/JDK_IMAGE_DIR will then 
> contain both libjvm.debuginfo and libjvm.diz, but only one of them 
> will match libjvm.so.
>
> Finally, the JPRT make targets jprt_build_* just zips 
> hotspot/build/$(JDK_IMAGE_DIR). The zipped JPRT bundle will end up 
> having different zipped and unzipped debug info, since the IMPORT_JDK 
> in JPRT contains libjvm.debuginfo and we build libjvm.diz by default.
>
> This patch removes the debug info that we did *not* build. If we build 
> libjvm.diz, then libjvm.debuginfo will be removed (if it exists). 
> Correspondingly, if we build libjvm.debuginfo, then libjvm.diz will be 
> removed (if it exists).
>
> Patch:
> http://cr.openjdk.java.net/~ehelin/8033580/webrev.00/
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8033580
>
> Testing:
> - Building in JPRT
> - Building Linux 32-bit locally on a Linux 64-bit machine
> - Building Linux 64-bit locally on a Linux 64-bit machine
>
> For all of the above, verify that only the correct debug info is 
> present in the output.
>
> Thanks,
> Erik



More information about the hotspot-dev mailing list