Re: [PATCH v2 1/3] tools build: Add feature test for libelf with ZSTD

From: Jiri Olsa
Date: Wed Dec 11 2024 - 10:06:07 EST


On Wed, Dec 11, 2024 at 09:31:12AM +0000, Leo Yan wrote:
> Add a test for checking if libelf supports ZSTD compress algorithm.
>
> The macro ELFCOMPRESS_ZSTD is defined for the algorithm, pass it as an
> argument to the elf_compress() function. If the build succeeds, it
> means the feature is supported.
>
> Signed-off-by: Leo Yan <leo.yan@xxxxxxx>

lgtm

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

jirka

> ---
> tools/build/Makefile.feature | 1 +
> tools/build/feature/Makefile | 4 ++++
> tools/build/feature/test-all.c | 4 ++++
> tools/build/feature/test-libelf-zstd.c | 9 +++++++++
> 4 files changed, 18 insertions(+)
> create mode 100644 tools/build/feature/test-libelf-zstd.c
>
> diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> index bca47d136f05..b2884bc23775 100644
> --- a/tools/build/Makefile.feature
> +++ b/tools/build/Makefile.feature
> @@ -43,6 +43,7 @@ FEATURE_TESTS_BASIC := \
> libelf-getphdrnum \
> libelf-gelf_getnote \
> libelf-getshdrstrndx \
> + libelf-zstd \
> libnuma \
> numa_num_possible_cpus \
> libperl \
> diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
> index 043dfd00fce7..f12b89103d7a 100644
> --- a/tools/build/feature/Makefile
> +++ b/tools/build/feature/Makefile
> @@ -28,6 +28,7 @@ FILES= \
> test-libelf-getphdrnum.bin \
> test-libelf-gelf_getnote.bin \
> test-libelf-getshdrstrndx.bin \
> + test-libelf-zstd.bin \
> test-libdebuginfod.bin \
> test-libnuma.bin \
> test-numa_num_possible_cpus.bin \
> @@ -196,6 +197,9 @@ $(OUTPUT)test-libelf-gelf_getnote.bin:
> $(OUTPUT)test-libelf-getshdrstrndx.bin:
> $(BUILD) -lelf
>
> +$(OUTPUT)test-libelf-zstd.bin:
> + $(BUILD) -lelf -lz -lzstd
> +
> $(OUTPUT)test-libdebuginfod.bin:
> $(BUILD) -ldebuginfod
>
> diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c
> index 80ac297f8196..67125f967860 100644
> --- a/tools/build/feature/test-all.c
> +++ b/tools/build/feature/test-all.c
> @@ -58,6 +58,10 @@
> # include "test-libelf-getshdrstrndx.c"
> #undef main
>
> +#define main main_test_libelf_zstd
> +# include "test-libelf-zstd.c"
> +#undef main
> +
> #define main main_test_libslang
> # include "test-libslang.c"
> #undef main
> diff --git a/tools/build/feature/test-libelf-zstd.c b/tools/build/feature/test-libelf-zstd.c
> new file mode 100644
> index 000000000000..a1324a1db3bb
> --- /dev/null
> +++ b/tools/build/feature/test-libelf-zstd.c
> @@ -0,0 +1,9 @@
> +// SPDX-License-Identifier: GPL-2.0
> +#include <stddef.h>
> +#include <libelf.h>
> +
> +int main(void)
> +{
> + elf_compress(NULL, ELFCOMPRESS_ZSTD, 0);
> + return 0;
> +}
> --
> 2.34.1
>