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/minst/lib/libminst.so
  46 ./demo/jvmti/mtrace/lib/libmtrace.so
  47 ./demo/jvmti/versionCheck/lib/libversionCheck.so
  48 ./demo/jvmti/waiters/lib/libwaiters.so
  49 "
  50 
  51 ACCEPTED_BIN_DIFF="
  52 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
  53 ./demo/jvmti/gctest/lib/libgctest.so
  54 ./demo/jvmti/heapTracker/lib/libheapTracker.so
  55 ./demo/jvmti/heapViewer/lib/libheapViewer.so
  56 ./demo/jvmti/minst/lib/libminst.so
  57 ./demo/jvmti/mtrace/lib/libmtrace.so
  58 ./demo/jvmti/versionCheck/lib/libversionCheck.so
  59 ./demo/jvmti/waiters/lib/libwaiters.so
  60 ./lib/i386/client/libjsig.so
  61 ./lib/i386/client/libjvm.so
  62 ./lib/i386/libattach.so
  63 ./lib/i386/libdt_socket.so
  64 ./lib/i386/libinstrument.so
  65 ./lib/i386/libjsdt.so
  66 ./lib/i386/libjsig.so
  67 ./lib/i386/libmanagement.so
  68 ./lib/i386/libnet.so
  69 ./lib/i386/libnpt.so
  70 ./lib/i386/libverify.so
  71 ./lib/i386/server/libjsig.so
  72 ./lib/i386/server/libjvm.so
  73 ./bin/appletviewer
  74 ./bin/idlj
  75 ./bin/jar
  76 ./bin/jarsigner
  77 ./bin/java
  78 ./bin/javac
  79 ./bin/javadoc
  80 ./bin/javah
  81 ./bin/javap
  82 ./bin/jdeps
  83 ./bin/jcmd
  84 ./bin/jconsole
  85 ./bin/jdb
  86 ./bin/jimage
  87 ./bin/jinfo
  88 ./bin/jjs
  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/orbd
  98 ./bin/pack200
  99 ./bin/policytool
 100 ./bin/rmic
 101 ./bin/rmid
 102 ./bin/rmiregistry
 103 ./bin/schemagen
 104 ./bin/serialver
 105 ./bin/servertool
 106 ./bin/tnameserv
 107 ./bin/wsgen
 108 ./bin/wsimport
 109 ./bin/xjc
 110 "
 111 
 112 # Issue with __FILE__ usage in generated header files prevent clean fulldump diff of
 113 # server jvm with old hotspot build.
 114 KNOWN_FULLDUMP_DIFF="
 115 ./lib/i386/server/libjvm.so
 116 "
 117 KNOWN_DIS_DIFF="
 118 ./lib/i386/server/libjvm.so
 119 "
 120 DIS_DIFF_FILTER="$SED \
 121   -e 's/\(:\t\)\([0-9a-z]\{2,2\} \)\{1,7\}/\1<hex>/g' \
 122   -e 's/0x[0-9a-z]\{2,9\}/<hex>/g'"
 123 fi
 124 
 125 if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
 126 
 127 STRIP_BEFORE_COMPARE="
 128 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 129 ./demo/jvmti/gctest/lib/libgctest.so
 130 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 131 ./demo/jvmti/heapViewer/lib/libheapViewer.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/minst/lib/libminst.so
 144 ./demo/jvmti/mtrace/lib/libmtrace.so
 145 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 146 ./demo/jvmti/waiters/lib/libwaiters.so
 147 ./lib/amd64/libattach.so
 148 ./lib/amd64/libdt_socket.so
 149 ./lib/amd64/libinstrument.so
 150 ./lib/amd64/libjsdt.so
 151 ./lib/amd64/libjsig.so
 152 ./lib/amd64/libmanagement.so
 153 ./lib/amd64/libnet.so
 154 ./lib/amd64/libnpt.so
 155 ./lib/amd64/libsaproc.so
 156 ./lib/amd64/libverify.so
 157 ./lib/amd64/server/libjsig.so
 158 ./lib/amd64/server/libjvm.so
 159 ./bin/appletviewer
 160 ./bin/idlj
 161 ./bin/jar
 162 ./bin/jarsigner
 163 ./bin/java
 164 ./bin/javac
 165 ./bin/javadoc
 166 ./bin/javah
 167 ./bin/javap
 168 ./bin/jdeps
 169 ./bin/jcmd
 170 ./bin/jconsole
 171 ./bin/jdb
 172 ./bin/jimage
 173 ./bin/jinfo
 174 ./bin/jjs
 175 ./bin/jmap
 176 ./bin/jps
 177 ./bin/jrunscript
 178 ./bin/jsadebugd
 179 ./bin/jstack
 180 ./bin/jstat
 181 ./bin/jstatd
 182 ./bin/keytool
 183 ./bin/orbd
 184 ./bin/pack200
 185 ./bin/policytool
 186 ./bin/rmic
 187 ./bin/rmid
 188 ./bin/rmiregistry
 189 ./bin/schemagen
 190 ./bin/serialver
 191 ./bin/servertool
 192 ./bin/tnameserv
 193 ./bin/wsgen
 194 ./bin/wsimport
 195 ./bin/xjc
 196 "
 197 
 198 # Issue with __FILE__ usage in generated header files prevent clean fulldump diff of
 199 # server jvm with old hotspot build.
 200 KNOWN_FULLDUMP_DIFF="
 201 ./lib/amd64/server/libjvm.so
 202 "
 203 
 204 fi
 205 
 206 if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
 207 
 208 STRIP_BEFORE_COMPARE="
 209 ./demo/jni/Poller/lib/libPoller.so
 210 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 211 ./demo/jvmti/gctest/lib/libgctest.so
 212 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 213 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 214 ./demo/jvmti/minst/lib/libminst.so
 215 ./demo/jvmti/mtrace/lib/libmtrace.so
 216 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 217 ./demo/jvmti/waiters/lib/libwaiters.so
 218 "
 219 
 220 SORT_SYMBOLS="
 221 ./lib/amd64/server/libjvm.so
 222 ./lib/amd64/libsaproc.so
 223 "
 224 
 225 SKIP_BIN_DIFF="true"
 226 
 227 ACCEPTED_SMALL_SIZE_DIFF="
 228 ./demo/jni/Poller/lib/libPoller.so
 229 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 230 ./demo/jvmti/gctest/lib/libgctest.so
 231 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 232 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 233 ./demo/jvmti/minst/lib/libminst.so
 234 ./demo/jvmti/mtrace/lib/libmtrace.so
 235 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 236 ./demo/jvmti/waiters/lib/libwaiters.so
 237 ./lib/amd64/jli/libjli.so
 238 ./lib/amd64/jspawnhelper
 239 ./lib/amd64/libJdbcOdbc.so
 240 ./lib/amd64/libattach.so
 241 ./lib/amd64/libawt.so
 242 ./lib/amd64/libawt_headless.so
 243 ./lib/amd64/libawt_xawt.so
 244 ./lib/amd64/libdcpr.so
 245 ./lib/amd64/libdt_socket.so
 246 ./lib/amd64/libfontmanager.so
 247 ./lib/amd64/libinstrument.so
 248 ./lib/amd64/libj2gss.so
 249 ./lib/amd64/libj2pcsc.so
 250 ./lib/amd64/libj2pkcs11.so
 251 ./lib/amd64/libj2ucrypto.so
 252 ./lib/amd64/libjaas_unix.so
 253 ./lib/amd64/libjava.so
 254 ./lib/amd64/libjawt.so
 255 ./lib/amd64/libjdwp.so
 256 ./lib/amd64/libjfr.so
 257 ./lib/amd64/libjpeg.so
 258 ./lib/amd64/libjsdt.so
 259 ./lib/amd64/libjsound.so
 260 ./lib/amd64/libkcms.so
 261 ./lib/amd64/liblcms.so
 262 ./lib/amd64/libmanagement.so
 263 ./lib/amd64/libmlib_image.so
 264 ./lib/amd64/libnet.so
 265 ./lib/amd64/libnio.so
 266 ./lib/amd64/libnpt.so
 267 ./lib/amd64/libsctp.so
 268 ./lib/amd64/libsplashscreen.so
 269 ./lib/amd64/libsunec.so
 270 ./lib/amd64/libsunwjdga.so
 271 ./lib/amd64/libt2k.so
 272 ./lib/amd64/libunpack.so
 273 ./lib/amd64/libverify.so
 274 ./lib/amd64/libzip.so
 275 ./lib/amd64/server/64/libjvm_db.so
 276 ./lib/amd64/server/64/libjvm_dtrace.so
 277 ./lib/amd64/server/libjvm.so
 278 ./lib/amd64/server/libjvm_db.so
 279 ./lib/amd64/server/libjvm_dtrace.so
 280 ./bin/appletviewer
 281 ./bin/idlj
 282 ./bin/jar
 283 ./bin/jarsigner
 284 ./bin/java
 285 ./bin/javac
 286 ./bin/javadoc
 287 ./bin/javah
 288 ./bin/javap
 289 ./bin/jdeps
 290 ./bin/jcmd
 291 ./bin/jconsole
 292 ./bin/jdb
 293 ./bin/jimage
 294 ./bin/jinfo
 295 ./bin/jjs
 296 ./bin/jmap
 297 ./bin/jps
 298 ./bin/jrunscript
 299 ./bin/jsadebugd
 300 ./bin/jstack
 301 ./bin/jstat
 302 ./bin/jstatd
 303 ./bin/keytool
 304 ./bin/orbd
 305 ./bin/pack200
 306 ./bin/policytool
 307 ./bin/rmic
 308 ./bin/rmid
 309 ./bin/rmiregistry
 310 ./bin/schemagen
 311 ./bin/serialver
 312 ./bin/servertool
 313 ./bin/tnameserv
 314 ./bin/unpack200
 315 ./bin/wsgen
 316 ./bin/wsimport
 317 ./bin/xjc
 318 "
 319 
 320 SKIP_FULLDUMP_DIFF="true"
 321 
 322 # Filter random C++ symbol strings.
 323 # Some numbers differ randomly.
 324 DIS_DIFF_FILTER="$SED \
 325     -e 's/\.[a-zA-Z0-9_\$]\{15\}/<SYM>/g' \
 326     -e 's/\(\# \)[0-9a-f]*\( <\)/\1<HEX>\2/g' \
 327     -e 's/0x[0-9a-f]*$/<HEX>/g' \
 328     -e 's/0x[0-9a-f]*\([,(>]\)/<HEX>\1/g' \
 329     -e 's/:     [0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/: <NUMS>/g' \
 330     -e 's/     [\.A-Za-z0-9%@]\{16\}$/     <BIN>/g'"
 331 
 332 fi
 333 
 334 if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
 335 
 336 STRIP_BEFORE_COMPARE="
 337 ./demo/jni/Poller/lib/libPoller.so
 338 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 339 ./demo/jvmti/gctest/lib/libgctest.so
 340 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 341 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 342 ./demo/jvmti/minst/lib/libminst.so
 343 ./demo/jvmti/mtrace/lib/libmtrace.so
 344 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 345 ./demo/jvmti/waiters/lib/libwaiters.so
 346 "
 347 
 348 SORT_SYMBOLS="
 349 ./demo/jvmti/waiters/lib/libwaiters.so
 350 ./lib/sparcv9/libjsig.so
 351 ./lib/sparcv9/libsaproc.so
 352 ./lib/sparcv9/server/libjvm.so
 353 ./lib/sparcv9/server/libjvm_dtrace.so
 354 "
 355 
 356 SKIP_BIN_DIFF="true"
 357 
 358 ACCEPTED_SMALL_SIZE_DIFF="
 359 ./demo/jni/Poller/lib/libPoller.so
 360 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
 361 ./demo/jvmti/gctest/lib/libgctest.so
 362 ./demo/jvmti/heapTracker/lib/libheapTracker.so
 363 ./demo/jvmti/heapViewer/lib/libheapViewer.so
 364 ./demo/jvmti/minst/lib/libminst.so
 365 ./demo/jvmti/mtrace/lib/libmtrace.so
 366 ./demo/jvmti/versionCheck/lib/libversionCheck.so
 367 ./demo/jvmti/waiters/lib/libwaiters.so
 368 ./lib/sparcv9/client/libjvm.so
 369 ./lib/sparcv9/jli/libjli.so
 370 ./lib/sparcv9/jspawnhelper
 371 ./lib/sparcv9/libJdbcOdbc.so
 372 ./lib/sparcv9/libattach.so
 373 ./lib/sparcv9/libawt.so
 374 ./lib/sparcv9/libawt_headless.so
 375 ./lib/sparcv9/libawt_xawt.so
 376 ./lib/sparcv9/libdcpr.so
 377 ./lib/sparcv9/libdt_socket.so
 378 ./lib/sparcv9/libfontmanager.so
 379 ./lib/sparcv9/libinstrument.so
 380 ./lib/sparcv9/libj2gss.so
 381 ./lib/sparcv9/libj2pcsc.so
 382 ./lib/sparcv9/libj2pkcs11.so
 383 ./lib/sparcv9/libj2ucrypto.so
 384 ./lib/sparcv9/libjaas_unix.so
 385 ./lib/sparcv9/libjava.so
 386 ./lib/sparcv9/libjawt.so
 387 ./lib/sparcv9/libjdwp.so
 388 ./lib/sparcv9/libjfr.so
 389 ./lib/sparcv9/libjpeg.so
 390 ./lib/sparcv9/libjsdt.so
 391 ./lib/sparcv9/libjsound.so
 392 ./lib/sparcv9/libkcms.so
 393 ./lib/sparcv9/liblcms.so
 394 ./lib/sparcv9/libmanagement.so
 395 ./lib/sparcv9/libmlib_image.so
 396 ./lib/sparcv9/libmlib_image_v.so
 397 ./lib/sparcv9/libnet.so
 398 ./lib/sparcv9/libnio.so
 399 ./lib/sparcv9/libnpt.so
 400 ./lib/sparcv9/libsctp.so
 401 ./lib/sparcv9/libsplashscreen.so
 402 ./lib/sparcv9/libsunec.so
 403 ./lib/sparcv9/libsunwjdga.so
 404 ./lib/sparcv9/libt2k.so
 405 ./lib/sparcv9/libunpack.so
 406 ./lib/sparcv9/libverify.so
 407 ./lib/sparcv9/libzip.so
 408 ./lib/sparcv9/server/libjvm.so
 409 ./bin/appletviewer
 410 ./bin/idlj
 411 ./bin/jar
 412 ./bin/jarsigner
 413 ./bin/java
 414 ./bin/javac
 415 ./bin/javadoc
 416 ./bin/javah
 417 ./bin/javap
 418 ./bin/jdeps
 419 ./bin/jcmd
 420 ./bin/jconsole
 421 ./bin/jdb
 422 ./bin/jimage
 423 ./bin/jinfo
 424 ./bin/jjs
 425 ./bin/jmap
 426 ./bin/jps
 427 ./bin/jrunscript
 428 ./bin/jsadebugd
 429 ./bin/jstack
 430 ./bin/jstat
 431 ./bin/jstatd
 432 ./bin/keytool
 433 ./bin/orbd
 434 ./bin/pack200
 435 ./bin/policytool
 436 ./bin/rmic
 437 ./bin/rmid
 438 ./bin/rmiregistry
 439 ./bin/schemagen
 440 ./bin/serialver
 441 ./bin/servertool
 442 ./bin/tnameserv
 443 ./bin/unpack200
 444 ./bin/wsgen
 445 ./bin/wsimport
 446 ./bin/xjc
 447 "
 448 
 449 # Some numbers differ randomly.
 450 DIS_DIFF_FILTER="$SED \
 451     -e 's/\$[a-zA-Z0-9_\$]\{15\}/<SYM>/g' \
 452     -e 's/:     [0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/: <NUMS>/g' \
 453     -e 's/, [0-9a-fx\-]\{1,8\}/, <CONST>/g' \
 454     -e 's/call  [0-9a-f]\{7\}/call  <ADDR>/g' \
 455     -e 's/0x[0-9a-f]\{1,8\}/<HEX>/g' \
 456     -e 's/\! [0-9a-f]\{1,8\} /! <ADDR> /g'"
 457 
 458 # libjvm.so
 459 # __FILE__ macro usage in debug.hpp causes differences between old and new
 460 # hotspot builds in ad_sparc.o and ad_sparc_clone.o. The .o files compare
 461 # equal when stripped, but at link time differences appear. Removing
 462 # __FILE__ from ShouldNotCallThis() and ShouldNotReachHere() removes
 463 # the differences.
 464 KNOWN_DIS_DIFF="
 465 ./lib/sparcv9/server/libjvm.so
 466 "
 467 
 468 SKIP_FULLDUMP_DIFF="true"
 469 
 470 fi
 471 
 472 
 473 if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
 474 
 475 ACCEPTED_JARZIP_CONTENTS="
 476 /modules_libs/java.security.jgss/w2k_lsa_auth.diz
 477 /modules_libs/java.security.jgss/w2k_lsa_auth.dll
 478 "
 479 
 480 # Probably should add all libs here
 481 ACCEPTED_SMALL_SIZE_DIFF="
 482 ./demo/jvmti/gctest/lib/gctest.dll
 483 ./demo/jvmti/heapTracker/lib/heapTracker.dll
 484 ./demo/jvmti/minst/lib/minst.dll
 485 ./bin/attach.dll
 486 ./bin/jsoundds.dll
 487 ./bin/server/jvm.dll
 488 ./bin/appletviewer.exe
 489 ./bin/idlj.exe
 490 ./bin/jar.exe
 491 ./bin/jarsigner.exe
 492 ./bin/java-rmi.exe
 493 ./bin/java.exe
 494 ./bin/javac.exe
 495 ./bin/javadoc.exe
 496 ./bin/javah.exe
 497 ./bin/javap.exe
 498 ./bin/jdeps.exe
 499 ./bin/javaw.exe
 500 ./bin/jcmd.exe
 501 ./bin/jconsole.exe
 502 ./bin/jdb.exe
 503 ./bin/jimage.exe
 504 ./bin/jinfo.exe
 505 ./bin/jjs.exe
 506 ./bin/jmap.exe
 507 ./bin/jps.exe
 508 ./bin/jrunscript.exe
 509 ./bin/jsadebugd.exe
 510 ./bin/jstack.exe
 511 ./bin/jstat.exe
 512 ./bin/jstatd.exe
 513 ./bin/keytool.exe
 514 ./bin/kinit.exe
 515 ./bin/klist.exe
 516 ./bin/ktab.exe
 517 ./bin/orbd.exe
 518 ./bin/pack200.exe
 519 ./bin/policytool.exe
 520 ./bin/rmic.exe
 521 ./bin/rmid.exe
 522 ./bin/rmiregistry.exe
 523 ./bin/schemagen.exe
 524 ./bin/serialver.exe
 525 ./bin/servertool.exe
 526 ./bin/tnameserv.exe
 527 ./bin/unpack200.exe
 528 ./bin/wsgen.exe
 529 ./bin/wsimport.exe
 530 ./bin/xjc.exe
 531 "
 532 
 533 # jabswitch.exe is compiled and linked with incremental turned on in the old
 534 # build. This makes no sense, so it's turned off in the new build.
 535 ACCEPTED_SIZE_DIFF="
 536 ./bin/jabswitch.exe
 537 "
 538 ACCEPTED_DIS_DIFF="
 539 ./bin/jabswitch.exe
 540 "
 541 
 542 # On windows, there are unavoidable allignment issues making
 543 # a perfect disasm diff impossible. Filter out the following:
 544 # * Random parts of C++ symbols (this is a bit greedy, but does the trick)
 545 #   @XXXXX
 546 # * Hexadecimal addresses that are sometimes alligned differently.
 547 # * Dates in version strings XXXX_XX_XX.
 548 DIS_DIFF_FILTER="$SED \
 549     -e 's/^  [0-9A-F]\{16\}: //g' \
 550     -e 's/[@?][A-Za-z0-9_]\{1,25\}/<SYM>/g' \
 551     -e 's/\([\[+]\)[0-9A-F]\{4,16\}h\]/\1<HEXSTR>]/g' \
 552     -e 's/_[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}/_<DATE>/g'"
 553 #DIS_DIFF_FILTER="$CAT"
 554 
 555 SKIP_BIN_DIFF="true"
 556 SKIP_FULLDUMP_DIFF="true"
 557 
 558 fi
 559 
 560 
 561 if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
 562 ACCEPTED_JARZIP_CONTENTS="
 563 /META-INF/INDEX.LIST
 564 "
 565 
 566 ACCEPTED_BIN_DIFF="
 567 ./bin/appletviewer
 568 ./bin/idlj
 569 ./bin/jar
 570 ./bin/jarsigner
 571 ./bin/java
 572 ./bin/javac
 573 ./bin/javadoc
 574 ./bin/javah
 575 ./bin/javap
 576 ./bin/javaws
 577 ./bin/jdeps
 578 ./bin/jcmd
 579 ./bin/jconsole
 580 ./bin/jdb
 581 ./bin/jimage
 582 ./bin/jinfo
 583 ./bin/jjs
 584 ./bin/jmap
 585 ./bin/jps
 586 ./bin/jrunscript
 587 ./bin/jsadebugd
 588 ./bin/jstack
 589 ./bin/jstat
 590 ./bin/jstatd
 591 ./bin/keytool
 592 ./bin/orbd
 593 ./bin/pack200
 594 ./bin/policytool
 595 ./bin/rmic
 596 ./bin/rmid
 597 ./bin/rmiregistry
 598 ./bin/schemagen
 599 ./bin/serialver
 600 ./bin/servertool
 601 ./bin/tnameserv
 602 ./bin/wsgen
 603 ./bin/wsimport
 604 ./bin/xjc
 605 ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.dylib
 606 ./demo/jvmti/gctest/lib/libgctest.dylib
 607 ./demo/jvmti/heapTracker/lib/libheapTracker.dylib
 608 ./demo/jvmti/heapViewer/lib/libheapViewer.dylib
 609 ./demo/jvmti/minst/lib/libminst.dylib
 610 ./demo/jvmti/mtrace/lib/libmtrace.dylib
 611 ./demo/jvmti/versionCheck/lib/libversionCheck.dylib
 612 ./demo/jvmti/waiters/lib/libwaiters.dylib
 613 ./Contents/Home/bin/_javaws
 614 ./Contents/Home/bin/idlj
 615 ./Contents/Home/bin/servertool
 616 ./Contents/Home/lib/shortcuts/JavaWSApplicationStub
 617 ./Contents/Home/lib/jli/libjli.dylib
 618 ./Contents/Home/lib/libAppleScriptEngine.dylib
 619 ./Contents/Home/lib/libattach.dylib
 620 ./Contents/Home/lib/libawt_lwawt.dylib
 621 ./Contents/Home/lib/libdeploy.dylib
 622 ./Contents/Home/lib/libdt_socket.dylib
 623 ./Contents/Home/lib/libinstrument.dylib
 624 ./Contents/Home/lib/libjdwp.dylib
 625 ./Contents/Home/lib/libjsdt.dylib
 626 ./Contents/Home/lib/libjsig.dylib
 627 ./Contents/Home/lib/libmanagement.dylib
 628 ./Contents/Home/lib/libnpjp2.dylib
 629 ./Contents/Home/lib/libosx.dylib
 630 ./Contents/Home/lib/libosxapp.dylib
 631 ./Contents/Home/lib/libverify.dylib
 632 ./Contents/Home/lib/libsaproc.dylib
 633 ./Contents/Home/lib/libsplashscreen.dylib
 634 ./Contents/Home/lib/server/libjvm.dylib
 635 ./Contents/Home/lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
 636 ./Contents/Resources/JavaControlPanelHelper
 637 ./Contents/Resources/JavaUpdater.app/Contents/MacOS/JavaUpdater
 638 ./lib/shortcuts/JavaWSApplicationStub
 639 ./lib/jli/libjli.dylib
 640 ./lib/libAppleScriptEngine.dylib
 641 ./lib/libattach.dylib
 642 ./lib/libawt_lwawt.dylib
 643 ./lib/libdeploy.dylib
 644 ./lib/libdt_socket.dylib
 645 ./lib/libinstrument.dylib
 646 ./lib/libjdwp.dylib
 647 ./lib/libjsdt.dylib
 648 ./lib/libjsig.dylib
 649 ./lib/libmanagement.dylib
 650 ./lib/libnpjp2.dylib
 651 ./lib/libosx.dylib
 652 ./lib/libosxapp.dylib
 653 ./lib/libverify.dylib
 654 ./lib/libsaproc.dylib
 655 ./lib/libsplashscreen.dylib
 656 ./lib/server/libjvm.dylib
 657 ./lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
 658 "
 659 
 660 SORT_SYMBOLS="
 661 ./Contents/Home/lib/libsaproc.dylib
 662 ./lib/libsaproc.dylib
 663 ./lib/libjsig.dylib
 664 "
 665 
 666 ACCEPTED_SMALL_SIZE_DIFF="$ACCEPTED_BIN_DIFF"
 667 
 668 DIS_DIFF_FILTER="LANG=C $SED \
 669     -e 's/0x[0-9a-f]\{3,16\}/<HEXSTR>/g' -e 's/^[0-9a-f]\{12,20\}/<ADDR>/'"
 670 
 671 fi