diff options
Diffstat (limited to 'libdwfl/open.c')
| -rw-r--r-- | libdwfl/open.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libdwfl/open.c b/libdwfl/open.c index 35fc5283..77bd2bd9 100644 --- a/libdwfl/open.c +++ b/libdwfl/open.c @@ -44,6 +44,10 @@ # define __libdw_unlzma(...) DWFL_E_BADELF #endif +#if !USE_ZSTD +# define __libdw_unzstd(...) DWFL_E_BADELF +#endif + /* Consumes and replaces *ELF only on success. */ static Dwfl_Error decompress (int fd __attribute__ ((unused)), Elf **elf) @@ -64,6 +68,8 @@ decompress (int fd __attribute__ ((unused)), Elf **elf) error = __libdw_bunzip2 (fd, offset, mapped, mapped_size, &buffer, &size); if (error == DWFL_E_BADELF) error = __libdw_unlzma (fd, offset, mapped, mapped_size, &buffer, &size); + if (error == DWFL_E_BADELF) + error = __libdw_unzstd (fd, offset, mapped, mapped_size, &buffer, &size); if (error == DWFL_E_NOERROR) { |
