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