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