| #!/bin/bash | |
| # Copyright 2024 The ChromiumOS Authors | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| # Load common constants and variables. | |
| . "$(dirname "$0")/common.sh" | |
| TMPD="$(mktemp -d /tmp/"$(basename "$0")".XXXXX)" | |
| trap '/bin/rm -rf "${TMPD}"' EXIT | |
| return_code=0 | |
| main() { | |
| local hostlib_def_symbols=$1 | |
| local hostlib_undef_symbols=$2 | |
| local never_def_vb2_functions="${TMPD}/vb2_undef.txt" | |
| if [ ! -s "${hostlib_def_symbols}" ] || [ ! -s "${hostlib_undef_symbols}" ]; then | |
| echo "Missing input data." >&2 | |
| exit 1 | |
| fi | |
| # We should see any vb2 symbols undefined. | |
| grep -vf "${hostlib_def_symbols}" "${hostlib_undef_symbols}" | \ | |
| grep vb2 > "${never_def_vb2_functions}" | |
| if [ -s "${never_def_vb2_functions}" ]; then | |
| echo "libvboot_host: Unexpected undefined symbols: " >&2 | |
| cat "${never_def_vb2_functions}" >&2 | |
| return_code=1 | |
| fi | |
| return "${return_code}" | |
| } | |
| main "$@" |