#!/bin/bash # # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. # # This code is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # version 2 for more details (a copy is included in the LICENSE file that # accompanied this code). # # You should have received a copy of the GNU General Public License version # 2 along with this work; if not, write to the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. # # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.com if you need additional information or have any # questions. # # This script is not to be run as stand-alone, it should be included from # compare.sh. ########################################################################################## # Check that we are run via inclusion from compare.sh and not as stand-alone. if [ -z "$COMPARE_EXCEPTIONS_INCLUDE" ]; then echo "Error: This script should not be run as stand-alone. It is included by compare.sh" exit 1 fi ########################################################################################## # Diff exceptions if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; 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/hprof/lib/libhprof.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/hprof/lib/libhprof.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 ./jre/lib/i386/client/libjvm.so ./jre/lib/i386/libattach.so ./jre/lib/i386/libdt_socket.so ./jre/lib/i386/libhprof.so ./jre/lib/i386/libinstrument.so ./jre/lib/i386/libjava_crw_demo.so ./jre/lib/i386/libjsdt.so ./jre/lib/i386/libmanagement.so ./jre/lib/i386/libnpt.so ./jre/lib/i386/libverify.so ./jre/lib/i386/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/jhat ./bin/jinfo ./bin/jmap ./bin/jps ./bin/jrunscript ./bin/jsadebugd ./bin/jstack ./bin/jstat ./bin/jstatd ./bin/keytool ./bin/native2ascii ./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 ./jre/bin/java ./jre/bin/keytool ./jre/bin/orbd ./jre/bin/pack200 ./jre/bin/policytool ./jre/bin/rmid ./jre/bin/rmiregistry ./jre/bin/servertool ./jre/bin/tnameserv " 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/hprof/lib/libhprof.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/hprof/lib/libhprof.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 ./jre/lib/amd64/libattach.so ./jre/lib/amd64/libdt_socket.so ./jre/lib/amd64/libhprof.so ./jre/lib/amd64/libinstrument.so ./jre/lib/amd64/libjava_crw_demo.so ./jre/lib/amd64/libjsdt.so ./jre/lib/amd64/libjsig.so ./jre/lib/amd64/libmanagement.so ./jre/lib/amd64/libnpt.so ./jre/lib/amd64/libsaproc.so ./jre/lib/amd64/libverify.so ./jre/lib/amd64/server/libjsig.so ./jre/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/jhat ./bin/jinfo ./bin/jmap ./bin/jps ./bin/jrunscript ./bin/jsadebugd ./bin/jstack ./bin/jstat ./bin/jstatd ./bin/keytool ./bin/native2ascii ./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 ./jre/bin/java ./jre/bin/keytool ./jre/bin/orbd ./jre/bin/pack200 ./jre/bin/policytool ./jre/bin/rmid ./jre/bin/rmiregistry ./jre/bin/servertool ./jre/bin/tnameserv " fi if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; then STRIP_BEFORE_COMPARE=" ./demo/jni/Poller/lib/libPoller.so ./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/hprof/lib/libhprof.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 ./jre/lib/i386/jexec " SORT_SYMBOLS=" ./jre/lib/i386/client/libjvm.so ./jre/lib/i386/libsaproc.so ./jre/lib/i386/server/libjvm.so " SKIP_BIN_DIFF="true" ACCEPTED_SMALL_SIZE_DIFF=" ./demo/jni/Poller/lib/libPoller.so ./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/hprof/lib/libhprof.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 ./jre/lib/i386/client/libjvm.so ./jre/lib/i386/jli/libjli.so ./jre/lib/i386/libJdbcOdbc.so ./jre/lib/i386/libattach.so ./jre/lib/i386/libawt.so ./jre/lib/i386/libawt_headless.so ./jre/lib/i386/libawt_xawt.so ./jre/lib/i386/libdcpr.so ./jre/lib/i386/libdt_socket.so ./jre/lib/i386/libfontmanager.so ./jre/lib/i386/libhprof.so ./jre/lib/i386/libinstrument.so ./jre/lib/i386/libj2gss.so ./jre/lib/i386/libj2pcsc.so ./jre/lib/i386/libj2pkcs11.so ./jre/lib/i386/libj2ucrypto.so ./jre/lib/i386/libjaas_unix.so ./jre/lib/i386/libjava.so ./jre/lib/i386/libjava_crw_demo.so ./jre/lib/i386/libjawt.so ./jre/lib/i386/libjdwp.so ./jre/lib/i386/libjfr.so ./jre/lib/i386/libjpeg.so ./jre/lib/i386/libjsdt.so ./jre/lib/i386/libjsound.so ./jre/lib/i386/libkcms.so ./jre/lib/i386/liblcms.so ./jre/lib/i386/libmanagement.so ./jre/lib/i386/libmlib_image.so ./jre/lib/i386/libnet.so ./jre/lib/i386/libnio.so ./jre/lib/i386/libnpt.so ./jre/lib/i386/libsctp.so ./jre/lib/i386/libsplashscreen.so ./jre/lib/i386/libsunec.so ./jre/lib/i386/libsunwjdga.so ./jre/lib/i386/libt2k.so ./jre/lib/i386/libunpack.so ./jre/lib/i386/libverify.so ./jre/lib/i386/libzip.so ./jre/lib/i386/libdeploy.so ./jre/lib/i386/libjavaplugin.so ./jre/lib/i386/libjavaplugin_jni.so ./jre/lib/i386/libjavaplugin_nscp.so ./jre/lib/i386/libjavaplugin_oji.so ./jre/lib/i386/libnpjp2.so ./jre/plugin/i386/ns4/libjavaplugin.so ./jre/plugin/i386/ns7/libjavaplugin_oji.so ./jre/lib/i386/server/libjvm.so ./jre/lib/i386/client/64/libjvm_db.so ./jre/lib/i386/client/64/libjvm_dtrace.so ./jre/lib/i386/client/libjvm_db.so ./jre/lib/i386/client/libjvm_dtrace.so ./jre/lib/i386/server/64/libjvm_db.so ./jre/lib/i386/server/64/libjvm_dtrace.so ./jre/lib/i386/server/libjvm_db.so ./jre/lib/i386/server/libjvm_dtrace.so ./bin/appletviewer ./bin/idlj ./bin/jar ./bin/jarsigner ./bin/java ./bin/javac ./bin/javadoc ./bin/javah ./bin/javap ./bin/jdeps ./bin/javaws ./bin/jcmd ./bin/jconsole ./bin/jdb ./bin/jhat ./bin/jinfo ./bin/jmap ./bin/jps ./bin/jrunscript ./bin/jsadebugd ./bin/jstack ./bin/jstat ./bin/jstatd ./bin/keytool ./bin/native2ascii ./bin/orbd ./bin/pack200 ./bin/policytool ./bin/rmic ./bin/rmid ./bin/rmiregistry ./bin/schemagen ./bin/serialver ./bin/servertool ./bin/tnameserv ./bin/unpack200 ./bin/wsgen ./bin/wsimport ./bin/xjc ./jre/bin/java ./jre/bin/java_vm ./jre/bin/javaws ./jre/bin/keytool ./jre/bin/orbd ./jre/bin/pack200 ./jre/bin/policytool ./jre/bin/rmid ./jre/bin/rmiregistry ./jre/bin/servertool ./jre/bin/tnameserv ./jre/bin/unpack200 ./jre/lib/i386/jexec " SKIP_FULLDUMP_DIFF="true" # Filter random C++ symbol strings. # Some numbers differ randomly. # Can't use space in these expressions as the shell will mess with them. DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}//g -e s/\([0-9a-f][0-9a-f].\)\{2,8\}[0-9a-f][0-9a-f]//g -e s/\(0x\)[0-9a-f]*\([,(>]\)/\1\2/g -e s/\(0x\)[0-9a-f]*$/\1/g -e s/\(\#.\)[0-9a-f]*\(.<\)/\1\2/g -e s/[\.A-Za-z0-9%]\{16,16\}$//g" fi if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then STRIP_BEFORE_COMPARE=" ./demo/jni/Poller/lib/amd64/libPoller.so ./demo/jvmti/compiledMethodLoad/lib/amd64/libcompiledMethodLoad.so ./demo/jvmti/gctest/lib/amd64/libgctest.so ./demo/jvmti/heapTracker/lib/amd64/libheapTracker.so ./demo/jvmti/heapViewer/lib/amd64/libheapViewer.so ./demo/jvmti/hprof/lib/amd64/libhprof.so ./demo/jvmti/minst/lib/amd64/libminst.so ./demo/jvmti/mtrace/lib/amd64/libmtrace.so ./demo/jvmti/versionCheck/lib/amd64/libversionCheck.so ./demo/jvmti/waiters/lib/amd64/libwaiters.so " SORT_SYMBOLS=" ./jre/lib/amd64/server/libjvm.so ./jre/lib/amd64/libsaproc.so " SKIP_BIN_DIFF="true" ACCEPTED_SMALL_SIZE_DIFF=" ./demo/jni/Poller/lib/amd64/libPoller.so ./demo/jvmti/compiledMethodLoad/lib/amd64/libcompiledMethodLoad.so ./demo/jvmti/gctest/lib/amd64/libgctest.so ./demo/jvmti/heapTracker/lib/amd64/libheapTracker.so ./demo/jvmti/heapViewer/lib/amd64/libheapViewer.so ./demo/jvmti/hprof/lib/amd64/libhprof.so ./demo/jvmti/minst/lib/amd64/libminst.so ./demo/jvmti/mtrace/lib/amd64/libmtrace.so ./demo/jvmti/versionCheck/lib/amd64/libversionCheck.so ./demo/jvmti/waiters/lib/amd64/libwaiters.so ./jre/lib/amd64/jli/libjli.so ./jre/lib/amd64/libJdbcOdbc.so ./jre/lib/amd64/libattach.so ./jre/lib/amd64/libawt.so ./jre/lib/amd64/libawt_headless.so ./jre/lib/amd64/libawt_xawt.so ./jre/lib/amd64/libdcpr.so ./jre/lib/amd64/libdt_socket.so ./jre/lib/amd64/libfontmanager.so ./jre/lib/amd64/libhprof.so ./jre/lib/amd64/libinstrument.so ./jre/lib/amd64/libj2gss.so ./jre/lib/amd64/libj2pcsc.so ./jre/lib/amd64/libj2pkcs11.so ./jre/lib/amd64/libj2ucrypto.so ./jre/lib/amd64/libjaas_unix.so ./jre/lib/amd64/libjava.so ./jre/lib/amd64/libjava_crw_demo.so ./jre/lib/amd64/libjawt.so ./jre/lib/amd64/libjdwp.so ./jre/lib/amd64/libjfr.so ./jre/lib/amd64/libjpeg.so ./jre/lib/amd64/libjsdt.so ./jre/lib/amd64/libjsound.so ./jre/lib/amd64/libkcms.so ./jre/lib/amd64/liblcms.so ./jre/lib/amd64/libmanagement.so ./jre/lib/amd64/libmlib_image.so ./jre/lib/amd64/libnet.so ./jre/lib/amd64/libnio.so ./jre/lib/amd64/libnpt.so ./jre/lib/amd64/libsctp.so ./jre/lib/amd64/libsplashscreen.so ./jre/lib/amd64/libsunec.so ./jre/lib/amd64/libsunwjdga.so ./jre/lib/amd64/libt2k.so ./jre/lib/amd64/libunpack.so ./jre/lib/amd64/libverify.so ./jre/lib/amd64/libzip.so ./jre/lib/amd64/server/64/libjvm_db.so ./jre/lib/amd64/server/64/libjvm_dtrace.so ./jre/lib/amd64/server/libjvm.so ./jre/lib/amd64/server/libjvm_db.so ./jre/lib/amd64/server/libjvm_dtrace.so ./bin/amd64/appletviewer ./bin/amd64/idlj ./bin/amd64/jar ./bin/amd64/jarsigner ./bin/amd64/java ./bin/amd64/javac ./bin/amd64/javadoc ./bin/amd64/javah ./bin/amd64/javap ./bin/amd64/jdeps ./bin/amd64/jcmd ./bin/amd64/jconsole ./bin/amd64/jdb ./bin/amd64/jhat ./bin/amd64/jinfo ./bin/amd64/jmap ./bin/amd64/jps ./bin/amd64/jrunscript ./bin/amd64/jsadebugd ./bin/amd64/jstack ./bin/amd64/jstat ./bin/amd64/jstatd ./bin/amd64/keytool ./bin/amd64/native2ascii ./bin/amd64/orbd ./bin/amd64/pack200 ./bin/amd64/policytool ./bin/amd64/rmic ./bin/amd64/rmid ./bin/amd64/rmiregistry ./bin/amd64/schemagen ./bin/amd64/serialver ./bin/amd64/servertool ./bin/amd64/tnameserv ./bin/amd64/unpack200 ./bin/amd64/wsgen ./bin/amd64/wsimport ./bin/amd64/xjc ./jre/bin/amd64/java ./jre/bin/amd64/keytool ./jre/bin/amd64/orbd ./jre/bin/amd64/pack200 ./jre/bin/amd64/policytool ./jre/bin/amd64/rmid ./jre/bin/amd64/rmiregistry ./jre/bin/amd64/servertool ./jre/bin/amd64/tnameserv ./jre/bin/amd64/unpack200 ./jre/lib/amd64/jexec " SKIP_FULLDUMP_DIFF="true" # Filter random C++ symbol strings. # Some numbers differ randomly. # Can't use space in these expressions as the shell will mess with them. DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}//g -e s/\([0-9a-f][0-9a-f].\)\{2,8\}[0-9a-f][0-9a-f]//g -e s/\(0x\)[0-9a-f]*\([,(>]\)/\1\2/g -e s/\(0x\)[0-9a-f]*$/\1/g -e s/\(\#.\)[0-9a-f]*\(.<\)/\1\2/g -e s/[\.A-Za-z0-9%]\{16,16\}$//g" fi if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparc" ]; then STRIP_BEFORE_COMPARE=" ./demo/jni/Poller/lib/libPoller.so ./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/hprof/lib/libhprof.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 ./jre/lib/sparc/jexec " SORT_SYMBOLS=" ./demo/jvmti/waiters/lib/libwaiters.so ./jre/lib/sparc/client/64/libjvm_db.so ./jre/lib/sparc/client/64/libjvm_dtrace.so ./jre/lib/sparc/client/libjsig.so ./jre/lib/sparc/client/libjvm.so ./jre/lib/sparc/client/libjvm_db.so ./jre/lib/sparc/client/libjvm_dtrace.so ./jre/lib/sparc/libjsig.so ./jre/lib/sparc/libsaproc.so ./jre/lib/sparc/server/64/libjvm_db.so ./jre/lib/sparc/server/64/libjvm_dtrace.so ./jre/lib/sparc/server/libjsig.so ./jre/lib/sparc/server/libjvm.so ./jre/lib/sparc/server/libjvm_db.so ./jre/lib/sparc/server/libjvm_dtrace.so " SKIP_BIN_DIFF="true" ACCEPTED_SMALL_SIZE_DIFF=" ./demo/jni/Poller/lib/libPoller.so ./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/hprof/lib/libhprof.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 ./jre/lib/sparc/client/libjvm.so ./jre/lib/sparc/jli/libjli.so ./jre/lib/sparc/libJdbcOdbc.so ./jre/lib/sparc/libattach.so ./jre/lib/sparc/libawt.so ./jre/lib/sparc/libawt_headless.so ./jre/lib/sparc/libawt_xawt.so ./jre/lib/sparc/libdcpr.so ./jre/lib/sparc/libdt_socket.so ./jre/lib/sparc/libfontmanager.so ./jre/lib/sparc/libhprof.so ./jre/lib/sparc/libinstrument.so ./jre/lib/sparc/libj2gss.so ./jre/lib/sparc/libj2pcsc.so ./jre/lib/sparc/libj2pkcs11.so ./jre/lib/sparc/libj2ucrypto.so ./jre/lib/sparc/libjaas_unix.so ./jre/lib/sparc/libjava.so ./jre/lib/sparc/libjava_crw_demo.so ./jre/lib/sparc/libjawt.so ./jre/lib/sparc/libjdwp.so ./jre/lib/sparc/libjfr.so ./jre/lib/sparc/libjpeg.so ./jre/lib/sparc/libjsdt.so ./jre/lib/sparc/libjsound.so ./jre/lib/sparc/libkcms.so ./jre/lib/sparc/liblcms.so ./jre/lib/sparc/libmanagement.so ./jre/lib/sparc/libmlib_image.so ./jre/lib/sparc/libmlib_image_v.so ./jre/lib/sparc/libnet.so ./jre/lib/sparc/libnio.so ./jre/lib/sparc/libnpt.so ./jre/lib/sparc/libsctp.so ./jre/lib/sparc/libsplashscreen.so ./jre/lib/sparc/libsunec.so ./jre/lib/sparc/libsunwjdga.so ./jre/lib/sparc/libt2k.so ./jre/lib/sparc/libunpack.so ./jre/lib/sparc/libverify.so ./jre/lib/sparc/libzip.so ./jre/lib/sparc/libdeploy.so ./jre/lib/sparc/libjavaplugin.so ./jre/lib/sparc/libjavaplugin_jni.so ./jre/lib/sparc/libjavaplugin_nscp.so ./jre/lib/sparc/libjavaplugin_oji.so ./jre/lib/sparc/libnpjp2.so ./jre/plugin/sparc/ns4/libjavaplugin.so ./jre/plugin/sparc/ns7/libjavaplugin_oji.so ./jre/lib/sparc/server/libjvm.so ./bin/appletviewer ./bin/idlj ./bin/jar ./bin/jarsigner ./bin/java ./bin/javac ./bin/javadoc ./bin/javah ./bin/javap ./bin/jdeps ./bin/javaws ./bin/jcmd ./bin/jconsole ./bin/jdb ./bin/jhat ./bin/jinfo ./bin/jmap ./bin/jps ./bin/jrunscript ./bin/jsadebugd ./bin/jstack ./bin/jstat ./bin/jstatd ./bin/keytool ./bin/native2ascii ./bin/orbd ./bin/pack200 ./bin/policytool ./bin/rmic ./bin/rmid ./bin/rmiregistry ./bin/schemagen ./bin/serialver ./bin/servertool ./bin/tnameserv ./bin/unpack200 ./bin/wsgen ./bin/wsimport ./bin/xjc ./jre/bin/java ./jre/bin/java_vm ./jre/bin/javaws ./jre/bin/keytool ./jre/bin/orbd ./jre/bin/pack200 ./jre/bin/policytool ./jre/bin/rmid ./jre/bin/rmiregistry ./jre/bin/servertool ./jre/bin/tnameserv ./jre/bin/unpack200 ./jre/lib/sparc/jexec " # Filter random C++ symbol strings. # Some numbers differ randomly. DIS_DIFF_FILTER="$SED -e s/\$[a-zA-Z0-9_\$]\{15,15\}//g -e s/\([0-9a-f][0-9a-f].[0-9a-f][0-9a-f].[0-9a-f][0-9a-f].\)[0-9a-f][0-9a-f]/\1/g -e s/\(%g1,.0x\)[0-9a-f]*\(,.%g1\)/\1\2/g -e s/\(!.\)[0-9a-f]*\(.\2/g" # Some xor instructions end up with different args in the lib but not in the object files. ACCEPTED_DIS_DIFF=" ./demo/jvmti/waiters/lib/libwaiters.so " SKIP_FULLDUMP_DIFF="true" fi if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then STRIP_BEFORE_COMPARE=" ./demo/jni/Poller/lib/sparcv9/libPoller.so ./demo/jvmti/compiledMethodLoad/lib/sparcv9/libcompiledMethodLoad.so ./demo/jvmti/gctest/lib/sparcv9/libgctest.so ./demo/jvmti/heapTracker/lib/sparcv9/libheapTracker.so ./demo/jvmti/heapViewer/lib/sparcv9/libheapViewer.so ./demo/jvmti/hprof/lib/sparcv9/libhprof.so ./demo/jvmti/minst/lib/sparcv9/libminst.so ./demo/jvmti/mtrace/lib/sparcv9/libmtrace.so ./demo/jvmti/versionCheck/lib/sparcv9/libversionCheck.so ./demo/jvmti/waiters/lib/sparcv9/libwaiters.so " SORT_SYMBOLS=" ./demo/jvmti/waiters/lib/sparcv9/libwaiters.so ./jre/lib/sparcv9/libjsig.so ./jre/lib/sparcv9/libsaproc.so ./jre/lib/sparcv9/server/libjvm.so ./jre/lib/sparcv9/server/libjvm_dtrace.so " SKIP_BIN_DIFF="true" ACCEPTED_SMALL_SIZE_DIFF=" ./demo/jni/Poller/lib/sparcv9/libPoller.so ./demo/jvmti/compiledMethodLoad/lib/sparcv9/libcompiledMethodLoad.so ./demo/jvmti/gctest/lib/sparcv9/libgctest.so ./demo/jvmti/heapTracker/lib/sparcv9/libheapTracker.so ./demo/jvmti/heapViewer/lib/sparcv9/libheapViewer.so ./demo/jvmti/hprof/lib/sparcv9/libhprof.so ./demo/jvmti/minst/lib/sparcv9/libminst.so ./demo/jvmti/mtrace/lib/sparcv9/libmtrace.so ./demo/jvmti/versionCheck/lib/sparcv9/libversionCheck.so ./demo/jvmti/waiters/lib/sparcv9/libwaiters.so ./jre/lib/sparcv9/client/libjvm.so ./jre/lib/sparcv9/jli/libjli.so ./jre/lib/sparcv9/libJdbcOdbc.so ./jre/lib/sparcv9/libattach.so ./jre/lib/sparcv9/libawt.so ./jre/lib/sparcv9/libawt_headless.so ./jre/lib/sparcv9/libawt_xawt.so ./jre/lib/sparcv9/libdcpr.so ./jre/lib/sparcv9/libdt_socket.so ./jre/lib/sparcv9/libfontmanager.so ./jre/lib/sparcv9/libhprof.so ./jre/lib/sparcv9/libinstrument.so ./jre/lib/sparcv9/libj2gss.so ./jre/lib/sparcv9/libj2pcsc.so ./jre/lib/sparcv9/libj2pkcs11.so ./jre/lib/sparcv9/libj2ucrypto.so ./jre/lib/sparcv9/libjaas_unix.so ./jre/lib/sparcv9/libjava.so ./jre/lib/sparcv9/libjava_crw_demo.so ./jre/lib/sparcv9/libjawt.so ./jre/lib/sparcv9/libjdwp.so ./jre/lib/sparcv9/libjfr.so ./jre/lib/sparcv9/libjpeg.so ./jre/lib/sparcv9/libjsdt.so ./jre/lib/sparcv9/libjsound.so ./jre/lib/sparcv9/libkcms.so ./jre/lib/sparcv9/liblcms.so ./jre/lib/sparcv9/libmanagement.so ./jre/lib/sparcv9/libmlib_image.so ./jre/lib/sparcv9/libmlib_image_v.so ./jre/lib/sparcv9/libnet.so ./jre/lib/sparcv9/libnio.so ./jre/lib/sparcv9/libnpt.so ./jre/lib/sparcv9/libsctp.so ./jre/lib/sparcv9/libsplashscreen.so ./jre/lib/sparcv9/libsunec.so ./jre/lib/sparcv9/libsunwjdga.so ./jre/lib/sparcv9/libt2k.so ./jre/lib/sparcv9/libunpack.so ./jre/lib/sparcv9/libverify.so ./jre/lib/sparcv9/libzip.so ./jre/lib/sparcv9/server/libjvm.so ./bin/sparcv9/appletviewer ./bin/sparcv9/idlj ./bin/sparcv9/jar ./bin/sparcv9/jarsigner ./bin/sparcv9/java ./bin/sparcv9/javac ./bin/sparcv9/javadoc ./bin/sparcv9/javah ./bin/sparcv9/javap ./bin/sparcv9/jdeps ./bin/sparcv9/jcmd ./bin/sparcv9/jconsole ./bin/sparcv9/jdb ./bin/sparcv9/jhat ./bin/sparcv9/jinfo ./bin/sparcv9/jmap ./bin/sparcv9/jps ./bin/sparcv9/jrunscript ./bin/sparcv9/jsadebugd ./bin/sparcv9/jstack ./bin/sparcv9/jstat ./bin/sparcv9/jstatd ./bin/sparcv9/keytool ./bin/sparcv9/native2ascii ./bin/sparcv9/orbd ./bin/sparcv9/pack200 ./bin/sparcv9/policytool ./bin/sparcv9/rmic ./bin/sparcv9/rmid ./bin/sparcv9/rmiregistry ./bin/sparcv9/schemagen ./bin/sparcv9/serialver ./bin/sparcv9/servertool ./bin/sparcv9/tnameserv ./bin/sparcv9/unpack200 ./bin/sparcv9/wsgen ./bin/sparcv9/wsimport ./bin/sparcv9/xjc ./jre/bin/sparcv9/java ./jre/bin/sparcv9/keytool ./jre/bin/sparcv9/orbd ./jre/bin/sparcv9/pack200 ./jre/bin/sparcv9/policytool ./jre/bin/sparcv9/rmid ./jre/bin/sparcv9/rmiregistry ./jre/bin/sparcv9/servertool ./jre/bin/sparcv9/tnameserv ./jre/bin/sparcv9/unpack200 " # Filter random C++ symbol strings. # Some numbers differ randomly. DIS_DIFF_FILTER="$SED -e s/\$[a-zA-Z0-9_\$]\{15,15\}//g -e s/[0-9a-f][0-9a-f].[0-9a-f][0-9a-f].[0-9a-f][0-9a-f].[0-9a-f][0-9a-f]//g -e s/\(%g1,.0x\)[0-9a-f]*\(,.%g1\)/\1\2/g -e s/\(!.\)[0-9a-f]*\(.\2/g" # Some xor instructions end up with different args in the lib but not in the object files. ACCEPTED_DIS_DIFF=" ./demo/jvmti/waiters/lib/sparcv9/libwaiters.so " SKIP_FULLDUMP_DIFF="true" fi if [ "$OPENJDK_TARGET_OS" = "windows" ]; then ACCEPTED_JARZIP_CONTENTS=" /bin/w2k_lsa_auth.dll " # Probably should add all libs here ACCEPTED_SMALL_SIZE_DIFF=" ./demo/jvmti/gctest/lib/gctest.dll ./demo/jvmti/heapTracker/lib/heapTracker.dll ./demo/jvmti/minst/lib/minst.dll ./jre/bin/attach.dll ./jre/bin/java_crw_demo.dll ./jre/bin/jsoundds.dll ./jre/bin/server/jvm.dll ./bin/appletviewer.exe ./bin/idlj.exe ./bin/jar.exe ./bin/jarsigner.exe ./bin/java-rmi.exe ./bin/java.exe ./bin/javac.exe ./bin/javadoc.exe ./bin/javah.exe ./bin/javap.exe ./bin/jdeps.exe ./bin/javaw.exe ./bin/jcmd.exe ./bin/jconsole.exe ./bin/jdb.exe ./bin/jhat.exe ./bin/jinfo.exe ./bin/jmap.exe ./bin/jps.exe ./bin/jrunscript.exe ./bin/jsadebugd.exe ./bin/jstack.exe ./bin/jstat.exe ./bin/jstatd.exe ./bin/keytool.exe ./bin/kinit.exe ./bin/klist.exe ./bin/ktab.exe ./bin/native2ascii.exe ./bin/orbd.exe ./bin/pack200.exe ./bin/policytool.exe ./bin/rmic.exe ./bin/rmid.exe ./bin/rmiregistry.exe ./bin/schemagen.exe ./bin/serialver.exe ./bin/servertool.exe ./bin/tnameserv.exe ./bin/unpack200.exe ./bin/wsgen.exe ./bin/wsimport.exe ./bin/xjc.exe ./jre/bin/java-rmi.exe ./jre/bin/java.exe ./jre/bin/javaw.exe ./jre/bin/keytool.exe ./jre/bin/kinit.exe ./jre/bin/klist.exe ./jre/bin/ktab.exe ./jre/bin/orbd.exe ./jre/bin/pack200.exe ./jre/bin/policytool.exe ./jre/bin/rmid.exe ./jre/bin/rmiregistry.exe ./jre/bin/servertool.exe ./jre/bin/tnameserv.exe ./jre/bin/unpack200.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 ./jre/bin/jabswitch.exe " ACCEPTED_DIS_DIFF=" ./bin/jabswitch.exe ./jre/bin/jabswitch.exe " # On windows, there are unavoidable allignment issues making # a perfect disasm diff impossible. Filter out the following: # * Random parts of C++ symbols (this is a bit greedy, but does the trick) # @XXXXX # * Hexadecimal addresses that are sometimes alligned differently. # * Dates in version strings XXXX_XX_XX. DIS_DIFF_FILTER="$SED -e s/[@?][A-Z0-9_]\{1,25\}//g -e s/^.\{2,2\}[0-9A-F]\{16,16\}.\{2,2\}//g -e s/[0-9A-F]\{4,16\}h//g -e s/_[0-9]\{4,4\}_[0-9][0-9]_[0-9][0-9]//g" SKIP_BIN_DIFF="true" SKIP_FULLDUMP_DIFF="true" fi if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then ACCEPTED_JARZIP_CONTENTS=" /META-INF/INDEX.LIST " KNOWN_BIN_DIFF=" ./jre/lib/libJObjC.dylib ./lib/libJObjC.dylib " ACCEPTED_BIN_DIFF=" ./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/jhat ./bin/jinfo ./bin/jmap ./bin/jps ./bin/jrunscript ./bin/jsadebugd ./bin/jstack ./bin/jstat ./bin/jstatd ./bin/keytool ./bin/native2ascii ./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 ./jre/bin/java ./jre/bin/keytool ./jre/bin/orbd ./jre/bin/pack200 ./jre/bin/policytool ./jre/bin/rmid ./jre/bin/rmiregistry ./jre/bin/servertool ./jre/bin/tnameserv ./jre/lib/libsaproc.dylib ./jre/lib/server/libjvm.dylib ./lib/libsaproc.dylib ./lib/server/libjvm.dylib ./lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel " KNOWN_SIZE_DIFF=" ./jre/lib/libJObjC.dylib ./lib/libJObjC.dylib " SORT_SYMBOLS=" ./jre/lib/libJObjC.dylib ./lib/libJObjC.dylib " KNOWN_SYM_DIFF=" ./jre/lib/libJObjC.dylib ./lib/libJObjC.dylib " KNOWN_ELF_DIFF=" ./jre/lib/libJObjC.dylib ./lib/libJObjC.dylib " KNOWN_DIS_DIFF=" ./jre/lib/libJObjC.dylib ./lib/libJObjC.dylib " fi