code review round 0 for Full Debug Symbols on MacOS X hotspot (7165611)

Vadim Pakhnushev vadim.pakhnushev at oracle.com
Mon Sep 30 07:12:09 PDT 2013


BTW, I have the same issue on windows:
make[2]: *** No rule to make target 
`/cygdrive/c/Vadim/jdk8_2d/build/windows-x86-normal-server-release/jdk/bin/verify.map', 
needed by `all'.  Stop.

I think it can be fixed by this:

diff -r d4762f463fe0 common/makefiles/NativeCompilation.gmk
--- a/common/makefiles/NativeCompilation.gmk    Thu Sep 19 09:36:42 2013 
-0700
+++ b/common/makefiles/NativeCompilation.gmk    Mon Sep 30 18:08:57 2013 
+0400
@@ -473,10 +473,7 @@
                  && $(ZIP) -q $$@ 
$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
                      endif
                  else
-                    ifeq ($(OPENJDK_TARGET_OS), windows)
-                        $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
-                  $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
-                    else
+                    ifneq ($(OPENJDK_TARGET_OS), windows)
                          $1 += 
$$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
                      endif
                  endif


Does that look ok?
Thanks,
Vadim

On 30.09.2013 17:44, Daniel D. Daugherty wrote:
> On 9/30/13 7:13 AM, Staffan Larsen wrote:
>> First: thanks for doing this work - it will make debugging on os x so 
>> much easier!
>
> That's the plan...
>
>
>> I'm not done with the review, but here are a couple of comments so far.
>>
>> I tried running with:
>>
>> $ sh ./configure --with-debug-level=slowdebug --disable-zip-debug-info
>> $ make
>>
>> which results in:
>>
>> ## Starting hotspot
>> ...
>> make[5]: *** No rule to make target 
>> `/Users/staffan/mercurial/hotspot-rt-jdk/build/macosx-x86_64-normal-server-slowdebug/hotspot/dist/jre/lib/amd64/libjsig.dylib.dSYM', 
>> needed by `generic_export'.  Stop.
>> make[4]: *** [export_debug] Error 2
>> make[3]: *** [all_debug_universal] Error 2
>> make[2]: *** [universal_debug] Error 2
>> ...
>
> I'm presuming that you're trying with a forest that includes
> closed repos. If so, then you'll need the jdk/make/closed change
> in order for the build to work.
>
>
>> Another comment: There are some makefile logic for BSD, non-darwin 
>> platforms. Have you had a chance to test this logic? 
>> (hotspot/make/bsd/makefiles/vm.make)
>
> No, I don't have access to a BSD (non-darwin) platform. However, I'll
> be pinging Dmitri Samersoff to ask a few questions...
>
>
>> Nit: hotspot/make/bsd/makefiles/vm.make: L345, L356: wrong indentation.
>
> These are make cmd lines:
>
>  344   else
>  345         $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ 
> $(LIBJVM_DEBUGINFO)
>  346         $(QUIETLY) $(OBJCOPY) 
> --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
>  347     ifeq ($(STRIP_POLICY),all_strip)
>
> so they have to be indented by a tab. Very ugly, but necessary.
>
> Dan
>
>
>>
>>
>> /Staffan
>>
>>
>>
>> On 21 sep 2013, at 05:36, Daniel D. Daugherty 
>> <daniel.daugherty at oracle.com> wrote:
>>
>>> Greetings,
>>>
>>> I have the initial support for Full Debug Symbols (FDS) on MacOS X done
>>> and ready for review:
>>>
>>>     7165611 implement Full Debug Symbols on MacOS X hotspot
>>>     https://bugs.openjdk.java.net/browse/JDK-7165611
>>>
>>> Here is the JDK8/HSX-25 webrev URL:
>>>
>>> OpenJDK: 
>>> http://cr.openjdk.java.net/~dcubed/fds_revamp/7165611-webrev/0-jdk8/
>>> Internal: 
>>> http://javaweb.us.oracle.com/~ddaugher/fds_revamp/7165611-webrev/0-jdk8/ 
>>>
>>>
>>> This webrev includes changes for the follow repos:
>>>
>>>     jdk8
>>>     jdk8/hotspot
>>>     jdk8/jdk
>>>     jdk8/jdk/make/closed
>>>
>>> Once these changes are approved, I'm planning to push them to
>>> RT_Baseline. From there, they can follow the normal path to
>>> Main_Baseline and eventually JDK8.
>>>
>>> This work enables FDS on MacOS X for the 'hotspot' repo; the changes in
>>> the other repos are necessary to support importing the .diz files from
>>> the MacOS X 'hotspot' build into the forest build. I also fixed a few
>>> FDS related errors in the magic incantations for the new build. This is
>>> mostly a port from Linux -> MacOS X/BSD with the dtrace changes ported
>>> from Solaris. In other words, this is Frankenstein's monster...
>>>
>>> Thanks to Staffan Larsen for providing an initial set of changes
>>> which I morphed into what you see here.
>>>
>>> Testing:
>>> - JPRT HSX build and test on all platforms; verification of .diz
>>>   files in the MacOS X JPRT bundles
>>> - JPRT JDK8 forest build and test on all platforms; verification of
>>>   .diz files in the MacOS X JPRT bundles
>>>   Note: In previous FDS changesets, I also did a standalone 'jdk'
>>>   repo build and test, but that no longer seems to work.
>>>
>>> As always, comments, questions and suggestions are welcome.
>>>
>>> Dan
>



More information about the hotspot-runtime-dev mailing list