diff options
Diffstat (limited to 'roms/skiboot/libstb/crypto/mbedtls/tests/scripts/list-symbols.sh')
-rwxr-xr-x | roms/skiboot/libstb/crypto/mbedtls/tests/scripts/list-symbols.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/roms/skiboot/libstb/crypto/mbedtls/tests/scripts/list-symbols.sh b/roms/skiboot/libstb/crypto/mbedtls/tests/scripts/list-symbols.sh new file mode 100755 index 000000000..930722c1b --- /dev/null +++ b/roms/skiboot/libstb/crypto/mbedtls/tests/scripts/list-symbols.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +set -eu + +if [ -d include/mbedtls ]; then :; else + echo "$0: must be run from root" >&2 + exit 1 +fi + +if grep -i cmake Makefile >/dev/null; then + echo "$0: not compatible with cmake" >&2 + exit 1 +fi + +cp include/mbedtls/config.h include/mbedtls/config.h.bak +scripts/config.pl full +make clean +make_ret= +CFLAGS=-fno-asynchronous-unwind-tables make lib \ + >list-symbols.make.log 2>&1 || + { + make_ret=$? + echo "Build failure: CFLAGS=-fno-asynchronous-unwind-tables make lib" + cat list-symbols.make.log >&2 + } +rm list-symbols.make.log +mv include/mbedtls/config.h.bak include/mbedtls/config.h +if [ -n "$make_ret" ]; then + exit "$make_ret" +fi + +if uname | grep -F Darwin >/dev/null; then + nm -gUj library/libmbed*.a 2>/dev/null | sed -n -e 's/^_//p' +elif uname | grep -F Linux >/dev/null; then + nm -og library/libmbed*.a | grep -v '^[^ ]*: *U \|^$\|^[^ ]*:$' | sed 's/^[^ ]* . //' +fi | sort > exported-symbols +make clean + +wc -l exported-symbols |