On 2013-04-02 18:56, Andrew Hughes wrote:
With the new build system, the availability of debugging information in the
JDK build is a complete mess, controlled by different flags from those that
control the HotSpot build.

Even when debugging is asked for, it is only turned on for a small number of
libraries on GNU/Linux.  On Windows, this is overridden with no real 
explanation:
in 7197849: Update new build-infra makefiles.

> From jdk/makefiles/CompileNativeLibraries.gmk:

# Use this variable to set DEBUG_SYMBOLS true on windows for all libraries, but
# not on other platforms.
ifeq ($(OPENJDK_TARGET_OS), windows)
     WINDOWS_ONLY := true
endif

and then WINDOWS_ONLY is used as the value for DEBUG_SYMBOLS on most, but not 
all,
libraries (those that are Mac or GNU/Linux only are missed).

This webrev:

http://cr.openjdk.java.net/~andrew/build/debugging/webrev.01/

cleans up the situation, adding DEBUG_ALL_BINARIES in place of WINDOWS_ONLY and
adding it to all libraries that don't have DEBUG_SYMBOLS set to true.  The 
previous
Windows conditional uses this new symbol in place of WINDOWS_ONLY and the 
following
is also added:

ifdef OPENJDK
     DEBUG_ALL_BINARIES := true
endif

so non-OpenJDK builds will still get the same situation as before, while OpenJDK
builds will get the expected debugging information when it's asked for.

All that's now missing compared with a 7 image is debugging on program binaries 
which
I'll look at next.

Does this look ok?  And if so, can I have a bug ID for it?


I think this looks fine and I've created

"JDK-8011366: Enable debug info on all libraries for OpenJDK builds"

I think someone more intimately familiar with debugging these libraries should also comment on this.

Note that by adding the new variable to places where there was no DEBUG_SYMBOLS before actually will change behavior on windows for non open builds. Also, at least for release builds, the new system was deliberately mimicking the old system very closely. This has highlighted some of the weirdness that was there already. It's good that it can now be fixed.

/Erik

Reply via email to