56 lines
2.2 KiB
Bash
Executable File
56 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
## ======================================================================== ##
|
|
## Copyright 2009-2019 Intel Corporation ##
|
|
## ##
|
|
## Licensed under the Apache License, Version 2.0 (the "License"); ##
|
|
## you may not use this file except in compliance with the License. ##
|
|
## You may obtain a copy of the License at ##
|
|
## ##
|
|
## http://www.apache.org/licenses/LICENSE-2.0 ##
|
|
## ##
|
|
## Unless required by applicable law or agreed to in writing, software ##
|
|
## distributed under the License is distributed on an "AS IS" BASIS, ##
|
|
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ##
|
|
## See the License for the specific language governing permissions and ##
|
|
## limitations under the License. ##
|
|
## ======================================================================== ##
|
|
|
|
# Check version of symbols
|
|
function check_symbols
|
|
{
|
|
for sym in `nm $1 | grep $2_`
|
|
do
|
|
version=(`echo $sym | sed 's/.*@@\(.*\)$/\1/g' | grep -E -o "[0-9]+"`)
|
|
if [ ${#version[@]} -ne 0 ]; then
|
|
if [ ${#version[@]} -eq 1 ]; then version[1]=0; fi
|
|
if [ ${#version[@]} -eq 2 ]; then version[2]=0; fi
|
|
#echo $sym
|
|
#echo "version0 = " ${version[0]}
|
|
#echo "version1 = " ${version[1]}
|
|
#echo "version2 = " ${version[2]}
|
|
if [ ${version[0]} -gt $3 ]; then
|
|
echo "Error: problematic $2 symbol " $sym
|
|
exit 1
|
|
fi
|
|
if [ ${version[0]} -lt $3 ]; then continue; fi
|
|
|
|
if [ ${version[1]} -gt $4 ]; then
|
|
echo "Error: problematic $2 symbol " $sym
|
|
exit 1
|
|
fi
|
|
if [ ${version[1]} -lt $4 ]; then continue; fi
|
|
|
|
if [ ${version[2]} -gt $5 ]; then
|
|
echo "Error: problematic $2 symbol " $sym
|
|
exit 1
|
|
fi
|
|
fi
|
|
done
|
|
}
|
|
|
|
check_symbols $1 GLIBC 2 4 0
|
|
check_symbols $1 GLIBCXX 3 4 11
|
|
check_symbols $1 CXXABI 1 3 0
|
|
|