104 lines
3.7 KiB
Diff
104 lines
3.7 KiB
Diff
|
From cfd59ca91467056bb2c36907b2fa67b8e1af9952 Mon Sep 17 00:00:00 2001
|
||
|
From: Andres Freund <andres@anarazel.de>
|
||
|
Date: Sun, 31 Jul 2022 18:38:27 -0700
|
||
|
Subject: [PATCH] tools build: Add feature test for init_disassemble_info API
|
||
|
changes
|
||
|
|
||
|
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.
|
||
|
|
||
|
Signed-off-by: Andres Freund <andres@anarazel.de>
|
||
|
Acked-by: Quentin Monnet <quentin@isovalent.com>
|
||
|
Cc: Alexei Starovoitov <ast@kernel.org>
|
||
|
Cc: Ben Hutchings <benh@debian.org>
|
||
|
Cc: Jiri Olsa <jolsa@kernel.org>
|
||
|
Cc: Quentin Monnet <quentin@isovalent.com>
|
||
|
Cc: Sedat Dilek <sedat.dilek@gmail.com>
|
||
|
Cc: bpf@vger.kernel.org
|
||
|
Link: http://lore.kernel.org/lkml/20220622181918.ykrs5rsnmx3og4sv@alap3.anarazel.de
|
||
|
Link: https://lore.kernel.org/r/20220801013834.156015-2-andres@anarazel.de
|
||
|
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
||
|
---
|
||
|
tools/build/Makefile.feature | 1 +
|
||
|
tools/build/feature/Makefile | 4 ++++
|
||
|
tools/build/feature/test-all.c | 4 ++++
|
||
|
tools/build/feature/test-disassembler-init-styled.c | 13 +++++++++++++
|
||
|
4 files changed, 22 insertions(+)
|
||
|
create mode 100644 tools/build/feature/test-disassembler-init-styled.c
|
||
|
|
||
|
diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
|
||
|
index 888a0421d43b96..8f6578e4d3249e 100644
|
||
|
--- a/tools/build/Makefile.feature
|
||
|
+++ b/tools/build/Makefile.feature
|
||
|
@@ -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
|
||
|
diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
|
||
|
index 7c2a17e23c30ac..c3059739318a95 100644
|
||
|
--- a/tools/build/feature/Makefile
|
||
|
+++ b/tools/build/feature/Makefile
|
||
|
@@ -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 \
|
||
|
@@ -248,6 +249,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)
|
||
|
|
||
|
diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c
|
||
|
index 5ffafb967b6e49..957c02c7b163b5 100644
|
||
|
--- a/tools/build/feature/test-all.c
|
||
|
+++ b/tools/build/feature/test-all.c
|
||
|
@@ -166,6 +166,10 @@
|
||
|
# 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
|
||
|
index 00000000000000..f1ce0ec3bee9d3
|
||
|
--- /dev/null
|
||
|
+++ b/tools/build/feature/test-disassembler-init-styled.c
|
||
|
@@ -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;
|
||
|
+}
|