[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: code review round 0 for Full Debug Symbols on MacOS X hotspot (7165611)
From:       Staffan Larsen <staffan.larsen () oracle ! com>
Date:       2013-09-30 18:00:26
Message-ID: 85C072F5-3EC8-41DB-A058-4055807F242A () oracle ! com
[Download RAW message or body]


On 30 sep 2013, at 15:44, Daniel D. Daugherty <daniel.daugherty@oracle.com> 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.

Yes, I was running with closed repos. I now have the additional patch, but what I get \
now is a bit strange. The libjvm.dylib.dSYM directory should be copied from  \
build/macosx-x86_64-normal-server-slowdebug/hotspot/bsd_amd64_compiler2/debug/ to \
build/macosx-x86_64-normal-server-slowdebug/hotspot/dist/jre/lib/server/ to \
build/macosx-x86_64-normal-server-slowdebug/jdk/lib/server/

But what I get is for each copy, the result is different:

build/macosx-x86_64-normal-server-slowdebug/hotspot/bsd_amd64_compiler2/debug/libjvm.dylib.dSYM/:
 Contents

build/macosx-x86_64-normal-server-slowdebug/hotspot/dist/jre/lib/server/libjvm.dylib.dSYM/:
 Info.plist	libjvm.dylib

build/macosx-x86_64-normal-server-slowdebug/jdk/lib/server/libjvm.dylib.dSYM:
libjvm.dylib


Looks like the recursive copy isn't working as expected.


> 
> 
> > 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...

OK. If we can't verify the logic, then maybe should leave it out.

> 
> 
> > 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.

Ouch. :-(

/Staffan

> 
> Dan
> 
> 
> > 
> > 
> > /Staffan
> > 
> > 
> > 
> > On 21 sep 2013, at 05:36, Daniel D. Daugherty <daniel.daugherty@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
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic