From dfa29f9f859c9ca261f96a1bb1b13d7d765d10aa Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sat, 8 Feb 2020 12:07:54 +0100 Subject: Travis: restrict symbol comparison to x86_64 builds --- scripts/dump_exported_symbols.sh | 12 +++++++++++- travis/install.sh | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/scripts/dump_exported_symbols.sh b/scripts/dump_exported_symbols.sh index b03d711a..4bd23d64 100755 --- a/scripts/dump_exported_symbols.sh +++ b/scripts/dump_exported_symbols.sh @@ -1,2 +1,12 @@ #!/bin/sh -objdump -TC "$1" | grep " g DF .text" | cut -b 62- | grep -v "thunk to" | sed "s/internal_//" | grep -v "Java_" | sed "s/std::__cxx11::basic_string, std::allocator >/std::string/g" | sed "s/std::string >/std::string>/g" | sed "s/\[abi:cxx11\]//g" | sort -u \ No newline at end of file + +if objdump -TC "$1" | grep "elf64-x86-64">/dev/null; then + COLUMN=62 +#elif objdump -TC "$1" | grep "elf32-i386">/dev/null; then +# COLUMN=46 +else + echo "Unsupported architecture" + exit 1 +fi + +objdump -TC "$1" | grep " g DF .text" | cut -b "${COLUMN}-" | grep -v "thunk to" | sed "s/internal_//" | grep -v "Java_" | sed "s/std::__cxx11::basic_string, std::allocator >/std::string/g" | sed "s/std::string >/std::string>/g" | sed "s/\[abi:cxx11\]//g" | sort -u diff --git a/travis/install.sh b/travis/install.sh index a8b98f98..56533d21 100755 --- a/travis/install.sh +++ b/travis/install.sh @@ -43,9 +43,11 @@ cd build_autoconf make -j${NPROC} if [ "$(uname)" == "Linux" -a -f src/.libs/libproj.so ]; then + if objdump -TC "$1" | grep "elf64-x86-64">/dev/null; then echo "Checking exported symbols..." ${TOP_DIR}/scripts/dump_exported_symbols.sh src/.libs/libproj.so > /tmp/got_symbols.txt diff -u ${TOP_DIR}/scripts/reference_exported_symbols.txt /tmp/got_symbols.txt || (echo "Difference(s) found in exported symbols. If intended, refresh scripts/reference_exported_symbols.txt with 'scripts/dump_exported_symbols.sh src/.libs/libproj.so > scripts/reference_exported_symbols.txt'"; exit 1) + fi fi make check -- cgit v1.2.3