< prev index next >

make/scripts/compare.sh

Print this page

        

*** 1,8 **** #!/bin/bash # ! # Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. --- 1,8 ---- #!/bin/bash # ! # Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation.
*** 92,112 **** TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \ $GREP '^[<>]' | \ $SED -e '/[<>] \* from.*\.idl/d' \ -e '/[<>] .*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \ -e '/[<>] .*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d' \ ! -e '/[<>] \*.*[0-9]\{4\} [0-9][0-9]*:[0-9]\{2\}:[0-9]\{2\}.*/d' \ -e '/\/\/ Generated from input file.*/d' \ -e '/\/\/ This file was generated AUTOMATICALLY from a template file.*/d' \ -e '/\/\/ java GenerateCharacter.*/d') fi # Ignore date strings in class files. # Anonymous lambda classes get randomly assigned counters in their names. if test "x$SUFFIX" = "xclass"; then ! if [ "$NAME" = "SystemModules.class" ]; then ! # The SystemModules.class is not comparable. The way it is generated is ! # too random. It can even be of different size for no apparent reason. TMP="" elif [ "$NAME" = "module-info.class" ]; then # The module-info.class have several issues with random ordering of # elements in HashSets. MODULES_CLASS_FILTER="$SED \ --- 92,115 ---- TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \ $GREP '^[<>]' | \ $SED -e '/[<>] \* from.*\.idl/d' \ -e '/[<>] .*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \ -e '/[<>] .*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d' \ ! -e '/[<>] \*.*[0-9]\{4\} \(at \)*[0-9][0-9]*:[0-9]\{2\}:[0-9]\{2\}.*/d' \ -e '/\/\/ Generated from input file.*/d' \ -e '/\/\/ This file was generated AUTOMATICALLY from a template file.*/d' \ -e '/\/\/ java GenerateCharacter.*/d') fi # Ignore date strings in class files. # Anonymous lambda classes get randomly assigned counters in their names. if test "x$SUFFIX" = "xclass"; then ! if [ "$NAME" = "SystemModules\$all.class" ] \ ! || [ "$NAME" = "SystemModules\$default.class" ]; then ! # The SystemModules\$*.classes are not comparable as they contain the ! # module hashes which would require a whole other level of ! # reproducible builds to get reproducible. There is also random ! # order of map initialization. TMP="" elif [ "$NAME" = "module-info.class" ]; then # The module-info.class have several issues with random ordering of # elements in HashSets. MODULES_CLASS_FILTER="$SED \
*** 652,662 **** fi # Build an _NT_SYMBOL_PATH that contains all known locations for # pdb files. PDB_DIRS="$(ls -d \ {$OTHER,$THIS}/support/modules_{cmds,libs}/{*,*/*} \ - {$OTHER,$THIS}/support/demos/image/jvmti/*/lib \ {$OTHER,$THIS}/support/native/java.base/java_objs \ )" export _NT_SYMBOL_PATH="$(echo $PDB_DIRS | tr ' ' ';')" fi --- 655,664 ----
*** 999,1008 **** --- 1001,1016 ---- LIBS=$(cd $THIS_DIR && $FIND . -type f \( -name 'lib*.so' -o -name '*.dylib' \ -o -name '*.dll' -o -name '*.obj' -o -name '*.o' -o -name '*.a' \ -o -name '*.cpl' \) | $SORT | $FILTER) + # On macos, filter out the dSYM debug symbols files as they are also + # named *.dylib. + if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then + LIBS=$(echo "$LIBS" | $GREP -v '\.dSYM/') + fi + if [ -n "$LIBS" ]; then echo Libraries... print_binary_diff_header for l in $LIBS; do if [ -f "$OTHER_DIR/$l" ]; then
*** 1039,1049 **** -o -name '*.bat' -o -name '*LICENSE' -o -name '*.d' -o -name '*store' \ -o -name 'blacklist' -o -name '*certs' -o -name '*.ttf' \ -o -name '*.jfc' -o -name '*.dat' -o -name 'release' -o -name '*.dir'\ -o -name '*.sym' -o -name '*.idl' -o -name '*.h' -o -name '*.access' \ -o -name '*.template' -o -name '*.policy' -o -name '*.security' \ ! -o -name 'COPYRIGHT' -o -name '*.1' \ -o -name 'classlist' \) | $SORT | $FILTER) fi if [ -n "$EXECS" ]; then echo Executables... --- 1047,1057 ---- -o -name '*.bat' -o -name '*LICENSE' -o -name '*.d' -o -name '*store' \ -o -name 'blacklist' -o -name '*certs' -o -name '*.ttf' \ -o -name '*.jfc' -o -name '*.dat' -o -name 'release' -o -name '*.dir'\ -o -name '*.sym' -o -name '*.idl' -o -name '*.h' -o -name '*.access' \ -o -name '*.template' -o -name '*.policy' -o -name '*.security' \ ! -o -name 'COPYRIGHT' -o -name '*.1' -o -name '*.debuginfo' \ -o -name 'classlist' \) | $SORT | $FILTER) fi if [ -n "$EXECS" ]; then echo Executables...
*** 1217,1227 **** if [ "$STRIP_ALL" = "true" ] && [ -z "$STRIP" ]; then echo Warning: Not stripping even with --strip, since strip is missing on this platform STRIP_ALL=false fi ! COMPARE_ROOT=/tmp/cimages.$USER if [ "$CLEAN_OUTPUT" = "true" ]; then echo Cleaning old output in $COMPARE_ROOT. $RM -rf $COMPARE_ROOT fi $MKDIR -p $COMPARE_ROOT --- 1225,1235 ---- if [ "$STRIP_ALL" = "true" ] && [ -z "$STRIP" ]; then echo Warning: Not stripping even with --strip, since strip is missing on this platform STRIP_ALL=false fi ! COMPARE_ROOT=$OUTPUTDIR/compare-support if [ "$CLEAN_OUTPUT" = "true" ]; then echo Cleaning old output in $COMPARE_ROOT. $RM -rf $COMPARE_ROOT fi $MKDIR -p $COMPARE_ROOT
< prev index next >