code review round 0 for Full Debug Symbols on MacOS X hotspot (7165611)
Vadim Pakhnushev
vadim.pakhnushev at oracle.com
Mon Sep 30 15:37:47 UTC 2013
No, I don't. I'm just excluding them from the targets list (not sure
what's the correct name for that).
Actual files are created using these lines:
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
$1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_LIBRARY).pdb" \
"-map:$$($1_OBJECT_DIR)/$$($1_LIBRARY).map"
endif
Thanks,
Vadim
On 30.09.2013 19:25, Daniel D. Daugherty wrote:
> 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 build-dev
mailing list