Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions conda_build/os_utils/liefldd.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,16 @@ def get_libraries(file):
return result


def _get_dynamic_tags(binary):
return [
dynamic_entry
for dynamic_entry in binary.dynamic_entries
if isinstance(dynamic_entry, ELF_DYNAMIC_TAGS)
]


def _get_elf_rpathy_thing(binary, attribute, dyn_tag):
dynamic_entries = binary.dynamic_entries
dynamic_entries = _get_dynamic_tags(binary)
rpaths_colons = [getattr(e, attribute) for e in dynamic_entries if e.tag == dyn_tag]
rpaths = []
for rpath in rpaths_colons:
Expand All @@ -169,7 +177,7 @@ def _get_elf_rpathy_thing(binary, attribute, dyn_tag):


def _set_elf_rpathy_thing(binary, old_matching, new_rpath, set_rpath, set_runpath):
dynamic_entries = binary.dynamic_entries
dynamic_entries = _get_dynamic_tags(binary)
changed = False
for e in dynamic_entries:
if (
Expand Down Expand Up @@ -377,7 +385,7 @@ def get_uniqueness_key(filename, file):
elif binary.format == EXE_FORMATS.ELF and ( # noqa
binary.type == ELF32 or binary.type == ELF64
):
dynamic_entries = binary.dynamic_entries
dynamic_entries = _get_dynamic_tags(binary)
result = [e.name for e in dynamic_entries if e.tag == ELF_DYNAMIC_TAGS.SONAME]
if result:
return result[0]
Expand Down
19 changes: 19 additions & 0 deletions news/5778.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
### Enhancements

* <news item>

### Bug fixes

* Handle unknown dynanic tags in liefldd. (#5778)

### Deprecations

* <news item>

### Docs

* <news item>

### Other

* <news item>
Loading