Hi Dan,

It would be nice if the cd into the 64 directory could be handled internally to the link logic rather than occurring at the top-level (I say this as someone who will need to hand merge this into another workspace ;-) ).

Also in make/solaris/makefiles/add_gnu_debuglink.make I don't understand the logic change:

GENERATED                 = ../generated

becomes

TOPDIR                    = $(shell echo `pwd`)
GENERATED                 = $(TOPDIR)/../generated

but at what time is "pwd" evaluated? If we have: /out/lib/64 and originally we started in lib then GENERATED==lib/../generated ie out/generated. If we have now done a cd into 64 then: pwd = /out/lib/64 and so GENERATED==/out/lib/64/../generated ie /out/lib/generated. I may well be missing something but this doesn't seem right.

David
-----

On 20/06/2012 11:21 AM, Daniel D. Daugherty wrote:
Greetings,

This is an URGENT code review request for a Solaris specific Full Debug
Symbols (FDS) fix. Due to a Makefile logic error, the full debug symbol
files and related '_g' symlinks are created in the wrong sub-directory
for a couple of the dtrace libraries. The incorrect paths have a double
"64/" sub-directory, e.g.:

solaris-<arch>/jre/lib/<arch>/client/64/64/libjvm_db.debuginfo

These are the correct symlink paths:

solaris-<arch>/fastdebug/jre/lib/<arch>/client/64/libjvm_g_db.debuginfo
solaris-<arch>/fastdebug/jre/lib/<arch>/client/64/libjvm_g_dtrace.debuginfo
solaris-<arch>/fastdebug/jre/lib/<arch>/server/64/libjvm_g_db.debuginfo
solaris-<arch>/fastdebug/jre/lib/<arch>/server/64/libjvm_g_dtrace.debuginfo

and these are the correct debug info file paths:

solaris-<arch>/jre/lib/<arch>/client/64/libjvm_db.debuginfo
solaris-<arch>/jre/lib/<arch>/client/64/libjvm_dtrace.debuginfo
solaris-<arch>/jre/lib/<arch>/server/64/libjvm_db.debuginfo
solaris-<arch>/jre/lib/<arch>/server/64/libjvm_dtrace.debuginfo
solaris-<arch>/fastdebug/jre/lib/<arch>/client/64/libjvm_db.debuginfo
solaris-<arch>/fastdebug/jre/lib/<arch>/client/64/libjvm_dtrace.debuginfo
solaris-<arch>/fastdebug/jre/lib/<arch>/server/64/libjvm_db.debuginfo
solaris-<arch>/fastdebug/jre/lib/<arch>/server/64/libjvm_dtrace.debuginfo

where "<arch>" is "i586" or "sparc". The 64-bit Solaris platforms ("amd64"
and "sparcv9") don't have this issue because they don't have the "64/"
sub-directories.

This fix is targeted at HSX-24/JDK8 and HSX-23.2/JDK7u6 and will resolve
an issue that is preventing Oracle's Release Engineering scripts from
running properly.

Here is the webrev URL for the HSX-24/JDK8 version:

http://cr.openjdk.java.net/~dcubed/fds_revamp/7175255-webrev/0/

The HSX23.3/JDK7u6 version is the same except for the changes to
make/solaris/makefiles/defs.make which are not needed in HSX23.2.

Thanks, in advance, for any reviews!

Dan

Reply via email to