compare_exceptions.sh.incl revision 2396:c14f9a7b4cab
1296341Sdelphij#!/bin/bash
296593Smarkm#
396593Smarkm# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
4142429Snectar# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
596593Smarkm#
696593Smarkm# This code is free software; you can redistribute it and/or modify it
796593Smarkm# under the terms of the GNU General Public License version 2 only, as
896593Smarkm# published by the Free Software Foundation.
996593Smarkm#
1096593Smarkm# This code is distributed in the hope that it will be useful, but WITHOUT
1196593Smarkm# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1296593Smarkm# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1396593Smarkm# version 2 for more details (a copy is included in the LICENSE file that
1496593Smarkm# accompanied this code).
1596593Smarkm#
1696593Smarkm# You should have received a copy of the GNU General Public License version
1796593Smarkm# 2 along with this work; if not, write to the Free Software Foundation,
1896593Smarkm# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1996593Smarkm#
20215698Ssimon# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21215698Ssimon# or visit www.oracle.com if you need additional information or have any
22215698Ssimon# questions.
23215698Ssimon#
24215698Ssimon
2596593Smarkm# This script is not to be run as stand-alone, it should be included from
2696593Smarkm# compare.sh.
2796593Smarkm
2896593Smarkm##########################################################################################
2996593Smarkm# Check that we are run via inclusion from compare.sh and not as stand-alone.
3096593Smarkmif [ -z "$COMPARE_EXCEPTIONS_INCLUDE" ]; then
3196593Smarkm    echo "Error: This script should not be run as stand-alone. It is included by compare.sh"
3296593Smarkm    exit 1
3396593Smarkmfi
3496593Smarkm
3596593Smarkm##########################################################################################
3696593Smarkm# Diff exceptions
3796593Smarkm
3896593Smarkmif [ "$OPENJDK_TARGET_OS" = "linux" ]; then
3996593Smarkm
4096593Smarkm  STRIP_BEFORE_COMPARE="
41279264Sdelphij      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
42279264Sdelphij      ./demo/jvmti/gctest/lib/libgctest.so
4396593Smarkm      ./demo/jvmti/heapTracker/lib/libheapTracker.so
4496593Smarkm      ./demo/jvmti/heapViewer/lib/libheapViewer.so
45215698Ssimon      ./demo/jvmti/minst/lib/libminst.so
46215698Ssimon      ./demo/jvmti/mtrace/lib/libmtrace.so
47215698Ssimon      ./demo/jvmti/versionCheck/lib/libversionCheck.so
48215698Ssimon      ./demo/jvmti/waiters/lib/libwaiters.so
49142429Snectar      "
50215698Ssimon
51142429Snectar  ACCEPTED_BIN_DIFF="
52142429Snectar      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
53279264Sdelphij      ./demo/jvmti/gctest/lib/libgctest.so
54279264Sdelphij      ./demo/jvmti/heapTracker/lib/libheapTracker.so
55279264Sdelphij      ./demo/jvmti/heapViewer/lib/libheapViewer.so
5696593Smarkm      ./demo/jvmti/minst/lib/libminst.so
57279264Sdelphij      ./demo/jvmti/mtrace/lib/libmtrace.so
58279264Sdelphij      ./demo/jvmti/versionCheck/lib/libversionCheck.so
59279264Sdelphij      ./demo/jvmti/waiters/lib/libwaiters.so
60279264Sdelphij      ./lib/client/libjsig.so
61279264Sdelphij      ./lib/client/libjvm.so
62279264Sdelphij      ./lib/libattach.so
63215698Ssimon      ./lib/libdt_socket.so
64279264Sdelphij      ./lib/libinstrument.so
65279264Sdelphij      ./lib/libjsdt.so
66279264Sdelphij      ./lib/libjsig.so
67279264Sdelphij      ./lib/libmanagement.so
68279264Sdelphij      ./lib/libnet.so
69215698Ssimon      ./lib/libnpt.so
70279264Sdelphij      ./lib/libverify.so
7196593Smarkm      ./lib/minimal/libjsig.so
7296593Smarkm      ./lib/minimal/libjvm.so
7396593Smarkm      ./lib/server/libjsig.so
7496593Smarkm      ./lib/server/libjvm.so
7596593Smarkm      ./bin/appletviewer
7696593Smarkm      ./bin/idlj
7796593Smarkm      ./bin/jar
7896593Smarkm      ./bin/jarsigner
7996593Smarkm      ./bin/java
8096593Smarkm      ./bin/javac
8196593Smarkm      ./bin/javadoc
8296593Smarkm      ./bin/javah
8396593Smarkm      ./bin/javap
8496593Smarkm      ./bin/jdeps
8596593Smarkm      ./bin/jcmd
8696593Smarkm      ./bin/jconsole
8796593Smarkm      ./bin/jdb
8896593Smarkm      ./bin/jhsdb
8996593Smarkm      ./bin/jimage
9096593Smarkm      ./bin/jinfo
9196593Smarkm      ./bin/jjs
9296593Smarkm      ./bin/jlink
9396593Smarkm      ./bin/jmap
9496593Smarkm      ./bin/jmod
9596593Smarkm      ./bin/jps
9696593Smarkm      ./bin/jrunscript
9796593Smarkm      ./bin/jsadebugd
9896593Smarkm      ./bin/jshell
9996593Smarkm      ./bin/jstack
10096593Smarkm      ./bin/jstat
10196593Smarkm      ./bin/jstatd
10296593Smarkm      ./bin/keytool
10396593Smarkm      ./bin/orbd
10496593Smarkm      ./bin/pack200
10596593Smarkm      ./bin/policytool
10696593Smarkm      ./bin/rmic
10796593Smarkm      ./bin/rmid
10896593Smarkm      ./bin/rmiregistry
10996593Smarkm      ./bin/schemagen
11096593Smarkm      ./bin/serialver
11196593Smarkm      ./bin/servertool
11296593Smarkm      ./bin/tnameserv
11396593Smarkm      ./bin/wsgen
11496593Smarkm      ./bin/wsimport
11596593Smarkm      ./bin/xjc
11696593Smarkm      "
11796593Smarkm
11896593Smarkm  if [ "$OPENJDK_TARGET_CPU" = "arm" ]; then
11996593Smarkm    # NOTE: When comparing the old and new hotspot builds, the link time
12096593Smarkm    # optimization makes good comparisons impossible. Fulldump compare always
12196593Smarkm    # fails and disassembly can end up with some functions in different order.
12296593Smarkm    # So for now, accept the difference but put a limit on the size. The
12396593Smarkm    # different order of functions shouldn't result in a very big diff.
12496593Smarkm    KNOWN_FULLDUMP_DIFF="
12596593Smarkm        ./lib/minimal/libjvm.so
12696593Smarkm        "
12796593Smarkm
12896593Smarkm    # Link time optimization adds random numbers to symbol names
12996593Smarkm    NEED_DIS_DIFF_FILTER="
13096593Smarkm        ./lib/minimal/libjvm.so
13196593Smarkm        "
13296593Smarkm    DIS_DIFF_FILTER="$SED -r \
133142429Snectar        -e 's/\.[0-9]+/.X/g' \
13496593Smarkm        -e 's/\t[0-9a-f]{4} [0-9a-f]{4} /\tXXXX XXXX /' \
135100946Snectar        -e 's/\t[0-9a-f]{5,} /\t<HEX> /' \
136296341Sdelphij        "
137215698Ssimon    KNOWN_DIS_DIFF="
138215698Ssimon        ./lib/minimal/libjvm.so
139215698Ssimon        "
140215698Ssimon    MAX_KNOWN_DIS_DIFF_SIZE="3000"
14196593Smarkm
142110010Smarkm    NEED_SYMBOLS_DIFF_FILTER="
143110010Smarkm        ./lib/minimal/libjvm.so
144110010Smarkm        "
145110010Smarkm    SYMBOLS_DIFF_FILTER="$SED -r \
146110010Smarkm        -e 's/\.[0-9]+/.X/g'
147110010Smarkm        "
148110010Smarkm  fi
149110010Smarkmfi
150110010Smarkm
151110010Smarkmif [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
152110010Smarkm
153110010Smarkm  STRIP_BEFORE_COMPARE="
154110010Smarkm      ./demo/jni/Poller/lib/libPoller.so
155110010Smarkm      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
156142429Snectar      ./demo/jvmti/gctest/lib/libgctest.so
15796593Smarkm      ./demo/jvmti/heapTracker/lib/libheapTracker.so
15896593Smarkm      ./demo/jvmti/heapViewer/lib/libheapViewer.so
15996593Smarkm      ./demo/jvmti/minst/lib/libminst.so
16096593Smarkm      ./demo/jvmti/mtrace/lib/libmtrace.so
161215698Ssimon      ./demo/jvmti/versionCheck/lib/libversionCheck.so
162160819Ssimon      ./demo/jvmti/waiters/lib/libwaiters.so
163215698Ssimon      "
164110010Smarkm
165110010Smarkm  SORT_SYMBOLS="
166110010Smarkm      ./lib/server/libjvm.so
167110010Smarkm      ./lib/libfontmanager.so
168110010Smarkm      ./lib/libjimage.so
169110010Smarkm      ./lib/libsaproc.so
170215698Ssimon      ./lib/libunpack.so
171110010Smarkm      ./bin/unpack200
172110010Smarkm      "
173110010Smarkm
174110010Smarkm  SKIP_BIN_DIFF="true"
175110010Smarkm
176110010Smarkm  ACCEPTED_SMALL_SIZE_DIFF="
177215698Ssimon      ./demo/jni/Poller/lib/libPoller.so
178110010Smarkm      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
179110010Smarkm      ./demo/jvmti/gctest/lib/libgctest.so
180110010Smarkm      ./demo/jvmti/heapTracker/lib/libheapTracker.so
181110010Smarkm      ./demo/jvmti/heapViewer/lib/libheapViewer.so
182110010Smarkm      ./demo/jvmti/minst/lib/libminst.so
183110010Smarkm      ./demo/jvmti/mtrace/lib/libmtrace.so
184215698Ssimon      ./demo/jvmti/versionCheck/lib/libversionCheck.so
18596593Smarkm      ./demo/jvmti/waiters/lib/libwaiters.so
18696593Smarkm      ./lib/jli/libjli.so
18796593Smarkm      ./lib/jspawnhelper
18896593Smarkm      ./lib/libJdbcOdbc.so
189215698Ssimon      ./lib/libattach.so
19096593Smarkm      ./lib/libawt.so
19196593Smarkm      ./lib/libawt_headless.so
19296593Smarkm      ./lib/libawt_xawt.so
19396593Smarkm      ./lib/libdcpr.so
194215698Ssimon      ./lib/libdt_socket.so
19596593Smarkm      ./lib/libfontmanager.so
19696593Smarkm      ./lib/libinstrument.so
19796593Smarkm      ./lib/libj2gss.so
19896593Smarkm      ./lib/libj2pcsc.so
199215698Ssimon      ./lib/libj2pkcs11.so
200110010Smarkm      ./lib/libj2ucrypto.so
20196593Smarkm      ./lib/libjaas_unix.so
20296593Smarkm      ./lib/libjava.so
20396593Smarkm      ./lib/libjawt.so
204215698Ssimon      ./lib/libjdwp.so
20596593Smarkm      ./lib/libjpeg.so
20696593Smarkm      ./lib/libjsdt.so
20796593Smarkm      ./lib/libjsound.so
208215698Ssimon      ./lib/libkcms.so
209215698Ssimon      ./lib/liblcms.so
210215698Ssimon      ./lib/libmanagement.so
211215698Ssimon      ./lib/libmlib_image.so
212215698Ssimon      ./lib/libnet.so
213215698Ssimon      ./lib/libnio.so
214215698Ssimon      ./lib/libnpt.so
21596593Smarkm      ./lib/libsctp.so
216215698Ssimon      ./lib/libsplashscreen.so
217215698Ssimon      ./lib/libsunec.so
218215698Ssimon      ./lib/libsunwjdga.so
219215698Ssimon      ./lib/libt2k.so
220215698Ssimon      ./lib/libunpack.so
221215698Ssimon      ./lib/libverify.so
222215698Ssimon      ./lib/libzip.so
223215698Ssimon      ./lib/server/64/libjvm_db.so
22496593Smarkm      ./lib/server/64/libjvm_dtrace.so
225215698Ssimon      ./lib/server/libjvm.so
226215698Ssimon      ./lib/server/libjvm_db.so
227215698Ssimon      ./lib/server/libjvm_dtrace.so
22896593Smarkm      ./bin/appletviewer
22996593Smarkm      ./bin/idlj
23096593Smarkm      ./bin/jar
23196593Smarkm      ./bin/jarsigner
23296593Smarkm      ./bin/java
23396593Smarkm      ./bin/javac
23496593Smarkm      ./bin/javadoc
23596593Smarkm      ./bin/javah
236110010Smarkm      ./bin/javap
23796593Smarkm      ./bin/jdeps
238110010Smarkm      ./bin/jcmd
239279264Sdelphij      ./bin/jconsole
240110010Smarkm      ./bin/jdb
241110010Smarkm      ./bin/jimage
242110010Smarkm      ./bin/jinfo
243110010Smarkm      ./bin/jjs
244110010Smarkm      ./bin/jlink
245110010Smarkm      ./bin/jmap
246110010Smarkm      ./bin/jmod
247279264Sdelphij      ./bin/jps
248110010Smarkm      ./bin/jrunscript
249110010Smarkm      ./bin/jsadebugd
25096593Smarkm      ./bin/jstack
25196593Smarkm      ./bin/jstat
25296593Smarkm      ./bin/jstatd
25396593Smarkm      ./bin/keytool
25496593Smarkm      ./bin/orbd
255279264Sdelphij      ./bin/pack200
256110010Smarkm      ./bin/policytool
25796593Smarkm      ./bin/rmic
258110010Smarkm      ./bin/rmid
259110010Smarkm      ./bin/rmiregistry
260110010Smarkm      ./bin/schemagen
261110010Smarkm      ./bin/serialver
262110010Smarkm      ./bin/servertool
263110010Smarkm      ./bin/tnameserv
264110010Smarkm      ./bin/unpack200
26596593Smarkm      ./bin/wsgen
266110010Smarkm      ./bin/wsimport
267110010Smarkm      ./bin/xjc
268215698Ssimon      "
269110010Smarkm
270110010Smarkm  SKIP_FULLDUMP_DIFF="true"
27196593Smarkm
272110010Smarkm  # Random strings looking like this differ: <.XAKoKoPIac2W0OA.
273110010Smarkm  DIS_DIFF_FILTER="$SED \
274110010Smarkm      -e 's/<\.[A-Za-z0-9]\{\15}\./<.SYM./' \
275110010Smarkm      "
276110010Smarkm
277110010Smarkmfi
27896593Smarkm
279110010Smarkmif [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
280110010Smarkm
281110010Smarkm  STRIP_BEFORE_COMPARE="
282110010Smarkm      ./demo/jni/Poller/lib/libPoller.so
283110010Smarkm      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
28496593Smarkm      ./demo/jvmti/gctest/lib/libgctest.so
285110010Smarkm      ./demo/jvmti/heapTracker/lib/libheapTracker.so
286110010Smarkm      ./demo/jvmti/heapViewer/lib/libheapViewer.so
287110010Smarkm      ./demo/jvmti/minst/lib/libminst.so
288110010Smarkm      ./demo/jvmti/mtrace/lib/libmtrace.so
28996593Smarkm      ./demo/jvmti/versionCheck/lib/libversionCheck.so
290110010Smarkm      ./demo/jvmti/waiters/lib/libwaiters.so
291110010Smarkm      "
292264331Sjkim
293110010Smarkm  SORT_SYMBOLS="
294110010Smarkm      ./demo/jvmti/waiters/lib/libwaiters.so
295110010Smarkm      ./lib/libjsig.so
296110010Smarkm      ./lib/libfontmanager.so
297110010Smarkm      ./lib/libjimage.so
298110010Smarkm      ./lib/libsaproc.so
299110010Smarkm      ./lib/libunpack.so
30096593Smarkm      ./lib/server/libjvm.so
30196593Smarkm      ./lib/server/libjvm_dtrace.so
30296593Smarkm      ./bin/unpack200
30396593Smarkm      "
30496593Smarkm
30596593Smarkm  SKIP_BIN_DIFF="true"
306279264Sdelphij
307279264Sdelphij  ACCEPTED_SMALL_SIZE_DIFF="
30896593Smarkm      ./demo/jni/Poller/lib/libPoller.so
309110010Smarkm      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
310110010Smarkm      ./demo/jvmti/gctest/lib/libgctest.so
311110010Smarkm      ./demo/jvmti/heapTracker/lib/libheapTracker.so
312110010Smarkm      ./demo/jvmti/heapViewer/lib/libheapViewer.so
313110010Smarkm      ./demo/jvmti/minst/lib/libminst.so
314110010Smarkm      ./demo/jvmti/mtrace/lib/libmtrace.so
315110010Smarkm      ./demo/jvmti/versionCheck/lib/libversionCheck.so
31696593Smarkm      ./demo/jvmti/waiters/lib/libwaiters.so
31796593Smarkm      ./lib/client/libjvm.so
31896593Smarkm      ./lib/jli/libjli.so
31996593Smarkm      ./lib/jspawnhelper
32096593Smarkm      ./lib/libJdbcOdbc.so
32196593Smarkm      ./lib/libattach.so
32296593Smarkm      ./lib/libawt.so
32396593Smarkm      ./lib/libawt_headless.so
32496593Smarkm      ./lib/libawt_xawt.so
32596593Smarkm      ./lib/libdcpr.so
32696593Smarkm      ./lib/libdt_socket.so
32796593Smarkm      ./lib/libfontmanager.so
32896593Smarkm      ./lib/libinstrument.so
329279264Sdelphij      ./lib/libj2gss.so
33096593Smarkm      ./lib/libj2pcsc.so
33196593Smarkm      ./lib/libj2pkcs11.so
33296593Smarkm      ./lib/libj2ucrypto.so
33396593Smarkm      ./lib/libjaas_unix.so
33496593Smarkm      ./lib/libjava.so
33596593Smarkm      ./lib/libjawt.so
33696593Smarkm      ./lib/libjdwp.so
33796593Smarkm      ./lib/libjpeg.so
338279264Sdelphij      ./lib/libjsdt.so
339279264Sdelphij      ./lib/libjsound.so
340279264Sdelphij      ./lib/libkcms.so
34196593Smarkm      ./lib/liblcms.so
34296593Smarkm      ./lib/libmanagement.so
34396593Smarkm      ./lib/libmlib_image.so
34496593Smarkm      ./lib/libmlib_image_v.so
34596593Smarkm      ./lib/libnet.so
34696593Smarkm      ./lib/libnio.so
34796593Smarkm      ./lib/libnpt.so
348279264Sdelphij      ./lib/libsctp.so
349279264Sdelphij      ./lib/libsplashscreen.so
35096593Smarkm      ./lib/libsunec.so
35196593Smarkm      ./lib/libsunwjdga.so
35296593Smarkm      ./lib/libt2k.so
35396593Smarkm      ./lib/libunpack.so
354279264Sdelphij      ./lib/libverify.so
35596593Smarkm      ./lib/libzip.so
35696593Smarkm      ./lib/server/libjvm.so
35796593Smarkm      ./bin/appletviewer
35896593Smarkm      ./bin/idlj
35996593Smarkm      ./bin/jar
36096593Smarkm      ./bin/jarsigner
361279264Sdelphij      ./bin/java
36296593Smarkm      ./bin/javac
36396593Smarkm      ./bin/javadoc
364279264Sdelphij      ./bin/javah
365279264Sdelphij      ./bin/javap
36696593Smarkm      ./bin/jdeps
36796593Smarkm      ./bin/jcmd
36896593Smarkm      ./bin/jconsole
36996593Smarkm      ./bin/jdb
37096593Smarkm      ./bin/jimage
37196593Smarkm      ./bin/jinfo
37296593Smarkm      ./bin/jjs
37396593Smarkm      ./bin/jlink
37496593Smarkm      ./bin/jmap
375160819Ssimon      ./bin/jmod
376160819Ssimon      ./bin/jps
37796593Smarkm      ./bin/jrunscript
378110010Smarkm      ./bin/jsadebugd
379110010Smarkm      ./bin/jstack
38096593Smarkm      ./bin/jstat
381110010Smarkm      ./bin/jstatd
382110010Smarkm      ./bin/keytool
38396593Smarkm      ./bin/orbd
38496593Smarkm      ./bin/pack200
38596593Smarkm      ./bin/policytool
38696593Smarkm      ./bin/rmic
38796593Smarkm      ./bin/rmid
38896593Smarkm      ./bin/rmiregistry
389279264Sdelphij      ./bin/schemagen
39096593Smarkm      ./bin/serialver
39196593Smarkm      ./bin/servertool
39296593Smarkm      ./bin/tnameserv
39396593Smarkm      ./bin/unpack200
39496593Smarkm      ./bin/wsgen
39596593Smarkm      ./bin/wsimport
39696593Smarkm      ./bin/xjc
397110010Smarkm      "
398110010Smarkm
39996593Smarkm  DIS_DIFF_FILTER="$SED \
400279264Sdelphij      -e 's/^[0-9a-f]\{16\}/<ADDR>:/' \
40196593Smarkm      -e 's/^ *[0-9a-f]\{3,8\}:/  <ADDR>:/' \
40296593Smarkm      -e 's/:	[0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/:	<NUMS>/' \
403279264Sdelphij      -e 's/\$[a-zA-Z0-9_\$]\{15\}\./<SYM>./' \
40496593Smarkm      -e 's/, [0-9a-fx\-]\{1,8\}/, <ADDR>/g' \
40596593Smarkm      -e 's/0x[0-9a-f]\{1,8\}/<HEX>/g' \
40696593Smarkm      -e 's/\! [0-9a-f]\{1,8\} /! <ADDR> /' \
40796593Smarkm      -e 's/call  [0-9a-f]\{4,7\}/call  <ADDR>/' \
40896593Smarkm      -e 's/%hi(0),/%hi(<HEX>),/' \
40996593Smarkm      "
41096593Smarkm
41196593Smarkm  KNOWN_DIS_DIFF="
412142429Snectar      ./lib/libsaproc.so
41396593Smarkm  "
41496593Smarkm
415142429Snectar  MAX_KNOWN_DIS_DIFF_SIZE="3000"
41696593Smarkm
417279264Sdelphij  # On slowdebug the disassembly can differ randomly.
418142429Snectar  if [ "$DEBUG_LEVEL" = "slowdebug" ]; then
419279264Sdelphij    ACCEPTED_DIS_DIFF="
420279264Sdelphij        ./lib/libfontmanager.so
421142429Snectar        ./lib/server/libjvm.so
422279264Sdelphij    "
423279264Sdelphij  fi
424142429Snectar
42596593Smarkm  SKIP_FULLDUMP_DIFF="true"
42696593Smarkm
427142429Snectarfi
42896593Smarkm
42996593Smarkm
430142429Snectarif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
43196593Smarkm
43296593Smarkm  ACCEPTED_JARZIP_CONTENTS="
43396593Smarkm      /modules_libs/java.security.jgss/w2k_lsa_auth.diz
434142429Snectar      /modules_libs/java.security.jgss/w2k_lsa_auth.dll
43596593Smarkm      "
436279264Sdelphij
437142429Snectar  # Probably should add all libs here
43896593Smarkm  ACCEPTED_SMALL_SIZE_DIFF="
439279264Sdelphij      ./demo/jvmti/gctest/lib/gctest.dll
44096593Smarkm      ./demo/jvmti/heapTracker/lib/heapTracker.dll
44196593Smarkm      ./demo/jvmti/minst/lib/minst.dll
442142429Snectar      ./bin/attach.dll
44396593Smarkm      ./bin/jsoundds.dll
44496593Smarkm      ./bin/client/jvm.dll
44596593Smarkm      ./bin/server/jvm.dll
44696593Smarkm      ./bin/appletviewer.exe
447142429Snectar      ./bin/idlj.exe
44896593Smarkm      ./bin/jar.exe
449279264Sdelphij      ./bin/jarsigner.exe
45096593Smarkm      ./bin/java-rmi.exe
451142429Snectar      ./bin/java.exe
45296593Smarkm      ./bin/javac.exe
453279264Sdelphij      ./bin/javadoc.exe
45496593Smarkm      ./bin/javah.exe
455142429Snectar      ./bin/javap.exe
45696593Smarkm      ./bin/jdeps.exe
457279264Sdelphij      ./bin/javaw.exe
45896593Smarkm      ./bin/jcmd.exe
45996593Smarkm      ./bin/jconsole.exe
46096593Smarkm      ./bin/jdb.exe
46196593Smarkm      ./bin/jimage.exe
46296593Smarkm      ./bin/jinfo.exe
46396593Smarkm      ./bin/jjs.exe
464269686Sjkim      ./bin/jlink.exe
465269686Sjkim      ./bin/jmap.exe
466269686Sjkim      ./bin/jmod.exe
467269686Sjkim      ./bin/jps.exe
46896593Smarkm      ./bin/jrunscript.exe
46996593Smarkm      ./bin/jsadebugd.exe
47096593Smarkm      ./bin/jstack.exe
47196593Smarkm      ./bin/jstat.exe
47296593Smarkm      ./bin/jstatd.exe
47396593Smarkm      ./bin/keytool.exe
47496593Smarkm      ./bin/kinit.exe
47596593Smarkm      ./bin/klist.exe
47696593Smarkm      ./bin/ktab.exe
477110010Smarkm      ./bin/orbd.exe
478110010Smarkm      ./bin/pack200.exe
479110010Smarkm      ./bin/policytool.exe
480110010Smarkm      ./bin/rmic.exe
48196593Smarkm      ./bin/rmid.exe
482110010Smarkm      ./bin/rmiregistry.exe
483110010Smarkm      ./bin/schemagen.exe
484110010Smarkm      ./bin/serialver.exe
485110010Smarkm      ./bin/servertool.exe
486110010Smarkm      ./bin/tnameserv.exe
487110010Smarkm      ./bin/unpack200.exe
488110010Smarkm      ./bin/wsgen.exe
489110010Smarkm      ./bin/wsimport.exe
490110010Smarkm      ./bin/xjc.exe
49196593Smarkm      "
49296593Smarkm
49396593Smarkm  ACCEPTED_DIS_DIFF="
49496593Smarkm      ./bin/jabswitch.exe
49596593Smarkm      "
49696593Smarkm
49796593Smarkm  if [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
49896593Smarkm    DIS_DIFF_FILTER="$SED -r \
49996593Smarkm        -e 's/^  [0-9A-F]{16}: //' \
50096593Smarkm        -e 's/^  [0-9A-F]{8}: /  <ADDR>: /' \
50196593Smarkm        -e 's/(offset \?\?)_C@_.*/\1<SYM>/' \
502279264Sdelphij        -e 's/[@?][A-Za-z0-9_]{1,25}/<SYM>/' \
50396593Smarkm        -e 's/([-,+])[0-9A-F]{2,16}/\1<HEXSTR>/g' \
50496593Smarkm        -e 's/\[[0-9A-F]{4,16}h\]/[<HEXSTR>]/' \
505273399Sdelphij        -e 's/: ([a-z]{2}[a-z ]{2})        [0-9A-F]{2,16}h?$/: \1        <HEXSTR>/' \
50696593Smarkm        -e 's/_20[0-9]{2}_[0-1][0-9]_[0-9]{2}/_<DATE>/' \
507273399Sdelphij        "
508110010Smarkm  elif [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
509110010Smarkm    DIS_DIFF_FILTER="$SED -r \
510110010Smarkm        -e 's/^  [0-9A-F]{16}: //' \
511110010Smarkm        -e 's/\[[0-9A-F]{4,16}h\]/[<HEXSTR>]/' \
512215698Ssimon        -e 's/([,+])[0-9A-F]{2,16}h/\1<HEXSTR>/' \
513110010Smarkm        -e 's/([a-z]{2}[a-z ]{2})        [0-9A-F]{4,16}$/\1        <HEXSTR>/' \
514110010Smarkm        -e 's/\[\?\?_C@_.*/[<SYM>]/' \
515110010Smarkm        "
516110010Smarkm  fi
517110010Smarkm
518110010Smarkm  SKIP_BIN_DIFF="true"
519110010Smarkm  SKIP_FULLDUMP_DIFF="true"
520273399Sdelphij
521110010Smarkm  # NOTE: When comparing the old and new hotspot builds, the server jvm.dll
522273399Sdelphij  # cannot be made equal in disassembly. Some functions just always end up
523215698Ssimon  # in different order. So for now, accept the difference but put a limit
524110010Smarkm  # on the size. The different order of functions shouldn't result in a very
525110010Smarkm  # big diff.
526110010Smarkm  KNOWN_DIS_DIFF="
527110010Smarkm      ./bin/server/jvm.dll
528110010Smarkm      "
529110010Smarkm  MAX_KNOWN_DIS_DIFF_SIZE="2000000"
530110010Smarkmfi
531110010Smarkm
532110010Smarkm
533110010Smarkmif [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
534110010Smarkm
535110010Smarkm  ACCEPTED_JARZIP_CONTENTS="
536110010Smarkm      /META-INF/INDEX.LIST
537110010Smarkm      "
538110010Smarkm
539110010Smarkm  ACCEPTED_BIN_DIFF="
540110010Smarkm      ./bin/appletviewer
541110010Smarkm      ./bin/idlj
542110010Smarkm      ./bin/jar
543110010Smarkm      ./bin/jarsigner
544110010Smarkm      ./bin/java
545110010Smarkm      ./bin/javac
546110010Smarkm      ./bin/javadoc
547110010Smarkm      ./bin/javah
548110010Smarkm      ./bin/javap
549110010Smarkm      ./bin/javaws
550142429Snectar      ./bin/jdeps
551110010Smarkm      ./bin/jcmd
552273399Sdelphij      ./bin/jconsole
553110010Smarkm      ./bin/jdb
554273399Sdelphij      ./bin/jimage
555273399Sdelphij      ./bin/jinfo
556273399Sdelphij      ./bin/jjs
557110010Smarkm      ./bin/jlink
558142429Snectar      ./bin/jmap
559279264Sdelphij      ./bin/jmod
560273399Sdelphij      ./bin/jps
561110010Smarkm      ./bin/jrunscript
562273399Sdelphij      ./bin/jsadebugd
563110010Smarkm      ./bin/jstack
564110010Smarkm      ./bin/jstat
565110010Smarkm      ./bin/jstatd
566273399Sdelphij      ./bin/keytool
567110010Smarkm      ./bin/orbd
568273399Sdelphij      ./bin/pack200
569215698Ssimon      ./bin/policytool
570110010Smarkm      ./bin/rmic
571110010Smarkm      ./bin/rmid
572273399Sdelphij      ./bin/rmiregistry
573273399Sdelphij      ./bin/schemagen
574273399Sdelphij      ./bin/serialver
575273399Sdelphij      ./bin/servertool
576110010Smarkm      ./bin/tnameserv
577273399Sdelphij      ./bin/wsgen
578273399Sdelphij      ./bin/wsimport
579273399Sdelphij      ./bin/xjc
580273399Sdelphij      ./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.dylib
581273399Sdelphij      ./demo/jvmti/gctest/lib/libgctest.dylib
582273399Sdelphij      ./demo/jvmti/heapTracker/lib/libheapTracker.dylib
583110010Smarkm      ./demo/jvmti/heapViewer/lib/libheapViewer.dylib
584215698Ssimon      ./demo/jvmti/minst/lib/libminst.dylib
585110010Smarkm      ./demo/jvmti/mtrace/lib/libmtrace.dylib
586110010Smarkm      ./demo/jvmti/versionCheck/lib/libversionCheck.dylib
587110010Smarkm      ./demo/jvmti/waiters/lib/libwaiters.dylib
588110010Smarkm      ./Contents/Home/bin/_javaws
589110010Smarkm      ./Contents/Home/bin/javaws
590110010Smarkm      ./Contents/Home/bin/idlj
591110010Smarkm      ./Contents/Home/bin/servertool
592160819Ssimon      ./Contents/Home/lib/shortcuts/JavaWSApplicationStub
593110010Smarkm      ./Contents/Home/lib/jli/libjli.dylib
594110010Smarkm      ./Contents/Home/lib/jspawnhelper
595110010Smarkm      ./Contents/Home/lib/libAppleScriptEngine.dylib
596110010Smarkm      ./Contents/Home/lib/libattach.dylib
597110010Smarkm      ./Contents/Home/lib/libawt_lwawt.dylib
598110010Smarkm      ./Contents/Home/lib/libdeploy.dylib
599110010Smarkm      ./Contents/Home/lib/libdt_socket.dylib
600160819Ssimon      ./Contents/Home/lib/libinstrument.dylib
601110010Smarkm      ./Contents/Home/lib/libjdwp.dylib
602110010Smarkm      ./Contents/Home/lib/libjsdt.dylib
603110010Smarkm      ./Contents/Home/lib/libjsig.dylib
604215698Ssimon      ./Contents/Home/lib/libmanagement.dylib
605110010Smarkm      ./Contents/Home/lib/libnpjp2.dylib
606110010Smarkm      ./Contents/Home/lib/libosx.dylib
607110010Smarkm      ./Contents/Home/lib/libosxapp.dylib
608110010Smarkm      ./Contents/Home/lib/libosxui.dylib
60996593Smarkm      ./Contents/Home/lib/libverify.dylib
61096593Smarkm      ./Contents/Home/lib/libsaproc.dylib
611142429Snectar      ./Contents/Home/lib/libsplashscreen.dylib
61296593Smarkm      ./Contents/Home/lib/server/libjsig.dylib
61396593Smarkm      ./Contents/Home/lib/server/libjvm.dylib
614110010Smarkm      ./Contents/Home/lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
615110010Smarkm      ./Contents/Resources/JavaControlPanelHelper
616110010Smarkm      ./Contents/Resources/JavaUpdater.app/Contents/MacOS/JavaUpdater
617110010Smarkm      ./Contents/Resources/JavawsLauncher.app/Contents/MacOS/JavawsLauncher
618273399Sdelphij      ./lib/shortcuts/JavaWSApplicationStub
619273399Sdelphij      ./lib/jli/libjli.dylib
620273399Sdelphij      ./lib/jspawnhelper
621      ./lib/libAppleScriptEngine.dylib
622      ./lib/libattach.dylib
623      ./lib/libawt_lwawt.dylib
624      ./lib/libdeploy.dylib
625      ./lib/libdt_socket.dylib
626      ./lib/libinstrument.dylib
627      ./lib/libjdwp.dylib
628      ./lib/libjsdt.dylib
629      ./lib/libjsig.dylib
630      ./lib/libmanagement.dylib
631      ./lib/libnpjp2.dylib
632      ./lib/libosx.dylib
633      ./lib/libosxapp.dylib
634      ./lib/libosxui.dylib
635      ./lib/libverify.dylib
636      ./lib/libsaproc.dylib
637      ./lib/libsplashscreen.dylib
638      ./lib/server/libjsig.dylib
639      ./lib/server/libjvm.dylib
640      ./lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
641      ./Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation
642      ./Versions/A/Sparkle
643      "
644
645  SORT_SYMBOLS="
646      ./Contents/Home/lib/libsaproc.dylib
647      ./lib/libsaproc.dylib
648      ./lib/libjsig.dylib
649      "
650
651  ACCEPTED_SMALL_SIZE_DIFF="$ACCEPTED_BIN_DIFF"
652
653  DIS_DIFF_FILTER="LANG=C $SED \
654      -e 's/0x[0-9a-f]\{3,16\}/<HEXSTR>/g' -e 's/^[0-9a-f]\{12,20\}/<ADDR>/' \
655      -e 's/-20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]-[0-2][0-9]\{5\}/<DATE>/g' \
656      -e 's/), built on .*/), <DATE>/' \
657      "
658
659fi
660