[PATCH] Enable debug info on all libraries for OpenJDK builds

Andrew Hughes gnu.andrew at redhat.com
Tue Apr 2 16:56:13 UTC 2013


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?

Thanks,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07




More information about the build-dev mailing list