summaryrefslogtreecommitdiff
path: root/test/run
diff options
context:
space:
mode:
Diffstat (limited to 'test/run')
-rwxr-xr-xtest/run11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/run b/test/run
index 8a44e4f8..0030684a 100755
--- a/test/run
+++ b/test/run
@@ -166,6 +166,11 @@ expect_equal_object_files() {
test_failed "Please install elfutils to get eu-elfcmp"
fi
eu-elfcmp -q "$1" "$2"
+ elif $HOST_OS_FREEBSD && $COMPILER_TYPE_CLANG; then
+ elfdump -a -w "$1".dump "$1"
+ elfdump -a -w "$2".dump "$2"
+ # these were the elfdump fields that seemed to differ (empirically)
+ diff -I e_shoff -I sh_size -I st_name "$1".dump "$2".dump > /dev/null
else
cmp -s "$1" "$2"
fi
@@ -313,7 +318,7 @@ fi
HOST_CCACHE_DIRS="/usr/lib/ccache/bin
/usr/lib/ccache"
for HOST_CCACHE_DIR in $HOST_CCACHE_DIRS; do
- PATH=$(echo -n $PATH | awk -v RS=: -v ORS=: '$0 != "'$HOST_CCACHE_DIR'"' | sed 's/:$//')
+ PATH="$(echo "$PATH:" | awk -v RS=: -v ORS=: '$0 != "'$HOST_CCACHE_DIR'"' | sed 's/:*$//')"
done
export PATH
@@ -334,6 +339,7 @@ COMPILER_USES_MINGW=false
HOST_OS_APPLE=false
HOST_OS_LINUX=false
+HOST_OS_FREEBSD=false
HOST_OS_WINDOWS=false
compiler_version="`$COMPILER --version 2>&1 | head -1`"
@@ -369,6 +375,9 @@ case $(uname -s) in
*Linux*)
HOST_OS_LINUX=true
;;
+ *FreeBSD*)
+ HOST_OS_FREEBSD=true
+ ;;
esac
if $HOST_OS_WINDOWS; then