aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2024-05-09 23:44:31 +0800
committerfanquake <fanquake@gmail.com>2024-05-10 00:13:31 +0800
commite6aba463adeb88fc707342a12fef658f68b0a0ea (patch)
tree50b2c0f3cda40593f801eb7bc006b201b76a0c15 /contrib
parentceb1e078f8c0ae58ff72748b039184a205efe337 (diff)
contrib: use env_flags in get_arch
Otherwise we fail to link when trying to use lld.
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/devtools/test-security-check.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/contrib/devtools/test-security-check.py b/contrib/devtools/test-security-check.py
index 48823c7e45..51bca4627e 100755
--- a/contrib/devtools/test-security-check.py
+++ b/contrib/devtools/test-security-check.py
@@ -27,22 +27,24 @@ def clean_files(source, executable):
os.remove(source)
os.remove(executable)
-def call_security_check(cc: str, source: str, executable: str, options) -> tuple:
+def env_flags() -> list[str]:
# This should behave the same as AC_TRY_LINK, so arrange well-known flags
# in the same order as autoconf would.
#
# See the definitions for ac_link in autoconf's lib/autoconf/c.m4 file for
# reference.
- env_flags: list[str] = []
+ flags: list[str] = []
for var in ['CFLAGS', 'CPPFLAGS', 'LDFLAGS']:
- env_flags += filter(None, os.environ.get(var, '').split(' '))
+ flags += filter(None, os.environ.get(var, '').split(' '))
+ return flags
- subprocess.run([*cc,source,'-o',executable] + env_flags + options, check=True)
+def call_security_check(cc: str, source: str, executable: str, options) -> tuple:
+ subprocess.run([*cc,source,'-o',executable] + env_flags() + options, check=True)
p = subprocess.run([os.path.join(os.path.dirname(__file__), 'security-check.py'), executable], stdout=subprocess.PIPE, text=True)
return (p.returncode, p.stdout.rstrip())
def get_arch(cc, source, executable):
- subprocess.run([*cc, source, '-o', executable], check=True)
+ subprocess.run([*cc, source, '-o', executable] + env_flags(), check=True)
binary = lief.parse(executable)
arch = binary.abstract.header.architecture
os.remove(executable)