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

Daniel D. Daugherty daniel.daugherty at oracle.com
Mon Sep 30 08:25:30 PDT 2013


On 9/30/13 8:12 AM, Vadim Pakhnushev wrote:
> 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?

No, that's not right. You are dropping support for .map and .pdb
files with the above change.

Dan




> 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 serviceability-dev mailing list