Commit cfd59ca9 authored by Andres Freund's avatar Andres Freund Committed by Arnaldo Carvalho de Melo
Browse files

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: default avatarAndres Freund <andres@anarazel.de>
Acked-by: default avatarQuentin 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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 00b32625
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -70,6 +70,7 @@ FEATURE_TESTS_BASIC := \
        libaio				\
        libaio				\
        libzstd				\
        libzstd				\
        disassembler-four-args		\
        disassembler-four-args		\
        disassembler-init-styled	\
        file-handle
        file-handle


# FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
# FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
+4 −0
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ FILES= \
         test-libbfd.bin                        \
         test-libbfd.bin                        \
         test-libbfd-buildid.bin		\
         test-libbfd-buildid.bin		\
         test-disassembler-four-args.bin        \
         test-disassembler-four-args.bin        \
         test-disassembler-init-styled.bin	\
         test-reallocarray.bin			\
         test-reallocarray.bin			\
         test-libbfd-liberty.bin                \
         test-libbfd-liberty.bin                \
         test-libbfd-liberty-z.bin              \
         test-libbfd-liberty-z.bin              \
@@ -248,6 +249,9 @@ $(OUTPUT)test-libbfd-buildid.bin:
$(OUTPUT)test-disassembler-four-args.bin:
$(OUTPUT)test-disassembler-four-args.bin:
	$(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
	$(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes


$(OUTPUT)test-disassembler-init-styled.bin:
	$(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes

$(OUTPUT)test-reallocarray.bin:
$(OUTPUT)test-reallocarray.bin:
	$(BUILD)
	$(BUILD)


+4 −0
Original line number Original line Diff line number Diff line
@@ -166,6 +166,10 @@
# include "test-disassembler-four-args.c"
# include "test-disassembler-four-args.c"
#undef main
#undef main


#define main main_test_disassembler_init_styled
# include "test-disassembler-init-styled.c"
#undef main

#define main main_test_libzstd
#define main main_test_libzstd
# include "test-libzstd.c"
# include "test-libzstd.c"
#undef main
#undef main
+13 −0
Original line number Original line Diff line number Diff line
// 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;
}