[1/5] tools build: add feature test for init_disassemble_info API changes
authorAndres Freund <andres@anarazel.de>
Sun, 3 Jul 2022 21:25:47 +0000 (14:25 -0700)
committerSalvatore Bonaccorso <carnil@debian.org>
Wed, 10 Aug 2022 18:11:48 +0000 (19:11 +0100)
Origin: https://lore.kernel.org/lkml/20220703212551.1114923-2-andres@anarazel.de/

binutils changed the signature of init_disassemble_info(), which now causes
compilation failures for tools/{perf,bpf}, e.g. on debian unstable.
Relevant binutils commit:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07

This commit adds a feature test to detect the new signature.  Subsequent
commits will use it to fix the build failures.

Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Sedat Dilek <sedat.dilek@gmail.com>
Cc: Quentin Monnet <quentin@isovalent.com>
Link: http://lore.kernel.org/lkml/20220622181918.ykrs5rsnmx3og4sv@alap3.anarazel.de
Signed-off-by: Andres Freund <andres@anarazel.de>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name tools-build-add-feature-test-for-init_disassemble_info-api-changes.patch

tools/build/Makefile.feature
tools/build/feature/Makefile
tools/build/feature/test-all.c
tools/build/feature/test-disassembler-init-styled.c [new file with mode: 0644]

index c6a48d0ef9ff06489a7a32340f2ee90e1b159efc..257f4685f590d752d0567dc93fb1df8848aed536 100644 (file)
@@ -70,6 +70,7 @@ FEATURE_TESTS_BASIC :=                  \
         libaio                         \
         libzstd                                \
         disassembler-four-args         \
+        disassembler-init-styled       \
         file-handle
 
 # FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
@@ -131,7 +132,8 @@ FEATURE_DISPLAY ?=              \
          bpf                   \
          libaio                        \
          libzstd               \
-         disassembler-four-args
+         disassembler-four-args        \
+         disassembler-init-styled
 
 # Set FEATURE_CHECK_(C|LD)FLAGS-all for all FEATURE_TESTS features.
 # If in the future we need per-feature checks/flags for features not
index cb4a2a4fa2e48ebf444a0b1604b0a2619b26a58c..c64932d9e990f7dbd7b557eab00ad29c75d34e89 100644 (file)
@@ -18,6 +18,7 @@ FILES=                                          \
          test-libbfd.bin                        \
          test-libbfd-buildid.bin               \
          test-disassembler-four-args.bin        \
+         test-disassembler-init-styled.bin     \
          test-reallocarray.bin                 \
          test-libbfd-liberty.bin                \
          test-libbfd-liberty-z.bin              \
@@ -243,6 +244,9 @@ $(OUTPUT)test-libbfd-buildid.bin:
 $(OUTPUT)test-disassembler-four-args.bin:
        $(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
 
+$(OUTPUT)test-disassembler-init-styled.bin:
+       $(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
+
 $(OUTPUT)test-reallocarray.bin:
        $(BUILD)
 
index 5ffafb967b6e4952d4b4b3b023d9207291abb167..957c02c7b163b579fba4dac72b73501bebd9d4ca 100644 (file)
 # include "test-disassembler-four-args.c"
 #undef main
 
+#define main main_test_disassembler_init_styled
+# include "test-disassembler-init-styled.c"
+#undef main
+
 #define main main_test_libzstd
 # include "test-libzstd.c"
 #undef main
diff --git a/tools/build/feature/test-disassembler-init-styled.c b/tools/build/feature/test-disassembler-init-styled.c
new file mode 100644 (file)
index 0000000..f1ce0ec
--- /dev/null
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <stdio.h>
+#include <dis-asm.h>
+
+int main(void)
+{
+       struct disassemble_info info;
+
+       init_disassemble_info(&info, stdout,
+                             NULL, NULL);
+
+       return 0;
+}