IES-binary-diffing/docker/binary-diff/entrypoint.sh

45 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
set -e
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_TYPE=en_US.UTF-8
if [[ -d "output/target-build" ]]; then
rm -R output/target-build
fi
if [[ -d "output/report" ]]; then
rm -R output/report
fi
mkdir output/target-build
mkdir output/report
mkdir output/report/libFocalpointSDK
mkdir output/report/libLTStdPlatform
curl "${1}" --location --output output/target-build/libFocalpointSDK.so
curl "${2}" --location --output output/target-build/libLTStdPlatform.so
do_report () {
python3 -m elf_diff \
--bin_dir "/usr/bin" \
--bin_prefix "x86_64-linux-gnu-" \
--symbol_exclusion_regex "^__" \
--similarity_threshold 0.985 \
--old_binary_filename output/current-build/${1}.so \
--new_binary_filename output/target-build/${1}.so \
--html_dir output/report/${1}
abidiff \
--deleted-fns --changed-fns --added-fns --deleted-vars --added-vars \
--show-bytes --show-hex \
output/current-build/${1}.so \
output/target-build/${1}.so | tee output/report/${1}/abidiff.txt
}
do_report libLTStdPlatform
do_report libFocalpointSDK