]> git.ipfire.org Git - thirdparty/kmod.git/commit
libkmod: Add ELF notes to compression libraries
authorLucas De Marchi <lucas.de.marchi@gmail.com>
Wed, 4 Dec 2024 15:24:49 +0000 (09:24 -0600)
committerLucas De Marchi <lucas.de.marchi@gmail.com>
Fri, 6 Dec 2024 21:16:28 +0000 (13:16 -0800)
commitc9f80c49b1cb8218fa08fd415586d265771eeeb2
tree861ae73221d218e815f98113500d5084f6120bc3
parentbbab061e517afc1286a68bc6e7b3f4103626a104
libkmod: Add ELF notes to compression libraries

Follow the new spec for ELF notes as detailed in
https://systemd.io/ELF_PACKAGE_METADATA/.

We can copy mostly verbatim the macros from systemd codebase.

Example output:

$ meson setup --native-file build-dev.ini -Dxz=disabled -Ddlopen=zlib build
...
    dlopen           : zlib

    features         : +ZSTD -XZ +ZLIB +OPENSSL

$ dlopen-notes.py build/libkmod.so.2
# build/libkmod.so.2
[
  {
    "feature": "xz",
    "description": "Support for uncompressing xz-compressed modules",
    "priority": "recommended",
    "soname": [
      "liblzma.so.5"
    ]
  }
]

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/262
Makefile.am
libkmod/libkmod-file-xz.c
libkmod/libkmod-file-zlib.c
libkmod/libkmod-file-zstd.c
meson.build
shared/elf-note.h [new file with mode: 0644]
shared/macro.h