#!/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 "$@"