|
|
|
@ -4,8 +4,8 @@
|
|
|
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
|
'''
|
|
|
|
|
A script to check that the (Linux) executables produced by gitian only contain
|
|
|
|
|
allowed gcc, glibc and libstdc++ version symbols. This makes sure they are
|
|
|
|
|
still compatible with the minimum supported Linux distribution versions.
|
|
|
|
|
allowed gcc and glibc version symbols. This makes sure they are still compatible
|
|
|
|
|
with the minimum supported Linux distribution versions.
|
|
|
|
|
|
|
|
|
|
Example usage:
|
|
|
|
|
|
|
|
|
@ -20,25 +20,20 @@ import os
|
|
|
|
|
#
|
|
|
|
|
# - g++ version 4.4.5 (https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=names&keywords=g%2B%2B)
|
|
|
|
|
# - libc version 2.11.3 (https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=names&keywords=libc6)
|
|
|
|
|
# - libstdc++ version 4.4.5 (https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=names&keywords=libstdc%2B%2B6)
|
|
|
|
|
#
|
|
|
|
|
# Ubuntu 10.04.4 (Lucid Lynx) has:
|
|
|
|
|
#
|
|
|
|
|
# - g++ version 4.4.3 (http://packages.ubuntu.com/search?keywords=g%2B%2B&searchon=names&suite=lucid§ion=all)
|
|
|
|
|
# - libc version 2.11.1 (http://packages.ubuntu.com/search?keywords=libc6&searchon=names&suite=lucid§ion=all)
|
|
|
|
|
# - libstdc++ version 4.4.3 (http://packages.ubuntu.com/search?suite=lucid§ion=all&arch=any&keywords=libstdc%2B%2B&searchon=names)
|
|
|
|
|
#
|
|
|
|
|
# Taking the minimum of these as our target.
|
|
|
|
|
#
|
|
|
|
|
# According to GNU ABI document (http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html) this corresponds to:
|
|
|
|
|
# GCC 4.4.0: GCC_4.4.0
|
|
|
|
|
# GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3
|
|
|
|
|
# (glibc) GLIBC_2_11
|
|
|
|
|
#
|
|
|
|
|
MAX_VERSIONS = {
|
|
|
|
|
'GCC': (4,4,0),
|
|
|
|
|
'CXXABI': (1,3,3),
|
|
|
|
|
'GLIBCXX': (3,4,13),
|
|
|
|
|
'GLIBC': (2,11),
|
|
|
|
|
'LIBATOMIC': (1,0)
|
|
|
|
|
}
|
|
|
|
|