contrib: add R(UN)PATH check to ELF symbol-check

Our binaries shouldn't contains any rpaths, or runpaths, so check that
at release time.
pull/30312/head
fanquake 5 months ago
parent aa2ce2d646
commit 4289dd02cc
No known key found for this signature in database
GPG Key ID: 2EEB9F5CC09526C1

@ -212,6 +212,11 @@ def check_exported_symbols(binary) -> bool:
ok = False ok = False
return ok return ok
def check_RUNPATH(binary) -> bool:
assert binary.get(lief.ELF.DYNAMIC_TAGS.RUNPATH) is None
assert binary.get(lief.ELF.DYNAMIC_TAGS.RPATH) is None
return True
def check_ELF_libraries(binary) -> bool: def check_ELF_libraries(binary) -> bool:
ok: bool = True ok: bool = True
for library in binary.libraries: for library in binary.libraries:
@ -277,6 +282,7 @@ lief.EXE_FORMATS.ELF: [
('LIBRARY_DEPENDENCIES', check_ELF_libraries), ('LIBRARY_DEPENDENCIES', check_ELF_libraries),
('INTERPRETER_NAME', check_ELF_interpreter), ('INTERPRETER_NAME', check_ELF_interpreter),
('ABI', check_ELF_ABI), ('ABI', check_ELF_ABI),
('RUNPATH', check_RUNPATH),
], ],
lief.EXE_FORMATS.MACHO: [ lief.EXE_FORMATS.MACHO: [
('DYNAMIC_LIBRARIES', check_MACHO_libraries), ('DYNAMIC_LIBRARIES', check_MACHO_libraries),

Loading…
Cancel
Save