code review round 0 for Full Debug Symbols on MacOS X hotspot (7165611)
Vadim Pakhnushev
vadim.pakhnushev at oracle.com
Mon Sep 30 16:04:41 UTC 2013
Ah, this error is not relevant to your changes at all, this happens
without them, Staffan's make error caught my eye.
So your point is if these files are missing, the make won't run link
again so they are rebuilt, correct?
Thanks,
Vadim
On 30.09.2013 19:44, Daniel D. Daugherty wrote:
> That's the correct name. If you drop them from the targets list, then
> the make subsystem won't detect that those expected targets aren't
> being built... In any case, I'm curious why this is failing on Windows
> since I didn't (intentionally) change Windows code here.
>
> These OpenJDK changes along with the closed changes were run through
> JPRT before I went on vacation and I didn't see any failures on any
> platform. I'll check out the JPRT job if it is still around.
>
> I suspect that you're having problems because the closed changes aren't
> there, but I'm not sure. I still need to send out the closed side code
> review request...
>
> Dan
>
>
>
> On 9/30/13 9:37 AM, Vadim Pakhnushev wrote:
>> 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