Changeset View
Changeset View
Standalone View
Standalone View
contrib/devtools/symbol-check.py
Show All 30 Lines | |||||
# Taking the minimum of these as our target. | # 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: | # According to GNU ABI document (http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html) this corresponds to: | ||||
# GCC 4.8.0: GCC_4.8.0 | # GCC 4.8.0: GCC_4.8.0 | ||||
# GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7 | # GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7 | ||||
# (glibc) GLIBC_2_19 | # (glibc) GLIBC_2_19 | ||||
# | # | ||||
MAX_VERSIONS = { | MAX_VERSIONS = { | ||||
'GCC': (4, 8, 0), | 'GCC': (4, 8, 0), | ||||
'CXXABI': (1, 3, 7), | 'CXXABI': (1, 3, 7), | ||||
'GLIBCXX': (3, 4, 18), | 'GLIBCXX': (3, 4, 18), | ||||
'GLIBC': (2, 19), | 'GLIBC': (2, 19), | ||||
'LIBATOMIC': (1, 0) | 'LIBATOMIC': (1, 0) | ||||
} | } | ||||
# See here for a description of _IO_stdin_used: | # See here for a description of _IO_stdin_used: | ||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109 | # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109 | ||||
# Ignore symbols that are exported as part of every executable | # Ignore symbols that are exported as part of every executable | ||||
IGNORE_EXPORTS = { | IGNORE_EXPORTS = { | ||||
'_edata', '_end', '__end__', '_init', '__bss_start', '__bss_start__', '_bss_end__', '__bss_end__', '_fini', '_IO_stdin_used', 'stdin', 'stdout', 'stderr', | '_edata', '_end', '__end__', '_init', '__bss_start', '__bss_start__', '_bss_end__', '__bss_end__', '_fini', '_IO_stdin_used', 'stdin', 'stdout', 'stderr', | ||||
Show All 21 Lines | ALLOWED_LIBRARIES = { | ||||
'libX11-xcb.so.1', # part of X11 | 'libX11-xcb.so.1', # part of X11 | ||||
'libX11.so.6', # part of X11 | 'libX11.so.6', # part of X11 | ||||
'libxcb.so.1', # part of X11 | 'libxcb.so.1', # part of X11 | ||||
'libfontconfig.so.1', # font support | 'libfontconfig.so.1', # font support | ||||
'libfreetype.so.6', # font parsing | 'libfreetype.so.6', # font parsing | ||||
'libdl.so.2' # programming interface to dynamic linker | 'libdl.so.2' # programming interface to dynamic linker | ||||
} | } | ||||
ARCH_MIN_GLIBC_VER = { | ARCH_MIN_GLIBC_VER = { | ||||
'80386': (2, 1), | '80386': (2, 1), | ||||
'X86-64': (2, 2, 5), | 'X86-64': (2, 2, 5), | ||||
'ARM': (2, 4), | 'ARM': (2, 4), | ||||
'AArch64': (2, 17) | 'AArch64': (2, 17) | ||||
} | } | ||||
class CPPFilt(object): | class CPPFilt(object): | ||||
''' | ''' | ||||
Demangle C++ symbol names. | Demangle C++ symbol names. | ||||
▲ Show 20 Lines • Show All 100 Lines • Show Last 20 Lines |