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

Andrew Hughes gnu.andrew at redhat.com
Wed Apr 3 14:58:23 UTC 2013


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

Yeah, I need someone who's a reviewer anyway (you're not yet, right?)
as I can't review it myself.

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

The only ones that didn't have DEBUG_SYMBOLS set to true before (either via
'true' or WINDOWS_ONLY) aren't built on Windows.  They are things like the X11
libraries.  The first attempt I did (just set WINDOWS_ONLY true on OPENJDK builds)
showed up the few that weren't caught.  I could do with someone testing an
OpenJDK Mac build though.

> 
> /Erik
> 

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