8149479: Fix compare.sh to have a clean baseline with COMPARE_BUILD

Reviewed-by: ihse, tbell
This commit is contained in:
Erik Joelsson 2016-02-11 11:54:00 +01:00
parent 237b8a0335
commit a5b9b52ee7
5 changed files with 661 additions and 648 deletions

View File

@ -33,6 +33,7 @@ export LEGACY_BUILD_DIR=@OPENJDK_TARGET_OS@-@OPENJDK_TARGET_CPU_LEGACY@
export OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
export OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@"
export OPENJDK_TARGET_CPU_LIBDIR="@OPENJDK_TARGET_CPU_LIBDIR@"
export AWK="@AWK@"
export BASH="@BASH@"

View File

@ -102,32 +102,21 @@ diff_text() {
if test "x$SUFFIX" = "xclass"; then
# To improve performance when large diffs are found, do a rough filtering of classes
# elibeble for these exceptions
if $GREP -R -e '[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}' \
-e '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' \
if $GREP -R -e '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}' \
-e 'lambda\$[a-zA-Z0-9]*\$[0-9]' ${THIS_FILE} > /dev/null; then
$JAVAP -c -constants -l -p "${OTHER_FILE}" > ${OTHER_FILE}.javap
$JAVAP -c -constants -l -p "${THIS_FILE}" > ${THIS_FILE}.javap
TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap | \
$GREP '^[<>]' | \
$SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
-e '/[0-9]\{2\}\/[0-9]\{2\}\/[0-9]\{4\}/d' \
$SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d' \
-e '/[<>].*lambda\$[a-zA-Z0-9]*\$[0-9]*/d')
fi
fi
if test "x$SUFFIX" = "xproperties"; then
# Run through nawk to add possibly missing newline at end of file.
$CAT $OTHER_FILE | $NAWK '{ print }' | LC_ALL=C $SORT > $OTHER_FILE.cleaned
# Disable this exception since we aren't changing the properties cleaning method yet.
# $CAT $OTHER_FILE | $SED -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
# | $SED -f "$SRC_ROOT/common/makefiles/support/unicode2x.sed" \
# | $SED -e '/^#/d' -e '/^$/d' \
# -e :a -e '/\\$/N; s/\\\n//; ta' \
# -e 's/^[ \t]*//;s/[ \t]*$//' \
# -e 's/\\=/=/' | LC_ALL=C $SORT > $OTHER_FILE.cleaned
# Filter out date string differences.
TMP=$(LC_ALL=C $DIFF $OTHER_FILE.cleaned $THIS_FILE | \
TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
$GREP '^[<>]' | \
$SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d')
$SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d')
fi
if test "x$SUFFIX" = "xhtml"; then
# Some javadoc versions do not put quotes around font size
@ -306,7 +295,8 @@ compare_general_files() {
! -name "*.lib" ! -name "*.war" ! -name "JavaControlPanel" \
! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" \
! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \
! -name "jspawnhelper" ! -name "*.a" \
! -name "jspawnhelper" ! -name "JavawsLauncher" ! -name "*.a" \
! -name "finish_installation" ! -name "Sparkle" \
| $GREP -v "./bin/" | $SORT | $FILTER)
echo Other files with binary differences...
@ -320,29 +310,28 @@ compare_general_files() {
THIS_FILE=$WORK_DIR/$f.this
$MKDIR -p $(dirname $OTHER_FILE)
$MKDIR -p $(dirname $THIS_FILE)
$CAT $OTHER_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $OTHER_FILE
$CAT $THIS_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $THIS_FILE
RELEASE_FILTER="$SED \
-e 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' \
-e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}/<DATE>/g'
"
$CAT $OTHER_DIR/$f | eval "$RELEASE_FILTER" > $OTHER_FILE
$CAT $THIS_DIR/$f | eval "$RELEASE_FILTER" > $THIS_FILE
elif [ "x$SUFFIX" = "xhtml" ]; then
# Ignore time stamps in docs files
OTHER_FILE=$WORK_DIR/$f.other
THIS_FILE=$WORK_DIR/$f.this
$MKDIR -p $(dirname $OTHER_FILE)
$MKDIR -p $(dirname $THIS_FILE)
$MKDIR -p $(dirname $OTHER_FILE) $(dirname $THIS_FILE)
# Older versions of compare might have left soft links with
# these names.
$RM $OTHER_FILE $THIS_FILE
#Note that | doesn't work on mac sed.
$CAT $OTHER_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/\(<meta name="date" content="\).*\(">\)/\1(removed)\2/' \
-e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/(removed)/' \
-e 's/[A-Z][a-z]* [A-Z][a-z]* [0-9][0-9] [0-9][0-9:]* [A-Z][A-Z]* [12][0-9]*/(removed)/' \
-e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \
-e 's/^\(.*\)\( o'"'"'clock \)\([A-Z][A-Z][A-Z]\)/(removed)\2(removed)/' \
> $OTHER_FILE
$CAT $THIS_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/\(<meta name="date" content="\).*\(">\)/\1(removed)\2/' \
-e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/(removed)/' \
-e 's/[A-Z][a-z]* [A-Z][a-z]* [0-9][0-9] [0-9][0-9:]* [A-Z][A-Z]* [12][0-9]*/(removed)/' \
-e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \
-e 's/^\(.*\)\( o'"'"'clock \)\([A-Z][A-Z][A-Z]\)/(removed)\2(removed)/' \
> $THIS_FILE
HTML_FILTER="$SED \
-e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}/<DATE>/g' \
-e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [0-9]\{4\} [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/<DATE>/'
"
$CAT $OTHER_DIR/$f | eval "$HTML_FILTER" > $OTHER_FILE
$CAT $THIS_DIR/$f | eval "$HTML_FILTER" > $THIS_FILE
else
OTHER_FILE=$OTHER_DIR/$f
THIS_FILE=$THIS_DIR/$f
@ -605,11 +594,17 @@ compare_bin_file() {
OTHER_FILE_BASE=${OTHER_FILE_BASE/.exe/}
OTHER_FILE_BASE=${OTHER_FILE_BASE/.cpl/}
DIZ_NAME=$(basename $OTHER_FILE_BASE).diz
# java.exe and java.dll diz files will have the same name. Have to
# make sure java.exe gets the right one. This is only needed for
# OTHER since in the new build, all pdb files are left around.
if [ "$NAME" = "java.exe" ] && [ -f "$OTHER/tmp/java/java/obj64/java.diz" ]; then
OTHER_DIZ_FILE="$OTHER/tmp/java/java/obj64/java.diz"
# Some .exe files have the same name as a .dll file. Make sure the exe
# files get the right debug symbols.
if [ "$NAME" = "java.exe" ] \
&& [ -f "$OTHER/support/native/java.base/java_objs/java.diz" ]; then
OTHER_DIZ_FILE="$OTHER/support/native/java.base/java_objs/java.diz"
elif [ "$NAME" = "jimage.exe" ] \
&& [ -f "$OTHER/support/native/jdk.dev/jimage_objs/jimage.diz" ]; then
OTHER_DIZ_FILE="$OTHER/support/native/jdk.dev/jimage_objs/jimage.diz"
elif [ "$NAME" = "javacpl.exe" ] \
&& [ -f "$OTHER/support/native/jdk.plugin/javacpl/javacpl.diz" ]; then
OTHER_DIZ_FILE="$OTHER/support/native/jdk.plugin/javacpl/javacpl.diz"
elif [ -f "${OTHER_FILE_BASE}.diz" ]; then
OTHER_DIZ_FILE=${OTHER_FILE_BASE}.diz
else
@ -627,9 +622,22 @@ compare_bin_file() {
(cd $FILE_WORK_DIR/other ; $UNARCHIVE -o $OTHER_DIZ_FILE)
export _NT_SYMBOL_PATH="$FILE_WORK_DIR/other"
fi
THIS_FILE_BASE=${THIS_FILE/.dll/}
THIS_FILE_BASE=${THIS_FILE_BASE/.exe/}
if [ -f "${THIS_FILE/.dll/}.diz" ]; then
THIS_FILE_BASE=${THIS_FILE_BASE/.cpl/}
# Some .exe files have the same name as a .dll file. Make sure the exe
# files get the right debug symbols.
if [ "$NAME" = "java.exe" ] \
&& [ -f "$THIS/support/native/java.base/java_objs/java.diz" ]; then
THIS_DIZ_FILE="$THIS/support/native/java.base/java_objs/java.diz"
elif [ "$NAME" = "jimage.exe" ] \
&& [ -f "$THIS/support/native/jdk.dev/jimage_objs/jimage.diz" ]; then
THIS_DIZ_FILE="$THIS/support/native/jdk.dev/jimage_objs/jimage.diz"
elif [ "$NAME" = "javacpl.exe" ] \
&& [ -f "$THIS/support/native/jdk.plugin/javacpl/javacpl.diz" ]; then
THIS_DIZ_FILE="$THIS/support/native/jdk.plugin/javacpl/javacpl.diz"
elif [ -f "${THIS_FILE_BASE}.diz" ]; then
THIS_DIZ_FILE=${THIS_FILE/.dll/}.diz
else
THIS_DIZ_FILE="$($FIND $THIS_DIR -name $DIZ_NAME | $SED 1q)"
@ -856,8 +864,15 @@ compare_bin_file() {
if [ -z "$DIS_DIFF_FILTER" ]; then
DIS_DIFF_FILTER="$GREP -v ' # .* <.*>$' | $SED -r -e 's/(\b|x)([0-9a-fA-F]+)(\b|:|>)/X/g'"
fi
$DIS_CMD $OTHER_FILE | $GREP -v $NAME | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1
$DIS_CMD $THIS_FILE | $GREP -v $NAME | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
DIS_GREP_ARG=-a
else
DIS_GREP_ARG=
fi
$DIS_CMD $OTHER_FILE | $GREP $DIS_GREP_ARG -v $NAME \
| eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1
$DIS_CMD $THIS_FILE | $GREP $DIS_GREP_ARG -v $NAME \
| eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1
LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
@ -974,6 +989,15 @@ compare_all_execs() {
-o -name '*.jar' -o -name '*.diz' -o -name 'jcontrol' -o -name '*.properties' \
-o -name '*.data' -o -name '*.bfc' -o -name '*.src' -o -name '*.txt' \
-o -name '*.cfg' -o -name 'meta-index' -o -name '*.properties.ja' \
-o -name '*.xml' -o -name '*.html' -o -name '*.png' -o -name 'README' \
-o -name '*.zip' -o -name '*.jimage' -o -name '*.java' -o -name '*.mf' \
-o -name '*.jpg' -o -name '*.wsdl' -o -name '*.js' -o -name '*.sh' \
-o -name '*.bat' -o -name '*LICENSE' -o -name '*.d' -o -name '*store' \
-o -name 'blacklist' -o -name '*certs' -o -name '*.ttf' \
-o -name '*.jfc' -o -name '*.dat' -o -name 'release' -o -name '*.dir'\
-o -name '*.sym' -o -name '*.idl' -o -name '*.h' -o -name '*.access' \
-o -name '*.template' -o -name '*.policy' -o -name '*.security' \
-o -name 'COPYRIGHT' -o -name '*.1' \
-o -name 'classlist' \) | $SORT | $FILTER)
fi
@ -1278,6 +1302,15 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
echo " $OTHER_DEPLOY_APPLET_PLUGIN_DIR"
fi
if [ -d "$THIS/install/sparkle/Sparkle.framework" ] \
&& [ -d "$OTHER/install/sparkle/Sparkle.framework" ]; then
THIS_SPARKLE_DIR="$THIS/install/sparkle/Sparkle.framework"
OTHER_SPARKLE_DIR="$OTHER/install/sparkle/Sparkle.framework"
echo "Also comparing install sparkle framework"
echo " $THIS_SPARKLE_DIR"
echo " $OTHER_SPARKLE_DIR"
fi
if [ -d "$OTHER/images" ]; then
OTHER_SEC_DIR="$OTHER/images"
else
@ -1298,9 +1331,9 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
THIS_JGSS_WINDOWS_BIN="$THIS_SEC_DIR/$JGSS_WINDOWS_BIN"
fi
if [ -d "$THIS/docs" ] && [ -d "$OTHER/docs" ]; then
THIS_DOCS="$THIS/docs"
OTHER_DOCS="$OTHER/docs"
if [ -d "$THIS/images/docs" ] && [ -d "$OTHER/images/docs" ]; then
THIS_DOCS="$THIS/images/docs"
OTHER_DOCS="$OTHER/images/docs"
echo "Also comparing docs"
else
echo "WARNING! Docs haven't been built and won't be compared."
@ -1349,6 +1382,12 @@ if [ "$CMP_NAMES" = "true" ]; then
echo -n "JavaAppletPlugin "
compare_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_dirs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
echo -n "Sparkle.framework "
compare_files $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi
if [ "$CMP_PERMS" = "true" ]; then
@ -1365,6 +1404,10 @@ if [ "$CMP_PERMS" = "true" ]; then
echo -n "JavaAppletPlugin "
compare_permissions $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_permissions $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi
if [ "$CMP_TYPES" = "true" ]; then
@ -1387,6 +1430,10 @@ if [ "$CMP_TYPES" = "true" ]; then
echo -n "JavaAppletPlugin "
compare_file_types $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_file_types $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi
if [ "$CMP_GENERAL" = "true" ]; then
@ -1413,6 +1460,10 @@ if [ "$CMP_GENERAL" = "true" ]; then
echo -n "JavaAppletPlugin "
compare_general_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_general_files $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi
if [ "$CMP_ZIPS" = "true" ]; then
@ -1476,6 +1527,10 @@ if [ "$CMP_LIBS" = "true" ]; then
echo -n "JavaAppletPlugin "
compare_all_libs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_all_libs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi
if [ "$CMP_EXECS" = "true" ]; then
@ -1493,6 +1548,10 @@ if [ "$CMP_EXECS" = "true" ]; then
echo -n "JavaAppletPlugin "
compare_all_execs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
fi
if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then
echo -n "Sparkle.framework "
compare_all_execs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle
fi
fi
echo

View File

@ -35,7 +35,7 @@ fi
##########################################################################################
# Diff exceptions
if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
if [ "$OPENJDK_TARGET_OS" = "linux" ]; then
STRIP_BEFORE_COMPARE="
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
@ -57,19 +57,21 @@ ACCEPTED_BIN_DIFF="
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./lib/i386/client/libjsig.so
./lib/i386/client/libjvm.so
./lib/i386/libattach.so
./lib/i386/libdt_socket.so
./lib/i386/libinstrument.so
./lib/i386/libjsdt.so
./lib/i386/libjsig.so
./lib/i386/libmanagement.so
./lib/i386/libnet.so
./lib/i386/libnpt.so
./lib/i386/libverify.so
./lib/i386/server/libjsig.so
./lib/i386/server/libjvm.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/client/libjsig.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/client/libjvm.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libattach.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libdt_socket.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libinstrument.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libjsdt.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libjsig.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libmanagement.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libnet.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libnpt.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/libverify.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/minimal/libjsig.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/minimal/libjvm.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/server/libjsig.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/server/libjvm.so
./bin/appletviewer
./bin/idlj
./bin/jar
@ -83,6 +85,7 @@ ACCEPTED_BIN_DIFF="
./bin/jcmd
./bin/jconsole
./bin/jdb
./bin/jhsdb
./bin/jimage
./bin/jinfo
./bin/jjs
@ -90,6 +93,7 @@ ACCEPTED_BIN_DIFF="
./bin/jps
./bin/jrunscript
./bin/jsadebugd
./bin/jshell
./bin/jstack
./bin/jstat
./bin/jstatd
@ -112,95 +116,19 @@ ACCEPTED_BIN_DIFF="
# Issue with __FILE__ usage in generated header files prevent clean fulldump diff of
# server jvm with old hotspot build.
KNOWN_FULLDUMP_DIFF="
./lib/i386/server/libjvm.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/client/libjvm.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/server/libjvm.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/minimal/libjvm.so
"
if [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
KNOWN_DIS_DIFF="
./lib/i386/server/libjvm.so
./lib$OPENJDK_TARGET_CPU_LIBDIR/server/libjvm.so
"
DIS_DIFF_FILTER="$SED \
-e 's/\(:\t\)\([0-9a-z]\{2,2\} \)\{1,7\}/\1<hex>/g' \
-e 's/0x[0-9a-z]\{2,9\}/<hex>/g'"
fi
if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
STRIP_BEFORE_COMPARE="
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/libgctest.so
./demo/jvmti/heapTracker/lib/libheapTracker.so
./demo/jvmti/heapViewer/lib/libheapViewer.so
./demo/jvmti/minst/lib/libminst.so
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
"
ACCEPTED_BIN_DIFF="
./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
./demo/jvmti/gctest/lib/libgctest.so
./demo/jvmti/heapTracker/lib/libheapTracker.so
./demo/jvmti/heapViewer/lib/libheapViewer.so
./demo/jvmti/minst/lib/libminst.so
./demo/jvmti/mtrace/lib/libmtrace.so
./demo/jvmti/versionCheck/lib/libversionCheck.so
./demo/jvmti/waiters/lib/libwaiters.so
./lib/amd64/libattach.so
./lib/amd64/libdt_socket.so
./lib/amd64/libinstrument.so
./lib/amd64/libjsdt.so
./lib/amd64/libjsig.so
./lib/amd64/libmanagement.so
./lib/amd64/libnet.so
./lib/amd64/libnpt.so
./lib/amd64/libsaproc.so
./lib/amd64/libverify.so
./lib/amd64/server/libjsig.so
./lib/amd64/server/libjvm.so
./bin/appletviewer
./bin/idlj
./bin/jar
./bin/jarsigner
./bin/java
./bin/javac
./bin/javadoc
./bin/javah
./bin/javap
./bin/jdeps
./bin/jcmd
./bin/jconsole
./bin/jdb
./bin/jimage
./bin/jinfo
./bin/jjs
./bin/jmap
./bin/jps
./bin/jrunscript
./bin/jsadebugd
./bin/jstack
./bin/jstat
./bin/jstatd
./bin/keytool
./bin/orbd
./bin/pack200
./bin/policytool
./bin/rmic
./bin/rmid
./bin/rmiregistry
./bin/schemagen
./bin/serialver
./bin/servertool
./bin/tnameserv
./bin/wsgen
./bin/wsimport
./bin/xjc
"
# Issue with __FILE__ usage in generated header files prevent clean fulldump diff of
# server jvm with old hotspot build.
KNOWN_FULLDUMP_DIFF="
./lib/amd64/server/libjvm.so
"
fi
if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
@ -219,7 +147,11 @@ STRIP_BEFORE_COMPARE="
SORT_SYMBOLS="
./lib/amd64/server/libjvm.so
./lib/amd64/libfontmanager.so
./lib/amd64/libjimage.so
./lib/amd64/libsaproc.so
./lib/amd64/libunpack.so
./bin/unpack200
"
SKIP_BIN_DIFF="true"
@ -348,9 +280,13 @@ STRIP_BEFORE_COMPARE="
SORT_SYMBOLS="
./demo/jvmti/waiters/lib/libwaiters.so
./lib/sparcv9/libjsig.so
./lib/sparcv9/libfontmanager.so
./lib/sparcv9/libjimage.so
./lib/sparcv9/libsaproc.so
./lib/sparcv9/libunpack.so
./lib/sparcv9/server/libjvm.so
./lib/sparcv9/server/libjvm_dtrace.so
./bin/unpack200
"
SKIP_BIN_DIFF="true"
@ -463,6 +399,7 @@ DIS_DIFF_FILTER="$SED \
# the differences.
KNOWN_DIS_DIFF="
./lib/sparcv9/server/libjvm.so
./lib/sparcv9/libsaproc.so
"
SKIP_FULLDUMP_DIFF="true"
@ -530,11 +467,6 @@ ACCEPTED_SMALL_SIZE_DIFF="
./bin/xjc.exe
"
# jabswitch.exe is compiled and linked with incremental turned on in the old
# build. This makes no sense, so it's turned off in the new build.
ACCEPTED_SIZE_DIFF="
./bin/jabswitch.exe
"
ACCEPTED_DIS_DIFF="
./bin/jabswitch.exe
"
@ -559,6 +491,7 @@ fi
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
ACCEPTED_JARZIP_CONTENTS="
/META-INF/INDEX.LIST
"
@ -611,10 +544,12 @@ ACCEPTED_BIN_DIFF="
./demo/jvmti/versionCheck/lib/libversionCheck.dylib
./demo/jvmti/waiters/lib/libwaiters.dylib
./Contents/Home/bin/_javaws
./Contents/Home/bin/javaws
./Contents/Home/bin/idlj
./Contents/Home/bin/servertool
./Contents/Home/lib/shortcuts/JavaWSApplicationStub
./Contents/Home/lib/jli/libjli.dylib
./Contents/Home/lib/jspawnhelper
./Contents/Home/lib/libAppleScriptEngine.dylib
./Contents/Home/lib/libattach.dylib
./Contents/Home/lib/libawt_lwawt.dylib
@ -635,8 +570,10 @@ ACCEPTED_BIN_DIFF="
./Contents/Home/lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
./Contents/Resources/JavaControlPanelHelper
./Contents/Resources/JavaUpdater.app/Contents/MacOS/JavaUpdater
./Contents/Resources/JavawsLauncher.app/Contents/MacOS/JavawsLauncher
./lib/shortcuts/JavaWSApplicationStub
./lib/jli/libjli.dylib
./lib/jspawnhelper
./lib/libAppleScriptEngine.dylib
./lib/libattach.dylib
./lib/libawt_lwawt.dylib
@ -650,11 +587,14 @@ ACCEPTED_BIN_DIFF="
./lib/libnpjp2.dylib
./lib/libosx.dylib
./lib/libosxapp.dylib
./lib/libosxui.dylib
./lib/libverify.dylib
./lib/libsaproc.dylib
./lib/libsplashscreen.dylib
./lib/server/libjvm.dylib
./lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
./Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation
./Versions/A/Sparkle
"
SORT_SYMBOLS="
@ -666,6 +606,8 @@ SORT_SYMBOLS="
ACCEPTED_SMALL_SIZE_DIFF="$ACCEPTED_BIN_DIFF"
DIS_DIFF_FILTER="LANG=C $SED \
-e 's/0x[0-9a-f]\{3,16\}/<HEXSTR>/g' -e 's/^[0-9a-f]\{12,20\}/<ADDR>/'"
-e 's/0x[0-9a-f]\{3,16\}/<HEXSTR>/g' -e 's/^[0-9a-f]\{12,20\}/<ADDR>/' \
-e 's/## literal pool for: .Java HotSpot(TM) 64-Bit Server VM.*/<COMMENT>/g'
"
fi

View File

@ -319,6 +319,7 @@ else # HAS_SPEC=true
$(call PrepareCompareBuild)
post-compare-build:
$(call WaitForSmartJavacFinish)
$(call CleanupCompareBuild)
$(call CompareBuildDoComparison)

View File

@ -353,14 +353,17 @@ else # $(HAS_SPEC)=true
# Parse COMPARE_BUILD into COMPARE_BUILD_*
# Syntax: COMPARE_BUILD=CONF=<configure options>:PATCH=<patch file>:
# MAKE=<make targets>:COMP_OPTS=<compare script options>:
# COMP_DIR=<compare script base dir>|<default>
# COMP_DIR=<compare script base dir>|<default>:
# FAIL=<bool>
# If neither CONF or PATCH is given, assume <default> means CONF if it
# begins with "--", otherwise assume it means PATCH.
# MAKE and COMP_OPTS can only be used with CONF and/or PATCH specified.
# If any value contains "+", it will be replaced by space.
# FAIL can be set to false to have the return value of compare be ignored.
define ParseCompareBuild
ifneq ($$(COMPARE_BUILD), )
COMPARE_BUILD_OUTPUT_ROOT := $(TOPDIR)/build/compare-build/$(CONF_NAME)
COMPARE_BUILD_FAIL := true
ifneq ($$(findstring :, $$(COMPARE_BUILD)), )
$$(foreach part, $$(subst :, , $$(COMPARE_BUILD)), \
@ -379,6 +382,9 @@ else # $(HAS_SPEC)=true
$$(if $$(filter COMP_DIR=%, $$(part)), \
$$(eval COMPARE_BUILD_COMP_DIR=$$(strip $$(subst +, , $$(patsubst COMP_DIR=%, %, $$(part))))) \
) \
$$(if $$(filter FAIL=%, $$(part)), \
$$(eval COMPARE_BUILD_FAIL=$$(strip $$(subst +, , $$(patsubst FAIL=%, %, $$(part))))) \
) \
)
else
# Separate handling for single field case, to allow for spaces in values.
@ -402,6 +408,9 @@ else # $(HAS_SPEC)=true
$$(error Patch file $$(COMPARE_BUILD_PATCH) does not exist)
endif
endif
ifneq ($$(COMPARE_BUILD_FAIL), true)
COMPARE_BUILD_IGNORE_RESULT := || true
endif
endif
endef
@ -443,9 +452,10 @@ else # $(HAS_SPEC)=true
$(ECHO) "Comparing between comparison rebuild (this/new) and baseline (other/old)"
$(if $(COMPARE_BUILD_COMP_DIR), \
+(cd $(COMPARE_BUILD_OUTPUT_ROOT) && ./compare.sh $(COMPARE_BUILD_COMP_OPTS) \
-2dirs $(COMPARE_BUILD_OUTPUT_ROOT)/$(COMPARE_BUILD_COMP_DIR) $(OUTPUT_ROOT)/$(COMPARE_BUILD_COMP_DIR) || true), \
-2dirs $(COMPARE_BUILD_OUTPUT_ROOT)/$(COMPARE_BUILD_COMP_DIR) \
$(OUTPUT_ROOT)/$(COMPARE_BUILD_COMP_DIR) $(COMPARE_BUILD_IGNORE_RESULT)), \
+(cd $(COMPARE_BUILD_OUTPUT_ROOT) && ./compare.sh $(COMPARE_BUILD_COMP_OPTS) \
-o $(OUTPUT_ROOT) || true) \
-o $(OUTPUT_ROOT) $(COMPARE_BUILD_IGNORE_RESULT)) \
)
endef