+++ /dev/null
-#!/bin/sh
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-# Check whether library symbols have correct
-# version (provided ABI number or provided ABI
-# number + 1 or EXPERIMENTAL).
-# Args:
-# $1: path of the library .so file
-# $2: ABI major version number to check
-# (defaults to ABI_VERSION file value)
-
-if [ -z "$1" ]; then
- echo "Script checks whether library symbols have"
- echo "correct version (ABI_VER/ABI_VER+1/EXPERIMENTAL)"
- echo "Usage:"
- echo " $0 SO_FILE_PATH [ABI_VER]"
- exit 1
-fi
-
-LIB="$1"
-DEFAULT_ABI=$(cat "$(dirname \
- $(readlink -f $0))/../ABI_VERSION" | \
- cut -d'.' -f 1)
-ABIVER="DPDK_${2-$DEFAULT_ABI}"
-NEXT_ABIVER="DPDK_$((${2-$DEFAULT_ABI}+1))"
-
-ret=0
-
-# get output of objdump
-OBJ_DUMP_OUTPUT=`objdump -TC --section=.text ${LIB} 2>&1 | grep ".text"`
-
-# there may not be any .text sections in the .so file, in which case exit early
-echo "${OBJ_DUMP_OUTPUT}" | grep "not found in any input file" -q
-if [ "$?" -eq 0 ]; then
- exit 0
-fi
-
-# we have symbols, so let's see if the versions are correct
-for SYM in $(echo "${OBJ_DUMP_OUTPUT}" | awk '{print $(NF-1) "-" $NF}')
-do
- version=$(echo $SYM | cut -d'-' -f 1)
- symbol=$(echo $SYM | cut -d'-' -f 2)
- case $version in (*"$ABIVER"*|*"$NEXT_ABIVER"*|"EXPERIMENTAL")
- ;;
- (*)
- echo "Warning: symbol $symbol ($version) should be annotated " \
- "as ABI version $ABIVER / $NEXT_ABIVER, or EXPERIMENTAL."
- ret=1
- ;;
- esac
-done
-
-exit $ret