common/bin/difflib.sh
Print this page
@@ -51,25 +51,31 @@
echo $2 does not exist
exit 10
fi
if [ "`uname`" == "SunOS" ]; then
+ if [ -f "`which gnm`" ]; then
NM=gnm
- STAT="gstat -c%s"
+# Jonas 2012-05-29: solaris native nm produces radically different output than gnm
+# so if using that...we need different filter than "cut -f 2-"
+#
+ elif [ -f "`which nm`" ]; then
+ NM=nm
+ else
+ echo "No nm command found"
+ exit 10
+ fi
LDD=ldd
elif [ $OSTYPE == "cygwin" ]; then
NM="$VS100COMNTOOLS/../../VC/bin/amd64/dumpbin.exe"
NM_ARGS=/exports
- STAT="stat -c%s"
LDD=
elif [ "`uname`" == "Darwin" ]; then
NM=nm
- STAT="stat -f%z"
LDD="otool -L"
else
NM=nm
- STAT="stat -c%s"
LDD=ldd
fi
# Should the differences be viewed?
VIEW=
@@ -81,12 +87,12 @@
DIFF=diff
fi
OLD=$(cd $(dirname $1) && pwd)/$(basename $1)
NEW=$(cd $(dirname $2) && pwd)/$(basename $2)
-OLD_SIZE=$($STAT "$OLD")
-NEW_SIZE=$($STAT "$NEW")
+OLD_SIZE=$(ls -l "$OLD" | awk '{ print $5 }')
+NEW_SIZE=$(ls -l "$NEW" | awk '{ print $5 }')
if [ $# -gt 3 ]
then
ROOT1=$(cd $3 && pwd)
ROOT2=$(cd $4 && pwd)
@@ -120,12 +126,12 @@
# The files were bytewise identical.
echo Identical: $OLD_NAME
exit 0
fi
-OLD_SYMBOLS=$COMPARE_ROOT/$OLD_NAME.old
-NEW_SYMBOLS=$COMPARE_ROOT/$NEW_NAME.new
+OLD_SYMBOLS=$COMPARE_ROOT/nm.$OLD_NAME.old
+NEW_SYMBOLS=$COMPARE_ROOT/nm.$NEW_NAME.new
mkdir -p $(dirname $OLD_SYMBOLS)
mkdir -p $(dirname $NEW_SYMBOLS)
if [ $OSTYPE == "cygwin" ]; then