On 9/30/13 12:00 PM, Staffan Larsen wrote:
On 30 sep 2013, at 15:44, Daniel D. Daugherty <daniel.daughe...@oracle.com> 
wrote:


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.

Yesterday, I did a JPRT control build and here's what I see:

$ unzip -l macosx_x64_10.7-product.zip | grep .diz
     2333  10-01-2013 00:13   jre/lib/libjsig.diz
     3747  10-01-2013 00:13   jre/lib/libsaproc.diz
      204  10-01-2013 00:13   jre/lib/server/libjsig.diz
132330347  10-01-2013 00:14   jre/lib/server/libjvm.diz

And inside libjvm.diz:

$ unzip -l jre/lib/server/libjvm.diz
Archive:  jre/lib/server/libjvm.diz
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  09-30-2013 23:59   libjvm.dylib.dSYM/
        0  09-30-2013 23:59   libjvm.dylib.dSYM/Contents/
      641  09-30-2013 23:59 libjvm.dylib.dSYM/Contents/Info.plist
        0  09-30-2013 23:59 libjvm.dylib.dSYM/Contents/Resources/
        0  09-30-2013 23:59 libjvm.dylib.dSYM/Contents/Resources/DWARF/
326461252 09-30-2013 23:59 libjvm.dylib.dSYM/Contents/Resources/DWARF/libjvm.dylib
---------                     -------
326461893                     6 files

so it looks like JPRT is doing the "right thing" for control builds.
I had previously verified that a hotspot only JPRT was doing the right
thing before my vacation.

My personal manual hotspot builds on my MacMini also did the right
thing so I'll have to check out what's going on with your style of
build invocation.


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.

I'll work with Dmitry S. on getting this tested. If we can't verify
that proposed changes work on BSD, then I'll back out that portion.

Dan




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

Reply via email to