Skip to content

Commit da13c7b

Browse files
committed
Merge bitcoin/bitcoin#22392: scripts: use LIEF for ELF security & symbol checks
ce69e18 scripts: remove pixie.py (fanquake) 00b85d0 scripts: only parse the binary once in security-check.py (fanquake) cad40a5 scripts: use LIEF for ELF checks in security-check.py (fanquake) 8242ae2 scripts: only parse the binary once in symbol-check.py (fanquake) 309eac9 scripts: use LIEF for ELF checks in symbol-check.py (fanquake) 610a8a8 test-*-check: Pass in *FLAGS and compile with them (Carl Dong) Pull request description: This finishes the transition to using LIEF for the ELF symbol and security checks. Note that there's currently a work around used for identifying RISCV binaries (just checking the interpreter). I've sent a PR upstream, lief-project/LIEF#562, and we should be able to drop that when using LIEF 0.12.0 and onwards. ACKs for top commit: dongcarl: Code Review ACK ce69e18 laanwj: Code review ACK ce69e18 Tree-SHA512: 911ba693cd9777ad1fc1f66dff6c4d3630a907351215380cbde5b14a4bbf5cf7eebf52eafa7e86b27deabd2d93d1b403f34aabd356b5ceaab3cc6e9941a01dd4
2 parents 28d5074 + ce69e18 commit da13c7b

File tree

8 files changed

+143
-547
lines changed

8 files changed

+143
-547
lines changed

Makefile.am

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ DIST_SHARE = \
5858

5959
BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
6060
$(top_srcdir)/contrib/devtools/security-check.py \
61-
$(top_srcdir)/contrib/devtools/utils.py \
62-
$(top_srcdir)/contrib/devtools/pixie.py
61+
$(top_srcdir)/contrib/devtools/utils.py
6362

6463
WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
6564
$(top_srcdir)/share/pixmaps/nsis-header.bmp \
@@ -367,14 +366,14 @@ clean-local: clean-docs
367366

368367
test-security-check:
369368
if TARGET_DARWIN
370-
$(AM_V_at) CC='$(CC)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_MACHO
371-
$(AM_V_at) CC='$(CC)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_MACHO
369+
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_MACHO
370+
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_MACHO
372371
endif
373372
if TARGET_WINDOWS
374-
$(AM_V_at) CC='$(CC)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_PE
375-
$(AM_V_at) CC='$(CC)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_PE
373+
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_PE
374+
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_PE
376375
endif
377376
if TARGET_LINUX
378-
$(AM_V_at) CC='$(CC)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_ELF
379-
$(AM_V_at) CC='$(CC)' CPPFILT='$(CPPFILT)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_ELF
377+
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_ELF
378+
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_ELF
380379
endif

configure.ac

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ AC_PATH_PROG([GIT], [git])
113113
AC_PATH_PROG(CCACHE,ccache)
114114
AC_PATH_PROG(XGETTEXT,xgettext)
115115
AC_PATH_PROG(HEXDUMP,hexdump)
116-
AC_PATH_TOOL(CPPFILT, c++filt)
117116
AC_PATH_TOOL(OBJCOPY, objcopy)
118117
AC_PATH_PROG(DOXYGEN, doxygen)
119118
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])

contrib/devtools/pixie.py

Lines changed: 0 additions & 323 deletions
This file was deleted.

0 commit comments

Comments
 (0)