diff options
author | fanquake <fanquake@gmail.com> | 2024-05-09 23:44:31 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2024-05-10 00:13:31 +0800 |
commit | e6aba463adeb88fc707342a12fef658f68b0a0ea (patch) | |
tree | 50b2c0f3cda40593f801eb7bc006b201b76a0c15 /contrib | |
parent | ceb1e078f8c0ae58ff72748b039184a205efe337 (diff) |
contrib: use env_flags in get_arch
Otherwise we fail to link when trying to use lld.
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/devtools/test-security-check.py | 12 |
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) |