Looks ok to me. Thanks for fixing this.
/Erik
On 2016-02-19 00:16, Magnus Ihse Bursie wrote:
There seems to be a bit of confusion as to OPT_CFLAGS meant "CFLAGS
for optimization" or "CFLAGS for optimized/product build". Some usages
seems to suggest the first interpretation, while other usages seems to
have made the second (where OPT_CFLAGS align with
DEBUG_CFLAGS/FASTDEBUG_CFLAGS).
The first interpretation seems to have been used for the code that
make it possible to override OPT_CFLAGS on a per-file basis by setting
e.g. OPT_CFLAGS/foo.o is set. In this case, the general value of
OPT_CFLAGS is discarded, including any -O flags.
However, the second interpretation seems to have been used for FDS,
where -g (or -g0 -xs on solaris) are added to OPT_CFLAGS.
The end result is that whenever the OPT_CFLAGS/foo.o mechanism is
used, the FDS -g flag is lost. :-(
This patch is a minimal fix to restore the -g flag to these files.
A more general approach to fix this was originally suggested as part
of JDK-8142909, but was deemed inadequate. After some discussion, the
entire problem with the missing -g flags was dropped from that bug.
However, one of the key points in the discussion was that an explicit
add of -g would be a better solution, which is what I have adopted
here (short of a major rewrite of the flag handling in the old build
system, which is not going to happen). I have also made a more
thorough check this time to really catch all such issues (at least for
default Oracle builds).
The main reason for bringing this change in now is to make it possible
to compare the build results between the upcoming new hotspot build,
and the old. Since the new build always adds -g to all files (if we
need debug symbols, that is), there will be huge discrepances between
the two build system in the affected files.
Bug: https://bugs.openjdk.java.net/browse/JDK-8150201
WebRev:
http://cr.openjdk.java.net/~ihse/JDK-8150201-restore-missing-g-flag/webrev.01
/Magnus