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