RFR: 8236488: Support for configure option --with-native-debug-symbols=internal is impossible on Windows

Erik Joelsson erik.joelsson at oracle.com
Thu Jan 2 08:09:01 UTC 2020


Hello Christoph,

I think the change makes sense and follows the established behavior on 
AIX for invalid settings.

In GtestImage.gmk, instead of repeating the SetupCopy call, you can do 
something like this:

41 $(foreach v, $(JVM_VARIANTS), \
42 $(eval $(call SetupCopyFiles, COPY_GTEST_MSVCR_$v, \
43 DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
44 FILES := $(MSVCR_DLL) $(MSVCP_DLL), \
45 FLATTEN := true, \
46 )) \
47 $(eval TARGETS += $$(COPY_GTEST_MSVCR_$v)) \
          $(if $(call equals, $(COPY_DEBUG_SYMBOLS), true), \
   48 $(eval $(call SetupCopyFiles, COPY_GTEST_PDB_$v, \
49 SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \
50 DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
51 FILES := jvm.pdb gtestLauncher.pdb, \
52 )) \   53 $(eval TARGETS += $$(COPY_GTEST_PDB_$v)) \
) \ 54 )

Otherwise this looks good.

/Erik

On 2019-12-23 00:24, Langer, Christoph wrote:
> Hi,
>
> please review the following change as a follow up to an earlier discussion here: http://mail.openjdk.java.net/pipermail/build-dev/2019-December/026408.html
>
> On Windows it's not possible to support configure option "--with-native-debug-symbols=internal" in a way that one would expect. E.g. native debug information should be part of the binaries while on Windows it's only possible to have the debug information in external .pdb files. So it seems natural to reject "--with-native-debug-symbols=internal" on Windows.
>
> In my proposed patch I change this, together with some minor correction for AIX and a little cleanup. I also repair a build error that would currently happen in gtest image if one is to build target 'images' on Windows while having set "--with-native-debug-symbols=internal". Note that this path could not be taken any more, though. I only added this for completeness since I ran over it during my experiments.
>
> An alternative to rejecting "--with-native-debug-symbols=internal" would be to implicitly convert it to "--with-native-debug-symbols=external" but I think it is better if the user gets the feedback that the option he intended to use won't work.
>
> Webrev: http://cr.openjdk.java.net/~clanger/webrevs/8236488.0/
> Bug: https://bugs.openjdk.java.net/browse/JDK-8236488
>
> Thanks
> Christoph
>



More information about the build-dev mailing list