RFR: 8033580: Old debug information in IMPORT_JDK is not removed (original) (raw)

Erik Helin erik.helin at oracle.com
Thu Feb 13 12:59:04 PST 2014


Hi Dan,

thanks for reviewing! See my replies inline.

On 02/13/2014 12:40 AM, Daniel D. Daugherty wrote:

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

make/Makefile 277 ifeq ($(ZIPDEBUGINFOFILES),1) 278 ifeq ($(OSNAME), windows) 279 (RM)−f(RM) -f (RM)f(EXPORTSERVERDIR)/jvm.map $(EXPORTSERVERDIR)/jvm.pdb 280 else 281 (RM)−f(RM) -f (RM)f(EXPORTSERVERDIR)/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 JVMVARIANTCLIENT version because MacOS X doesn't support the Client VM, but if it did...

Thanks for catching this! I've uploaded a new webrev at: http://cr.openjdk.java.net/~ehelin/8033580/webrev.01/

The same testing was done as for the first patch.

On 02/13/2014 12:40 AM, Daniel D. Daugherty wrote:

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

As we discussed, I would like to implement this for libjvm first and then take care of the other libraries in a separate patch.

Thanks, Erik

Dan

On 2/12/14 8:03 AM, Erik Helin wrote: Hi all,

this patch changes how old debug information copied from IMPORTJDK is treated. When running the copy*jdk target, HotSpot's makefiles copies the entire IMPORTJDK folder, including additional files (such as unzipped debug information). The export*jdk targets will then, via the genericexport target, copy the build artifacts via implicit rules to the correct destination in hotspot/build/JDKIMAGEDIR. The bug arises when IMPORTJDK contains unzipped debug info (libjvm.debuginfo) and the make target produces zipped debug info (libjvm.diz), or vice versa. hotspot/build/JDKIMAGEDIR will then contain both libjvm.debuginfo and libjvm.diz, but only one of them will match libjvm.so. Finally, the JPRT make targets jprtbuild* just zips hotspot/build/$(JDKIMAGEDIR). The zipped JPRT bundle will end up having different zipped and unzipped debug info, since the IMPORTJDK 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