Files
cryptsetup/tests/generate-symbols-list
Ondrej Kozina 8d449aa9a6 Add failsafe test for eventual broken symbol versioning.
Due to nature of recent change in GCC10 that silently
broken symbol versioning, let's be a bit pedantic
and test all symbols are available in all versions that
meant to be exported to users.
2021-04-13 16:42:14 +02:00

36 lines
590 B
Bash
Executable File

#!/bin/bash
function fail()
{
[ -n "$1" ] && echo "$1"
exit 2
}
function generate() {
local ver=
while IFS= read -r line; do
local len=${#line}
if [ "${line:0:11}" = "CRYPTSETUP_" ]; then
local i=12
while [ $i -lt $len ]; do
if [ "${line:$i:1}" = "{" ]; then
ver=${line:0:$i}
break
fi
i=$((i+1))
done
elif [ "${line:0:6}" = "crypt_" -a -n "$ver" ]; then
printf 'CHECK_SYMBOL(%s, %s)\n' $line $ver
fi
done < <(tr -d '[:blank:];' < $1)
}
test $# -ge 1 || fail "usage: $0 <symbol_file>"
test -f $1 || fail "$1 is not a file."
generate $1