aboutsummaryrefslogtreecommitdiff
path: root/contrib/devtools/symbol-check.py
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-08-17 10:06:20 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2014-08-17 10:07:46 +0200
commit27116e87ccc48421640458310cd6cab222fc27dd (patch)
treee165521b75872d3c020157c42f48b4e60fa34cb0 /contrib/devtools/symbol-check.py
parent2eb3c85c9afa9158a263c0b6564d6a67500103f2 (diff)
devtools: Exclude default exports from symbol-checker script
See discussion in #4663.
Diffstat (limited to 'contrib/devtools/symbol-check.py')
-rwxr-xr-xcontrib/devtools/symbol-check.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/contrib/devtools/symbol-check.py b/contrib/devtools/symbol-check.py
index 8dd6d8f037..f3999f1c0b 100755
--- a/contrib/devtools/symbol-check.py
+++ b/contrib/devtools/symbol-check.py
@@ -41,6 +41,10 @@ MAX_VERSIONS = {
'GLIBCXX': (3,4,13),
'GLIBC': (2,11)
}
+# Ignore symbols that are exported as part of every executable
+IGNORE_EXPORTS = {
+'_edata', '_end', '_init', '__bss_start', '_fini'
+}
READELF_CMD = '/usr/bin/readelf'
CPPFILT_CMD = '/usr/bin/c++filt'
@@ -105,6 +109,8 @@ if __name__ == '__main__':
retval = 1
# Check exported symbols
for sym,version in read_symbols(filename, False):
+ if sym in IGNORE_EXPORTS:
+ continue
print('%s: export of symbol %s not allowed' % (filename, cppfilt(sym)))
retval = 1