From ba6005175eee22ec7fb9f4226690f70ce35a45ae Mon Sep 17 00:00:00 2001 From: Damian Szuberski Date: Wed, 16 Feb 2022 20:48:01 +0100 Subject: [PATCH] `checkabi`/`storeabi` relevant only to x86_64 The stored ABI files are for the x86_64 architecture. Reviewed-by: Brian Behlendorf Reviewed-by: George Melikov Signed-off-by: szubersk Closes #11345 Closes #13104 --- Makefile.am | 14 ++------------ config/Abigail.am | 25 ++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/Makefile.am b/Makefile.am index c8d1d08aa..42330440a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -138,20 +138,10 @@ SHELLCHECKSCRIPTS = autogen.sh PHONY += checkabi storeabi -checklibabiversion: - libabiversion=`abidw -v | $(SED) 's/[^0-9]//g'`; \ - if test $$libabiversion -lt "200"; then \ - /bin/echo -e "\n" \ - "*** Please use libabigail 2.0.0 version or newer;\n" \ - "*** otherwise results are not consistent!\n" \ - "(or see https://github.com/openzfs/libabigail-docker )\n"; \ - exit 1; \ - fi; - -checkabi: checklibabiversion lib +checkabi: lib $(MAKE) -C lib checkabi -storeabi: checklibabiversion lib +storeabi: lib $(MAKE) -C lib storeabi PHONY += mancheck diff --git a/config/Abigail.am b/config/Abigail.am index 94687b90e..d1038f093 100644 --- a/config/Abigail.am +++ b/config/Abigail.am @@ -12,9 +12,24 @@ # a mechanism for suppressing harmless warnings. # -PHONY += checkabi storeabi +PHONY += checkabi storeabi check_libabi_version allow_libabi_only_for_x86_64 -checkabi: +check_libabi_version: + libabiversion=`abidw -v | $(SED) 's/[^0-9]//g'`; \ + if test $$libabiversion -lt "200"; then \ + /bin/echo -e "\n" \ + "*** Please use libabigail 2.0.0 version or newer;\n" \ + "*** otherwise results are not consistent!\n" \ + "(or see https://github.com/openzfs/libabigail-docker )\n"; \ + exit 1; \ + fi; + +allow_libabi_only_for_x86_64: + echo '*** ABI definitions provided apply only to x86_64 architecture' + echo '*** Skipping `checkabi`/`storeabi` target and assuming success.' + +if TARGET_CPU_X86_64 +checkabi: check_libabi_version for lib in $(lib_LTLIBRARIES) ; do \ abidiff --no-unreferenced-symbols \ --headers-dir1 ../../include \ @@ -22,7 +37,7 @@ checkabi: $${lib%.la}.abi .libs/$${lib%.la}.so ; \ done -storeabi: +storeabi: check_libabi_version cd .libs ; \ for lib in $(lib_LTLIBRARIES) ; do \ abidw --no-show-locs \ @@ -31,3 +46,7 @@ storeabi: --type-id-style hash \ $${lib%.la}.so > ../$${lib%.la}.abi ; \ done +else +checkabi: allow_libabi_only_for_x86_64 +storeabi: allow_libabi_only_for_x86_64 +endif