--- old/common/autoconf/basics.m4 2014-11-04 11:33:27.569435895 +0100 +++ new/common/autoconf/basics.m4 2014-11-04 11:33:27.469435894 +0100 @@ -684,8 +684,6 @@ AC_SUBST(CONF_NAME, $CONF_NAME) AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT) - # Most of the probed defines are put into config.h - AC_CONFIG_HEADERS([$OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in]) # The spec.gmk file contains all variables for the make system. AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in]) # The hotspot-spec.gmk file contains legacy variables for the hotspot make system. @@ -694,8 +692,6 @@ AC_CONFIG_FILES([$OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in]) # The compare.sh is used to compare the build output to other builds. AC_CONFIG_FILES([$OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in]) - # Spec.sh is currently used by compare-objects.sh - AC_CONFIG_FILES([$OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in]) # The generated Makefile knows where the spec.gmk is and where the source is. # You can run make from the OUTPUT_ROOT, or from the top-level Makefile # which will look for generated configurations --- old/common/autoconf/generated-configure.sh 2014-11-04 11:33:28.085435903 +0100 +++ new/common/autoconf/generated-configure.sh 2014-11-04 11:33:27.937435901 +0100 @@ -4328,7 +4328,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1414663067 +DATE_WHEN_GENERATED=1415095297 ############################################################################### # @@ -15338,9 +15338,6 @@ OUTPUT_ROOT=$OUTPUT_ROOT - # Most of the probed defines are put into config.h - ac_config_headers="$ac_config_headers $OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in" - # The spec.gmk file contains all variables for the make system. ac_config_files="$ac_config_files $OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in" @@ -15353,9 +15350,6 @@ # The compare.sh is used to compare the build output to other builds. ac_config_files="$ac_config_files $OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in" - # Spec.sh is currently used by compare-objects.sh - ac_config_files="$ac_config_files $OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in" - # The generated Makefile knows where the spec.gmk is and where the source is. # You can run make from the OUTPUT_ROOT, or from the top-level Makefile # which will look for generated configurations @@ -51078,7 +51072,43 @@ # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -DEFS=-DHAVE_CONFIG_H +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` + ac_libobjs= ac_ltlibobjs= @@ -51512,15 +51542,11 @@ "*) set x $ac_config_files; shift; ac_config_files=$*;; esac -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" -config_headers="$ac_config_headers" _ACEOF @@ -51541,15 +51567,10 @@ --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE Configuration files: $config_files -Configuration headers: -$config_headers - Report bugs to . OpenJDK home page: ." @@ -51612,18 +51633,7 @@ esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) + --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) @@ -51679,12 +51689,10 @@ for ac_config_target in $ac_config_targets do case $ac_config_target in - "$OUTPUT_ROOT/config.h") CONFIG_HEADERS="$CONFIG_HEADERS $OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in" ;; "$OUTPUT_ROOT/spec.gmk") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in" ;; "$OUTPUT_ROOT/hotspot-spec.gmk") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in" ;; "$OUTPUT_ROOT/bootcycle-spec.gmk") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in" ;; "$OUTPUT_ROOT/compare.sh") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in" ;; - "$OUTPUT_ROOT/spec.sh") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in" ;; "$OUTPUT_ROOT/Makefile") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; @@ -51698,7 +51706,6 @@ # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree @@ -51886,116 +51893,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " +eval set X " :F $CONFIG_FILES " shift for ac_tag do @@ -52203,30 +52102,7 @@ esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi - ;; + esac --- old/make/Main.gmk 2014-11-04 11:33:29.073435919 +0100 +++ new/make/Main.gmk 2014-11-04 11:33:28.949435917 +0100 @@ -514,7 +514,7 @@ # If the output directory was created by configure and now becomes empty, remove it as well. dist-clean: clean ($(CD) $(OUTPUT_ROOT) && $(RM) -r *spec.gmk config.* configure-arguments \ - Makefile compare.sh spec.sh tmp javacservers) + Makefile compare.sh tmp javacservers) $(if $(filter $(CONF_NAME),$(notdir $(OUTPUT_ROOT))), \ if test "x`$(LS) $(OUTPUT_ROOT)`" != x; then \ $(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ; \ --- old/common/autoconf/config.h.in 2014-11-04 11:33:29.493435926 +0100 +++ /dev/null 2014-10-31 08:56:53.031792005 +0100 @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2011, 2012, 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. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -#define PACKAGE_NAME "openjdk" -#define PACKAGE_TARNAME "openjdk" -#define PACKAGE_VERSION "version-0.1" -#define PACKAGE_STRING "openjdk version-0.1" -#define PACKAGE_BUGREPORT "build-infra-dev@openjdk.java.net" -#define PACKAGE_URL "" -#define STDC_HEADERS -#define HAVE_SYS_TYPES_H -#define HAVE_SYS_STAT_H -#define HAVE_STDLIB_H -#define HAVE_STRING_H -#define HAVE_MEMORY_H -#define HAVE_STRINGS_H -#define HAVE_INTTYPES_H -#define HAVE_STDINT_H -#define HAVE_UNISTD_H -#define SIZEOF_INT_P 8 -#define HAVE_CUPS_CUPS_H -#define HAVE_CUPS_PPD_H -#define HAVE_LIBJPEG -#define HAVE_LIBGIF -#define HAVE_LIBZ -#define HAVE_LIBM -#define HAVE_ALTZONE --- old/common/autoconf/spec.sh.in 2014-11-04 11:33:29.761435930 +0100 +++ /dev/null 2014-10-31 08:56:53.031792005 +0100 @@ -1,36 +0,0 @@ -# -# Copyright (c) 2011, 2012, 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. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -CAT="@CAT@" -CD=cd -CP="@CP@" -DIFF="@DIFF@" -ECHO="@ECHO@" -FIND="@FIND@" -GREP="@GREP@" -RM="@RM@" -SED="@SED@" - -POST_STRIP_CMD="@POST_STRIP_CMD@" --- old/common/bin/boot_cycle.sh 2014-11-04 11:33:30.029435934 +0100 +++ /dev/null 2014-10-31 08:56:53.031792005 +0100 @@ -1,77 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2012, 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. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# The boot_cycle.sh script performs two complete image builds (no javadoc though....) -# where the second build uses the first build as the boot jdk. -# -# This is useful to verify that the build is self hoisting and assists -# in flushing out bugs. You can follow up with compare_objects.sh to check -# that the two boot_cycle_?/images/j2sdk are identical. They should be. -# -# Usage: -# Specify the configure arguments to boot_cycle.sh, for example: -# -# sh common/bin/boot_cycle.sh --enable-debug --with-jvm-variants=server -# -# The same arguments will be used for both builds, except of course --with-boot-jdk -# that will be adjusted to boot_cycle_1 for the second build. - -SCRIPT_DIR=`pwd`/`dirname $0` -ROOT_DIR=`(cd $SCRIPT_DIR/../.. ; pwd)` -BUILD_DIR=$ROOT_DIR/build -mkdir -p $BUILD_DIR -AUTOCONF_DIR=`(cd $SCRIPT_DIR/../autoconf ; pwd)` -BOOT_CYCLE_1_DIR=$BUILD_DIR/boot_cycle_1 -BOOT_CYCLE_2_DIR=$BUILD_DIR/boot_cycle_2 - -# Create the boot cycle dirs in the build directory. -mkdir -p $BOOT_CYCLE_1_DIR -mkdir -p $BOOT_CYCLE_2_DIR - -cd $BOOT_CYCLE_1_DIR -# Configure! -sh $AUTOCONF_DIR/configure "$@" -# Now build! -make images - -if ! test -x $BOOT_CYCLE_1_DIR/images/j2sdk-image/bin/java ; then - echo Failed to build the executable $BOOT_CYCLE_1_DIR/images/j2sdk-image/bin/java - exit 1 -fi - -cd $BOOT_CYCLE_2_DIR -# Pickup the configure arguments, but drop any --with-boot-jdk=.... -# and add the correct --with-boot-jdk=...boot_cycle_1... at the end. -ARGUMENTS="`cat $BOOT_CYCLE_1_DIR/configure-arguments|sed 's/--with-boot-jdk=[^ ]*//'` --with-boot-jdk=$BOOT_CYCLE_1_DIR/images/j2sdk-image" -# Configure using these adjusted arguments. -sh $AUTOCONF_DIR/configure $ARGUMENTS -# Now build! -make images - -if ! test -x $BOOT_CYCLE_2_DIR/images/j2sdk-image/bin/java ; then - echo Failed to build the final executable $BOOT_CYCLE_2_DIR/images/j2sdk-image/bin/java - exit 1 -fi - - --- old/common/bin/compare-objects.sh 2014-11-04 11:33:30.309435939 +0100 +++ /dev/null 2014-10-31 08:56:53.031792005 +0100 @@ -1,235 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2012, 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. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# MANUAL -# -# ./common/bin/compare-objects.sh old_jdk_build_dir new_jdk_build_dir -# -# Compares object files -# - -if [ "x$1" = "x-h" ] || [ "x$1" = "x--help" ] || [ "x$1" == "x" ]; then - echo "bash ./common/bin/compare-objects.sh old_jdk_build_dir new_jdk_build_dir " - echo "" - echo "Compare object files" - echo "" - exit 10 -fi - -####### -# -# List of files (grep patterns) that are ignored -# -# 1) hotspot object files -IGNORE="-e hotspot" - -# 2) various build artifacts: sizer.32.o sizer.64.o dummyodbc.o -# these are produced during build and then e.g run to produce other data -# i.e not directly put into build => safe to ignore -IGNORE="${IGNORE} -e sizer.32.o -e sizer.64.o" -IGNORE="${IGNORE} -e dummyodbc.o" -IGNORE="${IGNORE} -e genSolarisConstants.o" -IGNORE="${IGNORE} -e genUnixConstants.o" - -OLD="$1" -NEW="$2" -shift; shift -PATTERN="$*" - -if [ -f $NEW/spec.sh ]; then - . $NEW/spec.sh -elif [ -f $NEW/../../spec.sh ]; then - . $NEW/../../spec.sh -elif [ -f $OLD/spec.sh ]; then - . $OLD/spec.sh -elif [ -f $OLD/../../spec.sh ]; then - . $OLD/../../spec.sh -else - echo "Unable to find spec.sh" - echo "Giving up" - exit 1 -fi - -export COMPARE_ROOT=/tmp/cimages.$USER/objects -mkdir -p $COMPARE_ROOT - -(${CD} $OLD && ${FIND} . -name '*.o') > $COMPARE_ROOT/list.old -(${CD} $NEW && ${FIND} . -name '*.o') > $COMPARE_ROOT/list.new - -# On macosx JobjC is build in both i386 and x86_64 variant (universial binary) -# but new build only builds the x86_64 -# Remove the 386 variants from comparison...to avoid "false" positives -${GREP} -v 'JObjC.dst/Objects-normal/i386' $COMPARE_ROOT/list.old > $COMPARE_ROOT/list.old.new -${CP} $COMPARE_ROOT/list.old $COMPARE_ROOT/list.old.full -${CP} $COMPARE_ROOT/list.old.new $COMPARE_ROOT/list.old - -findnew() { - arg_1=$1 - arg_2=$2 - - # special case 1 unpack-cmd => unpackexe - arg_1=`${ECHO} $arg_1 | ${SED} 's!unpack-cmd!unpackexe!g'` - arg_2=`${ECHO} $arg_2 | ${SED} 's!unpack-cmd!unpackexe!g'` - - # special case 2 /JObjC.dst/ => /libjobjc/ - arg_1=`${ECHO} $arg_1 | ${SED} 's!/JObjC.dst/!/libjobjc/!g'` - arg_2=`${ECHO} $arg_2 | ${SED} 's!/JObjC.dst/!/libjobjc/!g'` - - full=`${ECHO} $arg_1 | ${SED} 's!\.!\\\.!g'` - medium=`${ECHO} $arg_1 | ${SED} 's!.*/\([^/]*/[^/]*\)!\1!'` - short=`${ECHO} $arg_2 | ${SED} 's!\.!\\\.!g'` - if [ "`${GREP} -c "/$full" $COMPARE_ROOT/list.new`" -eq 1 ] - then - ${ECHO} $NEW/$arg_1 - return - fi - - if [ "`${GREP} -c "$medium" $COMPARE_ROOT/list.new`" -eq 1 ] - then - ${GREP} "$medium" $COMPARE_ROOT/list.new - return - fi - - if [ "`${GREP} -c "/$short" $COMPARE_ROOT/list.new`" -eq 1 ] - then - ${GREP} "/$short" $COMPARE_ROOT/list.new - return - fi - - # old style has "dir" before obj{64} - dir=`${ECHO} $arg_1 | ${SED} 's!.*/\([^/]*\)/obj[64]*.*!\1!g'` - if [ -n "$dir" -a "$dir" != "$arg_1" ] - then - if [ "`${GREP} $dir $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ] - then - ${GREP} $dir $COMPARE_ROOT/list.new | ${GREP} "/$short" - return - fi - - # Try with lib$dir/ - if [ "`${GREP} "lib$dir/" $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ] - then - ${GREP} "lib$dir/" $COMPARE_ROOT/list.new | ${GREP} "/$short" - return - fi - - # Try with $dir_objs - if [ "`${GREP} "${dir}_objs" $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ] - then - ${GREP} "${dir}_objs" $COMPARE_ROOT/list.new | ${GREP} "/$short" - return - fi - fi - - # check for some specifics... - for i in demo hotspot jobjc - do - if [ "`${ECHO} $full | ${GREP} -c $i`" -gt 0 ] - then - if [ "`${GREP} $i $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ] - then - ${GREP} $i $COMPARE_ROOT/list.new | ${GREP} "/$short" - return - fi - fi - done - - # check for specific demo - demo=`${ECHO} $arg_1 | ${SED} 's!.*/demo/jvmti/\([^/]*\)/.*!\1!g'` - if [ -n "$demo" -a "$dir" != "$demo" ] - then - if [ "`${GREP} $demo $COMPARE_ROOT/list.new | ${GREP} -c "/$short"`" -eq 1 ] - then - ${GREP} $demo $COMPARE_ROOT/list.new | ${GREP} "/$short" - return - fi - fi - - return -} - -compare() { - old=$1 - new=$2 - ${DIFF} $old $new > /dev/null - res=$? - if [ $res -eq 0 ] - then - ${ECHO} 0 - return - fi - - # check if stripped objects gives equality - ${CP} $old $COMPARE_ROOT/`basename $old`.old - ${CP} $new $COMPARE_ROOT/`basename $old`.new - ${POST_STRIP_CMD} $COMPARE_ROOT/`basename $old`.old $COMPARE_ROOT/`basename $old`.new > /dev/null 2>&1 - ${DIFF} $COMPARE_ROOT/`basename $old`.old $COMPARE_ROOT/`basename $old`.new > /dev/null - res=$? - ${RM} $COMPARE_ROOT/`basename $old`.old $COMPARE_ROOT/`basename $old`.new - if [ $res -eq 0 ] - then - ${ECHO} S - return - fi - - name=`basename $1 | ${SED} 's!\.o!!'` - cntold=`strings $old | ${GREP} -c $name` - cntnew=`strings $new | ${GREP} -c $name` - - if [ $cntold -gt 0 -a $cntnew -gt 0 ] - then - ${ECHO} F - return - fi - - ${ECHO} 1 -} - -for F in `${CAT} $COMPARE_ROOT/list.old` -do - if [ "${IGNORE}" ] && [ "`${ECHO} $F | ${GREP} ${IGNORE}`" ] - then - # - # skip ignored files - # - continue; - fi - - if [ "$PATTERN" ] && [ `${ECHO} $F | ${GREP} -c $PATTERN` -eq 0 ] - then - continue; - fi - - f=`basename $F` - o=$OLD/$F - n=`findnew $F $f` - - if [ "$n" ] - then - n="$NEW/$n" - ${ECHO} `compare $o $n` : $f : $o : $n - else - ${ECHO} "- : $f : $o " - fi -done