aboutsummaryrefslogtreecommitdiff
path: root/contrib/devtools/symbol-check.py
AgeCommit message (Collapse)Author
2019-11-23build: Allow export of environ symbolsWladimir J. van der Laan
This export was introduced in #17270 which added ``` //! Necessary on some platforms extern char** environ; ```
2019-11-22build: Bump minimum versions in symbol checkerWladimir J. van der Laan
Debian 8 (Jessie) has: - g++ version 4.9.2 - libc version 2.19 Ubuntu 16.04.4 (Xenial) has: - g++ version 5.3.1 - libc version 2.23.0 CentOS 7 has: - g++ version 4.8.5 - libc version 2.17 Taking the minimum of these as our target. According to the GNU ABI document this corresponds to: - GCC 4.8.5: GCC_4.8.0 - (glibc) GLIBC_2_17 Co-Authored-By: fanquake <fanquake@gmail.com>
2019-11-22build: Disallow dynamic linking against c++ libraryWladimir J. van der Laan
Ever since statically linking Qt, we've been linking the C++ library statically too (-static-libstdc++). Take this into account in the symbol checker.
2019-11-20build: remove libanl.so.1 from ALLOWED_LIBRARIESfanquake
2019-09-03test/contrib: Fix invalid escapes in regex stringsBen Woosley
Flagged by flake8 v3.6.0, as W605, plus a few others identified incidentally, e.g. 59ffecf66cf4d08c4b431e457b083878d66a3fd6. Note that r"\n" matches to "\n" under re.match/search.
2019-07-17symbol-check: Disallow libX11-*.so.* shared librariesCarl Dong
They should no longer be needed as we build QT without libX11/XLib libraries now.
2019-03-02build: Require python 3.5MarcoFalke
2018-08-25[contrib] Support ARM and RISC-V symbol checkChun Kuan Lee
2018-06-02Add stdin, stdout, stderr to ignored export listChun Kuan Lee
2018-03-28[contrib] fixup symbol-check.py Python3 supportJohn Newbery
2018-03-26Change all python files to use Python3John Newbery
2017-08-28Use sys.exit(...) instead of exit(...): exit(...) should not be used in programspracticalswift
2016-06-28Favour python over python2 as per PR #7723Matthew King
2016-06-26Use portable #! in python scripts (/usr/bin/env)Matthew King
2016-03-29build: python 3 compatibilityWladimir J. van der Laan
Ubuntu 16.04 "xenial xerus" does not come with Python 2.x by default. It is possible to install a python-2.7 package, but this has its own problem: no `python` or `python2` symlink (see #7717). This fixes the following scripts to work with python 3: - `make check` (bctest,py, bitcoin-util-test.py) - `make translate` (extract_strings_qt.py) - `make symbols-check` (symbol-check.py) - `make security-check` (security-check.py) Explicitly call the python commands using $(PYTHON) instead of relying on the interpreter line at the top of the scripts.
2016-01-26release: add _IO_stdin_used to ignored exportsCory Fields
For details see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109
2015-11-16devtools: add libraries for bitcoin-qt to symbol checkWladimir J. van der Laan
Forgot to add these. Also add a short description for each required library.
2015-10-22devtools: Add security-check.pyWladimir J. van der Laan
Perform the following ELF security checks: - PIE: Check for position independent executable (PIE), allowing for address space randomization - NX: Check that no sections are writable and executable (including the stack) - RELRO: Check for read-only relocations, binding at startup - Canary: Check for use of stack canary Also add a check to symbol-check.py that checks that only the subset of allowed libraries is imported (to avoid incompatibilities).
2014-12-16Remove references to X11 licenceMichael Ford
2014-08-17devtools: Exclude default exports from symbol-checker scriptWladimir J. van der Laan
See discussion in #4663.
2014-04-30devtools: have symbol check script check for exported symbolsWladimir J. van der Laan
After last commit, our executables should export no symbols anymore. To make sure that this stays the case, verify this in the symbol checker script.
2014-04-25devtools: add script to check symbols from Linux gitian executablesWladimir J. van der Laan
Add 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.