compare_exceptions.sh.incl revision 596:db46b1c27a93
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.
30if [ -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
33fi
34
35##########################################################################################
36# Diff exceptions
37
38if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
39
40STRIP_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
52ACCEPTED_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
122fi
123
124if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
125
126STRIP_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
138ACCEPTED_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
210fi
211
212if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
213
214STRIP_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
228SORT_SYMBOLS="
229./jre/lib/i386/client/libjvm.so
230./jre/lib/i386/libsaproc.so
231./jre/lib/i386/server/libjvm.so
232"
233
234SKIP_BIN_DIFF="true"
235
236ACCEPTED_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
359SKIP_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.
364DIS_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
366fi
367
368if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
369
370STRIP_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
383SORT_SYMBOLS="
384./jre/lib/amd64/server/libjvm.so
385./jre/lib/amd64/libsaproc.so
386"
387
388SKIP_BIN_DIFF="true"
389
390ACCEPTED_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
497SKIP_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.
502DIS_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
504fi
505
506if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparc" ]; then
507
508STRIP_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
522SORT_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
540SKIP_BIN_DIFF="true"
541
542ACCEPTED_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.
660DIS_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.
663ACCEPTED_DIS_DIFF="
664./demo/jvmti/waiters/lib/libwaiters.so
665"
666
667SKIP_FULLDUMP_DIFF="true"
668
669fi
670
671if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
672
673STRIP_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
686SORT_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
694SKIP_BIN_DIFF="true"
695
696ACCEPTED_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.
802DIS_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.
805ACCEPTED_DIS_DIFF="
806./demo/jvmti/waiters/lib/sparcv9/libwaiters.so
807"
808
809SKIP_FULLDUMP_DIFF="true"
810
811fi
812
813
814if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
815
816ACCEPTED_JARZIP_CONTENTS="
817/bin/w2k_lsa_auth.dll
818"
819
820# Probably should add all libs here
821ACCEPTED_SMALL_SIZE_DIFF="
822./demo/jvmti/gctest/lib/gctest.dll
823./demo/jvmti/heapTracker/lib/heapTracker.dll
824./demo/jvmti/minst/lib/minst.dll
825./jre/bin/attach.dll
826./jre/bin/java_crw_demo.dll
827./jre/bin/jsoundds.dll
828./jre/bin/server/jvm.dll
829./bin/appletviewer.exe
830./bin/extcheck.exe
831./bin/idlj.exe
832./bin/jar.exe
833./bin/jarsigner.exe
834./bin/java-rmi.exe
835./bin/java.exe
836./bin/javac.exe
837./bin/javadoc.exe
838./bin/javah.exe
839./bin/javap.exe
840./bin/jdeps.exe
841./bin/javaw.exe
842./bin/jcmd.exe
843./bin/jconsole.exe
844./bin/jdb.exe
845./bin/jhat.exe
846./bin/jinfo.exe
847./bin/jmap.exe
848./bin/jps.exe
849./bin/jrunscript.exe
850./bin/jsadebugd.exe
851./bin/jstack.exe
852./bin/jstat.exe
853./bin/jstatd.exe
854./bin/keytool.exe
855./bin/kinit.exe
856./bin/klist.exe
857./bin/ktab.exe
858./bin/native2ascii.exe
859./bin/orbd.exe
860./bin/pack200.exe
861./bin/policytool.exe
862./bin/rmic.exe
863./bin/rmid.exe
864./bin/rmiregistry.exe
865./bin/schemagen.exe
866./bin/serialver.exe
867./bin/servertool.exe
868./bin/tnameserv.exe
869./bin/unpack200.exe
870./bin/wsgen.exe
871./bin/wsimport.exe
872./bin/xjc.exe
873./jre/bin/java-rmi.exe
874./jre/bin/java.exe
875./jre/bin/javaw.exe
876./jre/bin/keytool.exe
877./jre/bin/kinit.exe
878./jre/bin/klist.exe
879./jre/bin/ktab.exe
880./jre/bin/orbd.exe
881./jre/bin/pack200.exe
882./jre/bin/policytool.exe
883./jre/bin/rmid.exe
884./jre/bin/rmiregistry.exe
885./jre/bin/servertool.exe
886./jre/bin/tnameserv.exe
887./jre/bin/unpack200.exe
888"
889
890# jabswitch.exe is compiled and linked with incremental turned on in the old
891# build. This makes no sense, so it's turned off in the new build.
892ACCEPTED_SIZE_DIFF="
893./bin/jabswitch.exe
894./jre/bin/jabswitch.exe
895"
896ACCEPTED_DIS_DIFF="
897./bin/jabswitch.exe
898./jre/bin/jabswitch.exe
899"
900
901# On windows, there are unavoidable allignment issues making
902# a perfect disasm diff impossible. Filter out the following:
903# * Random parts of C++ symbols (this is a bit greedy, but does the trick)
904#   @XXXXX
905# * Hexadecimal addresses that are sometimes alligned differently.
906# * Dates in version strings XXXX_XX_XX.
907DIS_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"
908
909SKIP_BIN_DIFF="true"
910SKIP_FULLDUMP_DIFF="true"
911
912fi
913
914
915if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
916ACCEPTED_JARZIP_CONTENTS="
917/META-INF/INDEX.LIST
918"
919
920KNOWN_BIN_DIFF="
921./jre/lib/libJObjC.dylib
922./lib/libJObjC.dylib
923"
924
925ACCEPTED_BIN_DIFF="
926./bin/appletviewer
927./bin/extcheck
928./bin/idlj
929./bin/jar
930./bin/jarsigner
931./bin/java
932./bin/javac
933./bin/javadoc
934./bin/javah
935./bin/javap
936./bin/jdeps
937./bin/jcmd
938./bin/jconsole
939./bin/jdb
940./bin/jhat
941./bin/jinfo
942./bin/jmap
943./bin/jps
944./bin/jrunscript
945./bin/jsadebugd
946./bin/jstack
947./bin/jstat
948./bin/jstatd
949./bin/keytool
950./bin/native2ascii
951./bin/orbd
952./bin/pack200
953./bin/policytool
954./bin/rmic
955./bin/rmid
956./bin/rmiregistry
957./bin/schemagen
958./bin/serialver
959./bin/servertool
960./bin/tnameserv
961./bin/wsgen
962./bin/wsimport
963./bin/xjc
964./jre/bin/java
965./jre/bin/keytool
966./jre/bin/orbd
967./jre/bin/pack200
968./jre/bin/policytool
969./jre/bin/rmid
970./jre/bin/rmiregistry
971./jre/bin/servertool
972./jre/bin/tnameserv
973./jre/lib/libsaproc.dylib
974./jre/lib/server/libjvm.dylib
975./lib/libsaproc.dylib
976./lib/server/libjvm.dylib
977./lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
978"
979
980KNOWN_SIZE_DIFF="
981./jre/lib/libJObjC.dylib
982./lib/libJObjC.dylib
983"
984
985SORT_SYMBOLS="
986./jre/lib/libJObjC.dylib
987./lib/libJObjC.dylib
988"
989
990KNOWN_SYM_DIFF="
991./jre/lib/libJObjC.dylib
992./lib/libJObjC.dylib
993"
994
995KNOWN_ELF_DIFF="
996./jre/lib/libJObjC.dylib
997./lib/libJObjC.dylib
998"
999
1000KNOWN_DIS_DIFF="
1001./jre/lib/libJObjC.dylib
1002./lib/libJObjC.dylib
1003"
1004
1005fi
1006