8003528: build-infra: Diffs in libjava and hotspot libs on solaris.
authorerikj
Wed, 28 Nov 2012 13:48:36 +0100
changeset 14467 a973c0a1bd5d
parent 14466 2f85b948660b
child 14468 d31d8682bc9e
8003528: build-infra: Diffs in libjava and hotspot libs on solaris. Summary: Linking against server jvm first if available. Adding filters and exceptions for hotspot lib compare on solaris. Reviewed-by: ohair, ohrstrom
common/autoconf/generated-configure.sh
common/autoconf/toolchain.m4
common/bin/compare_exceptions.sh.incl
--- a/common/autoconf/generated-configure.sh	Wed Nov 28 13:40:17 2012 +0100
+++ b/common/autoconf/generated-configure.sh	Wed Nov 28 13:48:36 2012 +0100
@@ -3672,7 +3672,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1354104798
+DATE_WHEN_GENERATED=1354106772
 
 ###############################################################################
 #
@@ -27585,9 +27585,11 @@
                     -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
 
     # On some platforms (mac) the linker warns about non existing -L dirs.
-    # Only add client dir if client is being built. Otherwise server should
-    # be enough
-    if test "x$JVM_VARIANT_CLIENT" = xtrue; then
+    # Add server first if available. Linking aginst client does not always produce the same results.
+    # Only add client dir if client is being built. Default to server for other variants.
+    if test "x$JVM_VARIANT_SERVER" = xtrue; then
+        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
+    elif test "x$JVM_VARIANT_CLIENT" = xtrue; then
         LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/client"
     else
         LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
--- a/common/autoconf/toolchain.m4	Wed Nov 28 13:40:17 2012 +0100
+++ b/common/autoconf/toolchain.m4	Wed Nov 28 13:48:36 2012 +0100
@@ -941,9 +941,11 @@
                     -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
 
     # On some platforms (mac) the linker warns about non existing -L dirs.
-    # Only add client dir if client is being built. Otherwise server should
-    # be enough
-    if test "x$JVM_VARIANT_CLIENT" = xtrue; then
+    # Add server first if available. Linking aginst client does not always produce the same results.
+    # Only add client dir if client is being built. Default to server for other variants.
+    if test "x$JVM_VARIANT_SERVER" = xtrue; then
+        LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
+    elif test "x$JVM_VARIANT_CLIENT" = xtrue; then
         LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/client"
     else
         LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
--- a/common/bin/compare_exceptions.sh.incl	Wed Nov 28 13:40:17 2012 +0100
+++ b/common/bin/compare_exceptions.sh.incl	Wed Nov 28 13:48:36 2012 +0100
@@ -291,6 +291,14 @@
 ./jre/plugin/i386/ns4/libjavaplugin.so
 ./jre/plugin/i386/ns7/libjavaplugin_oji.so
 ./jre/lib/i386/server/libjvm.so
+./jre/lib/i386/client/64/libjvm_db.so
+./jre/lib/i386/client/64/libjvm_dtrace.so
+./jre/lib/i386/client/libjvm_db.so
+./jre/lib/i386/client/libjvm_dtrace.so
+./jre/lib/i386/server/64/libjvm_db.so
+./jre/lib/i386/server/64/libjvm_dtrace.so
+./jre/lib/i386/server/libjvm_db.so
+./jre/lib/i386/server/libjvm_dtrace.so
 ./bin/appletviewer
 ./bin/extcheck
 ./bin/idlj
@@ -348,7 +356,9 @@
 SKIP_FULLDUMP_DIFF="true"
 
 # Filter random C++ symbol strings.
-DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g"
+# Some numbers differ randomly.
+# Can't use space in these expressions as the shell will mess with them.
+DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}/<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"
 
 fi
 
@@ -426,6 +436,9 @@
 ./jre/lib/amd64/libzip.so
 ./jre/lib/amd64/server/64/libjvm_db.so
 ./jre/lib/amd64/server/64/libjvm_dtrace.so
+./jre/lib/amd64/server/libjvm.so
+./jre/lib/amd64/server/libjvm_db.so
+./jre/lib/amd64/server/libjvm_dtrace.so
 ./bin/amd64/appletviewer
 ./bin/amd64/extcheck
 ./bin/amd64/idlj
@@ -480,7 +493,9 @@
 SKIP_FULLDUMP_DIFF="true"
 
 # Filter random C++ symbol strings.
-DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}/<SYM>/g"
+# Some numbers differ randomly.
+# Can't use space in these expressions as the shell will mess with them.
+DIS_DIFF_FILTER="$SED -e s/\.[a-zA-Z0-9_\$]\{15,15\}/<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"
 
 fi