1 #!/bin/bash
   2 #
   3 # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
   4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5 #
   6 # This code is free software; you can redistribute it and/or modify it
   7 # under the terms of the GNU General Public License version 2 only, as
   8 # published by the Free Software Foundation.
   9 #
  10 # This code is distributed in the hope that it will be useful, but WITHOUT
  11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13 # version 2 for more details (a copy is included in the LICENSE file that
  14 # accompanied this code).
  15 #
  16 # You should have received a copy of the GNU General Public License version
  17 # 2 along with this work; if not, write to the Free Software Foundation,
  18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19 #
  20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21 # or visit www.oracle.com if you need additional information or have any
  22 # questions.
  23 #
  24 
  25 # This script is not to be run as stand-alone, it should be included from
  26 # compare.sh.
  27 
  28 ##########################################################################################
  29 # Check that we are run via inclusion from compare.sh and not as stand-alone.
  30 if [ -z "$COMPARE_EXCEPTIONS_INCLUDE" ]; then
  31     echo "Error: This script should not be run as stand-alone. It is included by compare.sh"
  32     exit 1
  33 fi
  34 
  35 ##########################################################################################
  36 # Diff exceptions
  37 
  38 if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
  39 
  40 STRIP_BEFORE_COMPARE="
  41 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
  42 ./demo/jvmti/gctest/lib/libgctest.so
  43 ./demo/jvmti/heapTracker/lib/libheapTracker.so
  44 ./demo/jvmti/heapViewer/lib/libheapViewer.so
  45 ./demo/jvmti/hprof/lib/libhprof.so
  46 ./demo/jvmti/minst/lib/libminst.so
  47 ./demo/jvmti/mtrace/lib/libmtrace.so
  48 ./demo/jvmti/versionCheck/lib/libversionCheck.so
  49 ./demo/jvmti/waiters/lib/libwaiters.so
  50 "
  51 
  52 ACCEPTED_BIN_DIFF="
  53 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
  54 ./demo/jvmti/gctest/lib/libgctest.so
  55 ./demo/jvmti/heapTracker/lib/libheapTracker.so
  56 ./demo/jvmti/heapViewer/lib/libheapViewer.so
  57 ./demo/jvmti/hprof/lib/libhprof.so
  58 ./demo/jvmti/minst/lib/libminst.so
  59 ./demo/jvmti/mtrace/lib/libmtrace.so
  60 ./demo/jvmti/versionCheck/lib/libversionCheck.so
  61 ./demo/jvmti/waiters/lib/libwaiters.so
  62 ./jre/lib/i386/client/libjvm.so
  63 ./jre/lib/i386/libattach.so
  64 ./jre/lib/i386/libdt_socket.so
  65 ./jre/lib/i386/libhprof.so
  66 ./jre/lib/i386/libinstrument.so
  67 ./jre/lib/i386/libjava_crw_demo.so
  68 ./jre/lib/i386/libjsdt.so
  69 ./jre/lib/i386/libmanagement.so
  70 ./jre/lib/i386/libnpt.so
  71 ./jre/lib/i386/libverify.so
  72 ./jre/lib/i386/server/libjvm.so
  73 ./bin/appletviewer
  74 ./bin/extcheck
  75 ./bin/idlj
  76 ./bin/jar
  77 ./bin/jarsigner
  78 ./bin/java
  79 ./bin/javac
  80 ./bin/javadoc
  81 ./bin/javah
  82 ./bin/javap
  83 ./bin/jdeps
  84 ./bin/jcmd
  85 ./bin/jconsole
  86 ./bin/jdb
  87 ./bin/jhat
  88 ./bin/jinfo
  89 ./bin/jmap
  90 ./bin/jps
  91 ./bin/jrunscript
  92 ./bin/jsadebugd
  93 ./bin/jstack
  94 ./bin/jstat
  95 ./bin/jstatd
  96 ./bin/keytool
  97 ./bin/native2ascii
  98 ./bin/orbd
  99 ./bin/pack200
 100 ./bin/policytool
 101 ./bin/rmic
 102 ./bin/rmid
 103 ./bin/rmiregistry
 104 ./bin/schemagen
 105 ./bin/serialver
 106 ./bin/servertool
 107 ./bin/tnameserv
 108 ./bin/wsgen
 109 ./bin/wsimport
 110 ./bin/xjc
 111 ./jre/bin/java
 112 ./jre/bin/keytool
 113 ./jre/bin/orbd
 114 ./jre/bin/pack200
 115 ./jre/bin/policytool
 116 ./jre/bin/rmid
 117 ./jre/bin/rmiregistry
 118 ./jre/bin/servertool
 119 ./jre/bin/tnameserv
 120 "
 121 
 122 fi
 123 
 124 if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
 125 
 126 STRIP_BEFORE_COMPARE="
 127 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 128 ./demo/jvmti/gctest/lib/libgctest.so
 129 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 130 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 131 ./demo/jvmti/hprof/lib/libhprof.so
 132 ./demo/jvmti/minst/lib/libminst.so
 133 ./demo/jvmti/mtrace/lib/libmtrace.so
 134 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 135 ./demo/jvmti/waiters/lib/libwaiters.so
 136 "
 137 
 138 ACCEPTED_BIN_DIFF="
 139 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 140 ./demo/jvmti/gctest/lib/libgctest.so
 141 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 142 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 143 ./demo/jvmti/hprof/lib/libhprof.so
 144 ./demo/jvmti/minst/lib/libminst.so
 145 ./demo/jvmti/mtrace/lib/libmtrace.so
 146 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 147 ./demo/jvmti/waiters/lib/libwaiters.so
 148 ./jre/lib/amd64/libattach.so
 149 ./jre/lib/amd64/libdt_socket.so
 150 ./jre/lib/amd64/libhprof.so
 151 ./jre/lib/amd64/libinstrument.so
 152 ./jre/lib/amd64/libjava_crw_demo.so
 153 ./jre/lib/amd64/libjsdt.so
 154 ./jre/lib/amd64/libjsig.so
 155 ./jre/lib/amd64/libmanagement.so
 156 ./jre/lib/amd64/libnpt.so
 157 ./jre/lib/amd64/libsaproc.so
 158 ./jre/lib/amd64/libverify.so
 159 ./jre/lib/amd64/server/libjsig.so
 160 ./jre/lib/amd64/server/libjvm.so
 161 ./bin/appletviewer
 162 ./bin/extcheck
 163 ./bin/idlj
 164 ./bin/jar
 165 ./bin/jarsigner
 166 ./bin/java
 167 ./bin/javac
 168 ./bin/javadoc
 169 ./bin/javah
 170 ./bin/javap
 171 ./bin/jdeps
 172 ./bin/jcmd
 173 ./bin/jconsole
 174 ./bin/jdb
 175 ./bin/jhat
 176 ./bin/jinfo
 177 ./bin/jmap
 178 ./bin/jps
 179 ./bin/jrunscript
 180 ./bin/jsadebugd
 181 ./bin/jstack
 182 ./bin/jstat
 183 ./bin/jstatd
 184 ./bin/keytool
 185 ./bin/native2ascii
 186 ./bin/orbd
 187 ./bin/pack200
 188 ./bin/policytool
 189 ./bin/rmic
 190 ./bin/rmid
 191 ./bin/rmiregistry
 192 ./bin/schemagen
 193 ./bin/serialver
 194 ./bin/servertool
 195 ./bin/tnameserv
 196 ./bin/wsgen
 197 ./bin/wsimport
 198 ./bin/xjc
 199 ./jre/bin/java
 200 ./jre/bin/keytool
 201 ./jre/bin/orbd
 202 ./jre/bin/pack200
 203 ./jre/bin/policytool
 204 ./jre/bin/rmid
 205 ./jre/bin/rmiregistry
 206 ./jre/bin/servertool
 207 ./jre/bin/tnameserv
 208 "
 209 
 210 fi
 211 
 212 if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
 213 
 214 STRIP_BEFORE_COMPARE="
 215 ./demo/jni/Poller/lib/libPoller.so
 216 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 217 ./demo/jvmti/gctest/lib/libgctest.so
 218 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 219 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 220 ./demo/jvmti/hprof/lib/libhprof.so
 221 ./demo/jvmti/minst/lib/libminst.so
 222 ./demo/jvmti/mtrace/lib/libmtrace.so
 223 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 224 ./demo/jvmti/waiters/lib/libwaiters.so
 225 ./jre/lib/i386/jexec
 226 "
 227 
 228 SORT_SYMBOLS="
 229 ./jre/lib/i386/client/libjvm.so
 230 ./jre/lib/i386/libsaproc.so
 231 ./jre/lib/i386/server/libjvm.so
 232 "
 233 
 234 SKIP_BIN_DIFF="true"
 235 
 236 ACCEPTED_SMALL_SIZE_DIFF="
 237 ./demo/jni/Poller/lib/libPoller.so
 238 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 239 ./demo/jvmti/gctest/lib/libgctest.so
 240 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 241 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 242 ./demo/jvmti/hprof/lib/libhprof.so
 243 ./demo/jvmti/minst/lib/libminst.so
 244 ./demo/jvmti/mtrace/lib/libmtrace.so
 245 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 246 ./demo/jvmti/waiters/lib/libwaiters.so
 247 ./jre/lib/i386/client/libjvm.so
 248 ./jre/lib/i386/jli/libjli.so
 249 ./jre/lib/i386/libJdbcOdbc.so
 250 ./jre/lib/i386/libattach.so
 251 ./jre/lib/i386/libawt.so
 252 ./jre/lib/i386/libawt_headless.so
 253 ./jre/lib/i386/libawt_xawt.so
 254 ./jre/lib/i386/libdcpr.so
 255 ./jre/lib/i386/libdt_socket.so
 256 ./jre/lib/i386/libfontmanager.so
 257 ./jre/lib/i386/libhprof.so
 258 ./jre/lib/i386/libinstrument.so
 259 ./jre/lib/i386/libj2gss.so
 260 ./jre/lib/i386/libj2pcsc.so
 261 ./jre/lib/i386/libj2pkcs11.so
 262 ./jre/lib/i386/libj2ucrypto.so
 263 ./jre/lib/i386/libjaas_unix.so
 264 ./jre/lib/i386/libjava.so
 265 ./jre/lib/i386/libjava_crw_demo.so
 266 ./jre/lib/i386/libjawt.so
 267 ./jre/lib/i386/libjdwp.so
 268 ./jre/lib/i386/libjfr.so
 269 ./jre/lib/i386/libjpeg.so
 270 ./jre/lib/i386/libjsdt.so
 271 ./jre/lib/i386/libjsound.so
 272 ./jre/lib/i386/libkcms.so
 273 ./jre/lib/i386/liblcms.so
 274 ./jre/lib/i386/libmanagement.so
 275 ./jre/lib/i386/libmlib_image.so
 276 ./jre/lib/i386/libnet.so
 277 ./jre/lib/i386/libnio.so
 278 ./jre/lib/i386/libnpt.so
 279 ./jre/lib/i386/libsctp.so
 280 ./jre/lib/i386/libsplashscreen.so
 281 ./jre/lib/i386/libsunec.so
 282 ./jre/lib/i386/libsunwjdga.so
 283 ./jre/lib/i386/libt2k.so
 284 ./jre/lib/i386/libunpack.so
 285 ./jre/lib/i386/libverify.so
 286 ./jre/lib/i386/libzip.so
 287 ./jre/lib/i386/libdeploy.so
 288 ./jre/lib/i386/libjavaplugin.so
 289 ./jre/lib/i386/libjavaplugin_jni.so
 290 ./jre/lib/i386/libjavaplugin_nscp.so
 291 ./jre/lib/i386/libjavaplugin_oji.so
 292 ./jre/lib/i386/libnpjp2.so
 293 ./jre/plugin/i386/ns4/libjavaplugin.so
 294 ./jre/plugin/i386/ns7/libjavaplugin_oji.so
 295 ./jre/lib/i386/server/libjvm.so
 296 ./jre/lib/i386/client/64/libjvm_db.so
 297 ./jre/lib/i386/client/64/libjvm_dtrace.so
 298 ./jre/lib/i386/client/libjvm_db.so
 299 ./jre/lib/i386/client/libjvm_dtrace.so
 300 ./jre/lib/i386/server/64/libjvm_db.so
 301 ./jre/lib/i386/server/64/libjvm_dtrace.so
 302 ./jre/lib/i386/server/libjvm_db.so
 303 ./jre/lib/i386/server/libjvm_dtrace.so
 304 ./bin/appletviewer
 305 ./bin/extcheck
 306 ./bin/idlj
 307 ./bin/jar
 308 ./bin/jarsigner
 309 ./bin/java
 310 ./bin/javac
 311 ./bin/javadoc
 312 ./bin/javah
 313 ./bin/javap
 314 ./bin/jdeps
 315 ./bin/javaws
 316 ./bin/jcmd
 317 ./bin/jconsole
 318 ./bin/jdb
 319 ./bin/jhat
 320 ./bin/jinfo
 321 ./bin/jmap
 322 ./bin/jps
 323 ./bin/jrunscript
 324 ./bin/jsadebugd
 325 ./bin/jstack
 326 ./bin/jstat
 327 ./bin/jstatd
 328 ./bin/keytool
 329 ./bin/native2ascii
 330 ./bin/orbd
 331 ./bin/pack200
 332 ./bin/policytool
 333 ./bin/rmic
 334 ./bin/rmid
 335 ./bin/rmiregistry
 336 ./bin/schemagen
 337 ./bin/serialver
 338 ./bin/servertool
 339 ./bin/tnameserv
 340 ./bin/unpack200
 341 ./bin/wsgen
 342 ./bin/wsimport
 343 ./bin/xjc
 344 ./jre/bin/java
 345 ./jre/bin/java_vm
 346 ./jre/bin/javaws
 347 ./jre/bin/keytool
 348 ./jre/bin/orbd
 349 ./jre/bin/pack200
 350 ./jre/bin/policytool
 351 ./jre/bin/rmid
 352 ./jre/bin/rmiregistry
 353 ./jre/bin/servertool
 354 ./jre/bin/tnameserv
 355 ./jre/bin/unpack200
 356 ./jre/lib/i386/jexec
 357 "
 358 
 359 SKIP_FULLDUMP_DIFF="true"
 360 
 361 # Filter random C++ symbol strings.
 362 # Some numbers differ randomly.
 363 # Can't use space in these expressions as the shell will mess with them.
 364 DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g -e s/\([0-9a-f][0-9a-f].\)\{2,8\}[0-9a-f][0-9a-f]/<NUMS>/g -e s/\(0x\)[0-9a-f]*\([,(>]\)/\1<HEX>\2/g -e s/\(0x\)[0-9a-f]*$/\1<HEX>/g -e s/\(\#.\)[0-9a-f]*\(.<\)/\1<HEX>\2/g -e s/[\.A-Za-z0-9%]\{16,16\}$/<BIN>/g"
 365 
 366 fi
 367 
 368 if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
 369 
 370 STRIP_BEFORE_COMPARE="
 371 ./demo/jni/Poller/lib/amd64/libPoller.so
 372 ./demo/jvmti/compiledMethodLoad/lib/amd64/libcompiledMethodLoad.so
 373 ./demo/jvmti/gctest/lib/amd64/libgctest.so
 374 ./demo/jvmti/heapTracker/lib/amd64/libheapTracker.so
 375 ./demo/jvmti/heapViewer/lib/amd64/libheapViewer.so
 376 ./demo/jvmti/hprof/lib/amd64/libhprof.so
 377 ./demo/jvmti/minst/lib/amd64/libminst.so
 378 ./demo/jvmti/mtrace/lib/amd64/libmtrace.so
 379 ./demo/jvmti/versionCheck/lib/amd64/libversionCheck.so
 380 ./demo/jvmti/waiters/lib/amd64/libwaiters.so
 381 "
 382 
 383 SORT_SYMBOLS="
 384 ./jre/lib/amd64/server/libjvm.so
 385 ./jre/lib/amd64/libsaproc.so
 386 "
 387 
 388 SKIP_BIN_DIFF="true"
 389 
 390 ACCEPTED_SMALL_SIZE_DIFF="
 391 ./demo/jni/Poller/lib/amd64/libPoller.so
 392 ./demo/jvmti/compiledMethodLoad/lib/amd64/libcompiledMethodLoad.so
 393 ./demo/jvmti/gctest/lib/amd64/libgctest.so
 394 ./demo/jvmti/heapTracker/lib/amd64/libheapTracker.so
 395 ./demo/jvmti/heapViewer/lib/amd64/libheapViewer.so
 396 ./demo/jvmti/hprof/lib/amd64/libhprof.so
 397 ./demo/jvmti/minst/lib/amd64/libminst.so
 398 ./demo/jvmti/mtrace/lib/amd64/libmtrace.so
 399 ./demo/jvmti/versionCheck/lib/amd64/libversionCheck.so
 400 ./demo/jvmti/waiters/lib/amd64/libwaiters.so
 401 ./jre/lib/amd64/jli/libjli.so
 402 ./jre/lib/amd64/libJdbcOdbc.so
 403 ./jre/lib/amd64/libattach.so
 404 ./jre/lib/amd64/libawt.so
 405 ./jre/lib/amd64/libawt_headless.so
 406 ./jre/lib/amd64/libawt_xawt.so
 407 ./jre/lib/amd64/libdcpr.so
 408 ./jre/lib/amd64/libdt_socket.so
 409 ./jre/lib/amd64/libfontmanager.so
 410 ./jre/lib/amd64/libhprof.so
 411 ./jre/lib/amd64/libinstrument.so
 412 ./jre/lib/amd64/libj2gss.so
 413 ./jre/lib/amd64/libj2pcsc.so
 414 ./jre/lib/amd64/libj2pkcs11.so
 415 ./jre/lib/amd64/libj2ucrypto.so
 416 ./jre/lib/amd64/libjaas_unix.so
 417 ./jre/lib/amd64/libjava.so
 418 ./jre/lib/amd64/libjava_crw_demo.so
 419 ./jre/lib/amd64/libjawt.so
 420 ./jre/lib/amd64/libjdwp.so
 421 ./jre/lib/amd64/libjfr.so
 422 ./jre/lib/amd64/libjpeg.so
 423 ./jre/lib/amd64/libjsdt.so
 424 ./jre/lib/amd64/libjsound.so
 425 ./jre/lib/amd64/libkcms.so
 426 ./jre/lib/amd64/liblcms.so
 427 ./jre/lib/amd64/libmanagement.so
 428 ./jre/lib/amd64/libmlib_image.so
 429 ./jre/lib/amd64/libnet.so
 430 ./jre/lib/amd64/libnio.so
 431 ./jre/lib/amd64/libnpt.so
 432 ./jre/lib/amd64/libsctp.so
 433 ./jre/lib/amd64/libsplashscreen.so
 434 ./jre/lib/amd64/libsunec.so
 435 ./jre/lib/amd64/libsunwjdga.so
 436 ./jre/lib/amd64/libt2k.so
 437 ./jre/lib/amd64/libunpack.so
 438 ./jre/lib/amd64/libverify.so
 439 ./jre/lib/amd64/libzip.so
 440 ./jre/lib/amd64/server/64/libjvm_db.so
 441 ./jre/lib/amd64/server/64/libjvm_dtrace.so
 442 ./jre/lib/amd64/server/libjvm.so
 443 ./jre/lib/amd64/server/libjvm_db.so
 444 ./jre/lib/amd64/server/libjvm_dtrace.so
 445 ./bin/amd64/appletviewer
 446 ./bin/amd64/extcheck
 447 ./bin/amd64/idlj
 448 ./bin/amd64/jar
 449 ./bin/amd64/jarsigner
 450 ./bin/amd64/java
 451 ./bin/amd64/javac
 452 ./bin/amd64/javadoc
 453 ./bin/amd64/javah
 454 ./bin/amd64/javap
 455 ./bin/amd64/jdeps
 456 ./bin/amd64/jcmd
 457 ./bin/amd64/jconsole
 458 ./bin/amd64/jdb
 459 ./bin/amd64/jhat
 460 ./bin/amd64/jinfo
 461 ./bin/amd64/jmap
 462 ./bin/amd64/jps
 463 ./bin/amd64/jrunscript
 464 ./bin/amd64/jsadebugd
 465 ./bin/amd64/jstack
 466 ./bin/amd64/jstat
 467 ./bin/amd64/jstatd
 468 ./bin/amd64/keytool
 469 ./bin/amd64/native2ascii
 470 ./bin/amd64/orbd
 471 ./bin/amd64/pack200
 472 ./bin/amd64/policytool
 473 ./bin/amd64/rmic
 474 ./bin/amd64/rmid
 475 ./bin/amd64/rmiregistry
 476 ./bin/amd64/schemagen
 477 ./bin/amd64/serialver
 478 ./bin/amd64/servertool
 479 ./bin/amd64/tnameserv
 480 ./bin/amd64/unpack200
 481 ./bin/amd64/wsgen
 482 ./bin/amd64/wsimport
 483 ./bin/amd64/xjc
 484 ./jre/bin/amd64/java
 485 ./jre/bin/amd64/keytool
 486 ./jre/bin/amd64/orbd
 487 ./jre/bin/amd64/pack200
 488 ./jre/bin/amd64/policytool
 489 ./jre/bin/amd64/rmid
 490 ./jre/bin/amd64/rmiregistry
 491 ./jre/bin/amd64/servertool
 492 ./jre/bin/amd64/tnameserv
 493 ./jre/bin/amd64/unpack200
 494 ./jre/lib/amd64/jexec
 495 "
 496 
 497 SKIP_FULLDUMP_DIFF="true"
 498 
 499 # Filter random C++ symbol strings.
 500 # Some numbers differ randomly.
 501 # Can't use space in these expressions as the shell will mess with them.
 502 DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g -e s/\([0-9a-f][0-9a-f].\)\{2,8\}[0-9a-f][0-9a-f]/<NUMS>/g -e s/\(0x\)[0-9a-f]*\([,(>]\)/\1<HEX>\2/g -e s/\(0x\)[0-9a-f]*$/\1<HEX>/g -e s/\(\#.\)[0-9a-f]*\(.<\)/\1<HEX>\2/g -e s/[\.A-Za-z0-9%]\{16,16\}$/<BIN>/g"
 503 
 504 fi
 505 
 506 if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparc" ]; then
 507 
 508 STRIP_BEFORE_COMPARE="
 509 ./demo/jni/Poller/lib/libPoller.so
 510 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 511 ./demo/jvmti/gctest/lib/libgctest.so
 512 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 513 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 514 ./demo/jvmti/hprof/lib/libhprof.so
 515 ./demo/jvmti/minst/lib/libminst.so
 516 ./demo/jvmti/mtrace/lib/libmtrace.so
 517 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 518 ./demo/jvmti/waiters/lib/libwaiters.so
 519 ./jre/lib/sparc/jexec
 520 "
 521 
 522 SORT_SYMBOLS="
 523 ./demo/jvmti/waiters/lib/libwaiters.so
 524 ./jre/lib/sparc/client/64/libjvm_db.so
 525 ./jre/lib/sparc/client/64/libjvm_dtrace.so
 526 ./jre/lib/sparc/client/libjsig.so
 527 ./jre/lib/sparc/client/libjvm.so
 528 ./jre/lib/sparc/client/libjvm_db.so
 529 ./jre/lib/sparc/client/libjvm_dtrace.so
 530 ./jre/lib/sparc/libjsig.so
 531 ./jre/lib/sparc/libsaproc.so
 532 ./jre/lib/sparc/server/64/libjvm_db.so
 533 ./jre/lib/sparc/server/64/libjvm_dtrace.so
 534 ./jre/lib/sparc/server/libjsig.so
 535 ./jre/lib/sparc/server/libjvm.so
 536 ./jre/lib/sparc/server/libjvm_db.so
 537 ./jre/lib/sparc/server/libjvm_dtrace.so
 538 "
 539 
 540 SKIP_BIN_DIFF="true"
 541 
 542 ACCEPTED_SMALL_SIZE_DIFF="
 543 ./demo/jni/Poller/lib/libPoller.so
 544 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 545 ./demo/jvmti/gctest/lib/libgctest.so
 546 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 547 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 548 ./demo/jvmti/hprof/lib/libhprof.so
 549 ./demo/jvmti/minst/lib/libminst.so
 550 ./demo/jvmti/mtrace/lib/libmtrace.so
 551 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 552 ./demo/jvmti/waiters/lib/libwaiters.so
 553 ./jre/lib/sparc/client/libjvm.so
 554 ./jre/lib/sparc/jli/libjli.so
 555 ./jre/lib/sparc/libJdbcOdbc.so
 556 ./jre/lib/sparc/libattach.so
 557 ./jre/lib/sparc/libawt.so
 558 ./jre/lib/sparc/libawt_headless.so
 559 ./jre/lib/sparc/libawt_xawt.so
 560 ./jre/lib/sparc/libdcpr.so
 561 ./jre/lib/sparc/libdt_socket.so
 562 ./jre/lib/sparc/libfontmanager.so
 563 ./jre/lib/sparc/libhprof.so
 564 ./jre/lib/sparc/libinstrument.so
 565 ./jre/lib/sparc/libj2gss.so
 566 ./jre/lib/sparc/libj2pcsc.so
 567 ./jre/lib/sparc/libj2pkcs11.so
 568 ./jre/lib/sparc/libj2ucrypto.so
 569 ./jre/lib/sparc/libjaas_unix.so
 570 ./jre/lib/sparc/libjava.so
 571 ./jre/lib/sparc/libjava_crw_demo.so
 572 ./jre/lib/sparc/libjawt.so
 573 ./jre/lib/sparc/libjdwp.so
 574 ./jre/lib/sparc/libjfr.so
 575 ./jre/lib/sparc/libjpeg.so
 576 ./jre/lib/sparc/libjsdt.so
 577 ./jre/lib/sparc/libjsound.so
 578 ./jre/lib/sparc/libkcms.so
 579 ./jre/lib/sparc/liblcms.so
 580 ./jre/lib/sparc/libmanagement.so
 581 ./jre/lib/sparc/libmlib_image.so
 582 ./jre/lib/sparc/libmlib_image_v.so
 583 ./jre/lib/sparc/libnet.so
 584 ./jre/lib/sparc/libnio.so
 585 ./jre/lib/sparc/libnpt.so
 586 ./jre/lib/sparc/libsctp.so
 587 ./jre/lib/sparc/libsplashscreen.so
 588 ./jre/lib/sparc/libsunec.so
 589 ./jre/lib/sparc/libsunwjdga.so
 590 ./jre/lib/sparc/libt2k.so
 591 ./jre/lib/sparc/libunpack.so
 592 ./jre/lib/sparc/libverify.so
 593 ./jre/lib/sparc/libzip.so
 594 ./jre/lib/sparc/libdeploy.so
 595 ./jre/lib/sparc/libjavaplugin.so
 596 ./jre/lib/sparc/libjavaplugin_jni.so
 597 ./jre/lib/sparc/libjavaplugin_nscp.so
 598 ./jre/lib/sparc/libjavaplugin_oji.so
 599 ./jre/lib/sparc/libnpjp2.so
 600 ./jre/plugin/sparc/ns4/libjavaplugin.so
 601 ./jre/plugin/sparc/ns7/libjavaplugin_oji.so
 602 ./jre/lib/sparc/server/libjvm.so
 603 ./bin/appletviewer
 604 ./bin/extcheck
 605 ./bin/idlj
 606 ./bin/jar
 607 ./bin/jarsigner
 608 ./bin/java
 609 ./bin/javac
 610 ./bin/javadoc
 611 ./bin/javah
 612 ./bin/javap
 613 ./bin/jdeps
 614 ./bin/javaws
 615 ./bin/jcmd
 616 ./bin/jconsole
 617 ./bin/jdb
 618 ./bin/jhat
 619 ./bin/jinfo
 620 ./bin/jmap
 621 ./bin/jps
 622 ./bin/jrunscript
 623 ./bin/jsadebugd
 624 ./bin/jstack
 625 ./bin/jstat
 626 ./bin/jstatd
 627 ./bin/keytool
 628 ./bin/native2ascii
 629 ./bin/orbd
 630 ./bin/pack200
 631 ./bin/policytool
 632 ./bin/rmic
 633 ./bin/rmid
 634 ./bin/rmiregistry
 635 ./bin/schemagen
 636 ./bin/serialver
 637 ./bin/servertool
 638 ./bin/tnameserv
 639 ./bin/unpack200
 640 ./bin/wsgen
 641 ./bin/wsimport
 642 ./bin/xjc
 643 ./jre/bin/java
 644 ./jre/bin/java_vm
 645 ./jre/bin/javaws
 646 ./jre/bin/keytool
 647 ./jre/bin/orbd
 648 ./jre/bin/pack200
 649 ./jre/bin/policytool
 650 ./jre/bin/rmid
 651 ./jre/bin/rmiregistry
 652 ./jre/bin/servertool
 653 ./jre/bin/tnameserv
 654 ./jre/bin/unpack200
 655 ./jre/lib/sparc/jexec
 656 "
 657 
 658 # Filter random C++ symbol strings.
 659 # Some numbers differ randomly.
 660 DIS_DIFF_FILTER="$SED -e s/\$[a-zA-Z0-9_\$]\{15,15\}/<SYM>/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<NUM>/g -e s/\(%g1,.0x\)[0-9a-f]*\(,.%g1\)/\1<HEX>\2/g -e s/\(!.\)[0-9a-f]*\(.<SUNWprivate_1.1+0x\)[0-9a-f]*/\1<NUM>\2<HEX>/g"
 661 
 662 # Some xor instructions end up with different args in the lib but not in the object files.
 663 ACCEPTED_DIS_DIFF="
 664 ./demo/jvmti/waiters/lib/libwaiters.so
 665 "
 666 
 667 SKIP_FULLDUMP_DIFF="true"
 668 
 669 fi
 670 
 671 if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
 672 
 673 STRIP_BEFORE_COMPARE="
 674 ./demo/jni/Poller/lib/sparcv9/libPoller.so
 675 ./demo/jvmti/compiledMethodLoad/lib/sparcv9/libcompiledMethodLoad.so
 676 ./demo/jvmti/gctest/lib/sparcv9/libgctest.so
 677 ./demo/jvmti/heapTracker/lib/sparcv9/libheapTracker.so
 678 ./demo/jvmti/heapViewer/lib/sparcv9/libheapViewer.so
 679 ./demo/jvmti/hprof/lib/sparcv9/libhprof.so
 680 ./demo/jvmti/minst/lib/sparcv9/libminst.so
 681 ./demo/jvmti/mtrace/lib/sparcv9/libmtrace.so
 682 ./demo/jvmti/versionCheck/lib/sparcv9/libversionCheck.so
 683 ./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
 684 "
 685 
 686 SORT_SYMBOLS="
 687 ./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
 688 ./jre/lib/sparcv9/libjsig.so
 689 ./jre/lib/sparcv9/libsaproc.so
 690 ./jre/lib/sparcv9/server/libjvm.so
 691 ./jre/lib/sparcv9/server/libjvm_dtrace.so
 692 "
 693 
 694 SKIP_BIN_DIFF="true"
 695 
 696 ACCEPTED_SMALL_SIZE_DIFF="
 697 ./demo/jni/Poller/lib/sparcv9/libPoller.so
 698 ./demo/jvmti/compiledMethodLoad/lib/sparcv9/libcompiledMethodLoad.so
 699 ./demo/jvmti/gctest/lib/sparcv9/libgctest.so
 700 ./demo/jvmti/heapTracker/lib/sparcv9/libheapTracker.so
 701 ./demo/jvmti/heapViewer/lib/sparcv9/libheapViewer.so
 702 ./demo/jvmti/hprof/lib/sparcv9/libhprof.so
 703 ./demo/jvmti/minst/lib/sparcv9/libminst.so
 704 ./demo/jvmti/mtrace/lib/sparcv9/libmtrace.so
 705 ./demo/jvmti/versionCheck/lib/sparcv9/libversionCheck.so
 706 ./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
 707 ./jre/lib/sparcv9/client/libjvm.so
 708 ./jre/lib/sparcv9/jli/libjli.so
 709 ./jre/lib/sparcv9/libJdbcOdbc.so
 710 ./jre/lib/sparcv9/libattach.so
 711 ./jre/lib/sparcv9/libawt.so
 712 ./jre/lib/sparcv9/libawt_headless.so
 713 ./jre/lib/sparcv9/libawt_xawt.so
 714 ./jre/lib/sparcv9/libdcpr.so
 715 ./jre/lib/sparcv9/libdt_socket.so
 716 ./jre/lib/sparcv9/libfontmanager.so
 717 ./jre/lib/sparcv9/libhprof.so
 718 ./jre/lib/sparcv9/libinstrument.so
 719 ./jre/lib/sparcv9/libj2gss.so
 720 ./jre/lib/sparcv9/libj2pcsc.so
 721 ./jre/lib/sparcv9/libj2pkcs11.so
 722 ./jre/lib/sparcv9/libj2ucrypto.so
 723 ./jre/lib/sparcv9/libjaas_unix.so
 724 ./jre/lib/sparcv9/libjava.so
 725 ./jre/lib/sparcv9/libjava_crw_demo.so
 726 ./jre/lib/sparcv9/libjawt.so
 727 ./jre/lib/sparcv9/libjdwp.so
 728 ./jre/lib/sparcv9/libjfr.so
 729 ./jre/lib/sparcv9/libjpeg.so
 730 ./jre/lib/sparcv9/libjsdt.so
 731 ./jre/lib/sparcv9/libjsound.so
 732 ./jre/lib/sparcv9/libkcms.so
 733 ./jre/lib/sparcv9/liblcms.so
 734 ./jre/lib/sparcv9/libmanagement.so
 735 ./jre/lib/sparcv9/libmlib_image.so
 736 ./jre/lib/sparcv9/libmlib_image_v.so
 737 ./jre/lib/sparcv9/libnet.so
 738 ./jre/lib/sparcv9/libnio.so
 739 ./jre/lib/sparcv9/libnpt.so
 740 ./jre/lib/sparcv9/libsctp.so
 741 ./jre/lib/sparcv9/libsplashscreen.so
 742 ./jre/lib/sparcv9/libsunec.so
 743 ./jre/lib/sparcv9/libsunwjdga.so
 744 ./jre/lib/sparcv9/libt2k.so
 745 ./jre/lib/sparcv9/libunpack.so
 746 ./jre/lib/sparcv9/libverify.so
 747 ./jre/lib/sparcv9/libzip.so
 748 ./jre/lib/sparcv9/server/libjvm.so
 749 ./bin/sparcv9/appletviewer
 750 ./bin/sparcv9/extcheck
 751 ./bin/sparcv9/idlj
 752 ./bin/sparcv9/jar
 753 ./bin/sparcv9/jarsigner
 754 ./bin/sparcv9/java
 755 ./bin/sparcv9/javac
 756 ./bin/sparcv9/javadoc
 757 ./bin/sparcv9/javah
 758 ./bin/sparcv9/javap
 759 ./bin/sparcv9/jdeps
 760 ./bin/sparcv9/jcmd
 761 ./bin/sparcv9/jconsole
 762 ./bin/sparcv9/jdb
 763 ./bin/sparcv9/jhat
 764 ./bin/sparcv9/jinfo
 765 ./bin/sparcv9/jmap
 766 ./bin/sparcv9/jps
 767 ./bin/sparcv9/jrunscript
 768 ./bin/sparcv9/jsadebugd
 769 ./bin/sparcv9/jstack
 770 ./bin/sparcv9/jstat
 771 ./bin/sparcv9/jstatd
 772 ./bin/sparcv9/keytool
 773 ./bin/sparcv9/native2ascii
 774 ./bin/sparcv9/orbd
 775 ./bin/sparcv9/pack200
 776 ./bin/sparcv9/policytool
 777 ./bin/sparcv9/rmic
 778 ./bin/sparcv9/rmid
 779 ./bin/sparcv9/rmiregistry
 780 ./bin/sparcv9/schemagen
 781 ./bin/sparcv9/serialver
 782 ./bin/sparcv9/servertool
 783 ./bin/sparcv9/tnameserv
 784 ./bin/sparcv9/unpack200
 785 ./bin/sparcv9/wsgen
 786 ./bin/sparcv9/wsimport
 787 ./bin/sparcv9/xjc
 788 ./jre/bin/sparcv9/java
 789 ./jre/bin/sparcv9/keytool
 790 ./jre/bin/sparcv9/orbd
 791 ./jre/bin/sparcv9/pack200
 792 ./jre/bin/sparcv9/policytool
 793 ./jre/bin/sparcv9/rmid
 794 ./jre/bin/sparcv9/rmiregistry
 795 ./jre/bin/sparcv9/servertool
 796 ./jre/bin/sparcv9/tnameserv
 797 ./jre/bin/sparcv9/unpack200
 798 "
 799 
 800 # Filter random C++ symbol strings.
 801 # Some numbers differ randomly.
 802 DIS_DIFF_FILTER="$SED -e s/\$[a-zA-Z0-9_\$]\{15,15\}/<SYM>/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]/<NUMS>/g -e s/\(%g1,.0x\)[0-9a-f]*\(,.%g1\)/\1<HEX>\2/g -e s/\(!.\)[0-9a-f]*\(.<SUNWprivate_1.1+0x\)[0-9a-f]*/\1<NUM>\2<HEX>/g"
 803 
 804 # Some xor instructions end up with different args in the lib but not in the object files.
 805 ACCEPTED_DIS_DIFF="
 806 ./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
 807 "
 808 
 809 SKIP_FULLDUMP_DIFF="true"
 810 
 811 fi
 812 
 813 
 814 if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
 815 
 816 # Probably should add all libs here
 817 ACCEPTED_SMALL_SIZE_DIFF="
 818 ./demo/jvmti/gctest/lib/gctest.dll
 819 ./demo/jvmti/heapTracker/lib/heapTracker.dll
 820 ./demo/jvmti/minst/lib/minst.dll
 821 ./jre/bin/attach.dll
 822 ./jre/bin/java_crw_demo.dll
 823 ./jre/bin/jsoundds.dll
 824 ./bin/appletviewer.exe
 825 ./bin/extcheck.exe
 826 ./bin/idlj.exe
 827 ./bin/jar.exe
 828 ./bin/jarsigner.exe
 829 ./bin/java-rmi.exe
 830 ./bin/java.exe
 831 ./bin/javac.exe
 832 ./bin/javadoc.exe
 833 ./bin/javah.exe
 834 ./bin/javap.exe
 835 ./bin/jdeps.exe
 836 ./bin/javaw.exe
 837 ./bin/jcmd.exe
 838 ./bin/jconsole.exe
 839 ./bin/jdb.exe
 840 ./bin/jhat.exe
 841 ./bin/jinfo.exe
 842 ./bin/jmap.exe
 843 ./bin/jps.exe
 844 ./bin/jrunscript.exe
 845 ./bin/jsadebugd.exe
 846 ./bin/jstack.exe
 847 ./bin/jstat.exe
 848 ./bin/jstatd.exe
 849 ./bin/keytool.exe
 850 ./bin/kinit.exe
 851 ./bin/klist.exe
 852 ./bin/ktab.exe
 853 ./bin/native2ascii.exe
 854 ./bin/orbd.exe
 855 ./bin/pack200.exe
 856 ./bin/policytool.exe
 857 ./bin/rmic.exe
 858 ./bin/rmid.exe
 859 ./bin/rmiregistry.exe
 860 ./bin/schemagen.exe
 861 ./bin/serialver.exe
 862 ./bin/servertool.exe
 863 ./bin/tnameserv.exe
 864 ./bin/unpack200.exe
 865 ./bin/wsgen.exe
 866 ./bin/wsimport.exe
 867 ./bin/xjc.exe
 868 ./jre/bin/java-rmi.exe
 869 ./jre/bin/java.exe
 870 ./jre/bin/javaw.exe
 871 ./jre/bin/keytool.exe
 872 ./jre/bin/kinit.exe
 873 ./jre/bin/klist.exe
 874 ./jre/bin/ktab.exe
 875 ./jre/bin/orbd.exe
 876 ./jre/bin/pack200.exe
 877 ./jre/bin/policytool.exe
 878 ./jre/bin/rmid.exe
 879 ./jre/bin/rmiregistry.exe
 880 ./jre/bin/servertool.exe
 881 ./jre/bin/tnameserv.exe
 882 ./jre/bin/unpack200.exe
 883 "
 884 
 885 # On windows, there are unavoidable allignment issues making
 886 # a perfect disasm diff impossible. Filter out the following:
 887 # * Random parts of C++ symbols (this is a bit greedy, but does the trick)
 888 #   @XXXXX
 889 # * Hexadecimal addresses that are sometimes alligned differently.
 890 # * Dates in version strings XXXX_XX_XX.
 891 DIS_DIFF_FILTER="$SED -e s/[@?][A-Z0-9_]\{1,25\}/<SYM>/g -e s/^.\{2,2\}[0-9A-F]\{16,16\}.\{2,2\}//g -e s/[0-9A-F]\{4,16\}h/<HEXSTR>/g -e s/_[0-9]\{4,4\}_[0-9][0-9]_[0-9][0-9]/<DATE>/g"
 892 
 893 SKIP_BIN_DIFF="true"
 894 SKIP_FULLDUMP_DIFF="true"
 895 
 896 fi
 897 
 898 
 899 if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
 900 ACCEPTED_JARZIP_CONTENTS="
 901 /META-INF/INDEX.LIST
 902 "
 903 
 904 KNOWN_BIN_DIFF="
 905 ./jre/lib/libJObjC.dylib
 906 ./lib/libJObjC.dylib
 907 "
 908 
 909 ACCEPTED_BIN_DIFF="
 910 ./bin/appletviewer
 911 ./bin/extcheck
 912 ./bin/idlj
 913 ./bin/jar
 914 ./bin/jarsigner
 915 ./bin/java
 916 ./bin/javac
 917 ./bin/javadoc
 918 ./bin/javah
 919 ./bin/javap
 920 ./bin/jdeps
 921 ./bin/jcmd
 922 ./bin/jconsole
 923 ./bin/jdb
 924 ./bin/jhat
 925 ./bin/jinfo
 926 ./bin/jmap
 927 ./bin/jps
 928 ./bin/jrunscript
 929 ./bin/jsadebugd
 930 ./bin/jstack
 931 ./bin/jstat
 932 ./bin/jstatd
 933 ./bin/keytool
 934 ./bin/native2ascii
 935 ./bin/orbd
 936 ./bin/pack200
 937 ./bin/policytool
 938 ./bin/rmic
 939 ./bin/rmid
 940 ./bin/rmiregistry
 941 ./bin/schemagen
 942 ./bin/serialver
 943 ./bin/servertool
 944 ./bin/tnameserv
 945 ./bin/wsgen
 946 ./bin/wsimport
 947 ./bin/xjc
 948 ./jre/bin/java
 949 ./jre/bin/keytool
 950 ./jre/bin/orbd
 951 ./jre/bin/pack200
 952 ./jre/bin/policytool
 953 ./jre/bin/rmid
 954 ./jre/bin/rmiregistry
 955 ./jre/bin/servertool
 956 ./jre/bin/tnameserv
 957 ./jre/lib/libsaproc.dylib
 958 ./jre/lib/server/libjvm.dylib
 959 ./lib/libsaproc.dylib
 960 ./lib/server/libjvm.dylib
 961 ./lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
 962 "
 963 
 964 KNOWN_SIZE_DIFF="
 965 ./jre/lib/libJObjC.dylib
 966 ./lib/libJObjC.dylib
 967 "
 968 
 969 SORT_SYMBOLS="
 970 ./jre/lib/libJObjC.dylib
 971 ./lib/libJObjC.dylib
 972 "
 973 
 974 KNOWN_SYM_DIFF="
 975 ./jre/lib/libJObjC.dylib
 976 ./lib/libJObjC.dylib
 977 "
 978 
 979 KNOWN_ELF_DIFF="
 980 ./jre/lib/libJObjC.dylib
 981 ./lib/libJObjC.dylib
 982 "
 983 
 984 KNOWN_DIS_DIFF="
 985 ./jre/lib/libJObjC.dylib
 986 ./lib/libJObjC.dylib
 987 "
 988 
 989 fi