mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
linux-tools: update to 6.5.
This commit is contained in:
parent
d939943f59
commit
c51706d1f4
7 changed files with 100 additions and 653 deletions
|
@ -1,103 +0,0 @@
|
||||||
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;
|
|
||||||
+}
|
|
|
@ -1,102 +0,0 @@
|
||||||
From a45b3d6926231c3d024ea0de4f7bd967f83709ee Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andres Freund <andres@anarazel.de>
|
|
||||||
Date: Sun, 31 Jul 2022 18:38:29 -0700
|
|
||||||
Subject: tools include: add dis-asm-compat.h to handle version differences
|
|
||||||
|
|
||||||
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 introduces a wrapper for init_disassemble_info(), to avoid
|
|
||||||
spreading #ifdef DISASM_INIT_STYLED to a bunch of places. Subsequent
|
|
||||||
commits will use it to fix the build failures.
|
|
||||||
|
|
||||||
It likely is worth adding a wrapper for disassember(), to avoid the already
|
|
||||||
existing DISASM_FOUR_ARGS_SIGNATURE ifdefery.
|
|
||||||
|
|
||||||
Signed-off-by: Andres Freund <andres@anarazel.de>
|
|
||||||
Signed-off-by: Ben Hutchings <benh@debian.org>
|
|
||||||
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-4-andres@anarazel.de
|
|
||||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
---
|
|
||||||
tools/include/tools/dis-asm-compat.h | 55 ++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 55 insertions(+)
|
|
||||||
create mode 100644 tools/include/tools/dis-asm-compat.h
|
|
||||||
|
|
||||||
(limited to 'tools/include/tools/dis-asm-compat.h')
|
|
||||||
|
|
||||||
diff --git a/tools/include/tools/dis-asm-compat.h b/tools/include/tools/dis-asm-compat.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000..70f331e23ed3d
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tools/include/tools/dis-asm-compat.h
|
|
||||||
@@ -0,0 +1,55 @@
|
|
||||||
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
|
|
||||||
+#ifndef _TOOLS_DIS_ASM_COMPAT_H
|
|
||||||
+#define _TOOLS_DIS_ASM_COMPAT_H
|
|
||||||
+
|
|
||||||
+#include <stdio.h>
|
|
||||||
+#include <dis-asm.h>
|
|
||||||
+
|
|
||||||
+/* define types for older binutils version, to centralize ifdef'ery a bit */
|
|
||||||
+#ifndef DISASM_INIT_STYLED
|
|
||||||
+enum disassembler_style {DISASSEMBLER_STYLE_NOT_EMPTY};
|
|
||||||
+typedef int (*fprintf_styled_ftype) (void *, enum disassembler_style, const char*, ...);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * Trivial fprintf wrapper to be used as the fprintf_styled_func argument to
|
|
||||||
+ * init_disassemble_info_compat() when normal fprintf suffices.
|
|
||||||
+ */
|
|
||||||
+static inline int fprintf_styled(void *out,
|
|
||||||
+ enum disassembler_style style,
|
|
||||||
+ const char *fmt, ...)
|
|
||||||
+{
|
|
||||||
+ va_list args;
|
|
||||||
+ int r;
|
|
||||||
+
|
|
||||||
+ (void)style;
|
|
||||||
+
|
|
||||||
+ va_start(args, fmt);
|
|
||||||
+ r = vfprintf(out, fmt, args);
|
|
||||||
+ va_end(args);
|
|
||||||
+
|
|
||||||
+ return r;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * Wrapper for init_disassemble_info() that hides version
|
|
||||||
+ * differences. Depending on binutils version and architecture either
|
|
||||||
+ * fprintf_func or fprintf_styled_func will be called.
|
|
||||||
+ */
|
|
||||||
+static inline void init_disassemble_info_compat(struct disassemble_info *info,
|
|
||||||
+ void *stream,
|
|
||||||
+ fprintf_ftype unstyled_func,
|
|
||||||
+ fprintf_styled_ftype styled_func)
|
|
||||||
+{
|
|
||||||
+#ifdef DISASM_INIT_STYLED
|
|
||||||
+ init_disassemble_info(info, stream,
|
|
||||||
+ unstyled_func,
|
|
||||||
+ styled_func);
|
|
||||||
+#else
|
|
||||||
+ (void)styled_func;
|
|
||||||
+ init_disassemble_info(info, stream,
|
|
||||||
+ unstyled_func);
|
|
||||||
+#endif
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#endif /* _TOOLS_DIS_ASM_COMPAT_H */
|
|
||||||
--
|
|
||||||
cgit
|
|
||||||
|
|
|
@ -1,104 +0,0 @@
|
||||||
From 96ed066054abf11c7d3e106e3011a51f3f1227a3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andres Freund <andres@anarazel.de>
|
|
||||||
Date: Sun, 31 Jul 2022 18:38:31 -0700
|
|
||||||
Subject: [PATCH] tools bpf_jit_disasm: Fix compilation error with new binutils
|
|
||||||
|
|
||||||
binutils changed the signature of init_disassemble_info(), which now causes
|
|
||||||
compilation to fail for tools/bpf/bpf_jit_disasm.c, e.g. on debian
|
|
||||||
unstable.
|
|
||||||
|
|
||||||
Relevant binutils commit:
|
|
||||||
|
|
||||||
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
|
|
||||||
|
|
||||||
Wire up the feature test and switch to init_disassemble_info_compat(),
|
|
||||||
which were introduced in prior commits, fixing the compilation failure.
|
|
||||||
|
|
||||||
I verified that bpf_jit_disasm can still disassemble bpf programs, both
|
|
||||||
with the old and new dis-asm.h API. With old binutils there's no change in
|
|
||||||
output before/after this patch. When comparing the output from old
|
|
||||||
binutils (2.35) to new bintuils with the patch (upstream snapshot) there
|
|
||||||
are a few output differences, but they are unrelated to this patch. An
|
|
||||||
example hunk is:
|
|
||||||
|
|
||||||
f4: mov %r14,%rsi
|
|
||||||
f7: mov %r15,%rdx
|
|
||||||
fa: mov $0x2a,%ecx
|
|
||||||
- ff: callq 0xffffffffea8c4988
|
|
||||||
+ ff: call 0xffffffffea8c4988
|
|
||||||
104: test %rax,%rax
|
|
||||||
107: jge 0x0000000000000110
|
|
||||||
109: xor %eax,%eax
|
|
||||||
- 10b: jmpq 0x0000000000000073
|
|
||||||
+ 10b: jmp 0x0000000000000073
|
|
||||||
110: cmp $0x16,%rax
|
|
||||||
|
|
||||||
However, I had to use an older kernel to generate the bpf_jit_enabled =
|
|
||||||
2 output, as that has been broken since 5.18 / 1022a5498f6f745c ("bpf,
|
|
||||||
x86_64: Use bpf_jit_binary_pack_alloc").
|
|
||||||
|
|
||||||
https://lore.kernel.org/20220703030210.pmjft7qc2eajzi6c@alap3.anarazel.de
|
|
||||||
|
|
||||||
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: Daniel Borkmann <daniel@iogearbox.net>
|
|
||||||
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-6-andres@anarazel.de
|
|
||||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
---
|
|
||||||
tools/bpf/Makefile | 5 ++++-
|
|
||||||
tools/bpf/bpf_jit_disasm.c | 5 ++++-
|
|
||||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tools/bpf/Makefile b/tools/bpf/Makefile
|
|
||||||
index b11cfc86a3d021..664601ab1705ab 100644
|
|
||||||
--- a/tools/bpf/Makefile
|
|
||||||
+++ b/tools/bpf/Makefile
|
|
||||||
@@ -34,7 +34,7 @@ else
|
|
||||||
endif
|
|
||||||
|
|
||||||
FEATURE_USER = .bpf
|
|
||||||
-FEATURE_TESTS = libbfd disassembler-four-args
|
|
||||||
+FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled
|
|
||||||
FEATURE_DISPLAY = libbfd disassembler-four-args
|
|
||||||
|
|
||||||
check_feat := 1
|
|
||||||
@@ -56,6 +56,9 @@ endif
|
|
||||||
ifeq ($(feature-disassembler-four-args), 1)
|
|
||||||
CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
|
|
||||||
endif
|
|
||||||
+ifeq ($(feature-disassembler-init-styled), 1)
|
|
||||||
+CFLAGS += -DDISASM_INIT_STYLED
|
|
||||||
+endif
|
|
||||||
|
|
||||||
$(OUTPUT)%.yacc.c: $(srctree)/tools/bpf/%.y
|
|
||||||
$(QUIET_BISON)$(YACC) -o $@ -d $<
|
|
||||||
diff --git a/tools/bpf/bpf_jit_disasm.c b/tools/bpf/bpf_jit_disasm.c
|
|
||||||
index c8ae9580472814..a90a5d110f9255 100644
|
|
||||||
--- a/tools/bpf/bpf_jit_disasm.c
|
|
||||||
+++ b/tools/bpf/bpf_jit_disasm.c
|
|
||||||
@@ -28,6 +28,7 @@
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <limits.h>
|
|
||||||
+#include <tools/dis-asm-compat.h>
|
|
||||||
|
|
||||||
#define CMD_ACTION_SIZE_BUFFER 10
|
|
||||||
#define CMD_ACTION_READ_ALL 3
|
|
||||||
@@ -64,7 +65,9 @@ static void get_asm_insns(uint8_t *image, size_t len, int opcodes)
|
|
||||||
assert(bfdf);
|
|
||||||
assert(bfd_check_format(bfdf, bfd_object));
|
|
||||||
|
|
||||||
- init_disassemble_info(&info, stdout, (fprintf_ftype) fprintf);
|
|
||||||
+ init_disassemble_info_compat(&info, stdout,
|
|
||||||
+ (fprintf_ftype) fprintf,
|
|
||||||
+ fprintf_styled);
|
|
||||||
info.arch = bfd_get_arch(bfdf);
|
|
||||||
info.mach = bfd_get_mach(bfdf);
|
|
||||||
info.buffer = image;
|
|
|
@ -1,149 +0,0 @@
|
||||||
From 600b7b26c07a070d0153daa76b3806c1e52c9e00 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andres Freund <andres@anarazel.de>
|
|
||||||
Date: Sun, 31 Jul 2022 18:38:33 -0700
|
|
||||||
Subject: [PATCH] tools bpftool: Fix compilation error with new binutils
|
|
||||||
|
|
||||||
binutils changed the signature of init_disassemble_info(), which now causes
|
|
||||||
compilation to fail for tools/bpf/bpftool/jit_disasm.c, e.g. on debian
|
|
||||||
unstable.
|
|
||||||
|
|
||||||
Relevant binutils commit:
|
|
||||||
|
|
||||||
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
|
|
||||||
|
|
||||||
Wire up the feature test and switch to init_disassemble_info_compat(),
|
|
||||||
which were introduced in prior commits, fixing the compilation failure.
|
|
||||||
|
|
||||||
I verified that bpftool can still disassemble bpf programs, both with an
|
|
||||||
old and new dis-asm.h API. There are no output changes for plain and json
|
|
||||||
formats. When comparing the output from old binutils (2.35)
|
|
||||||
to new bintuils with the patch (upstream snapshot) there are a few output
|
|
||||||
differences, but they are unrelated to this patch. An example hunk is:
|
|
||||||
|
|
||||||
2f: pop %r14
|
|
||||||
31: pop %r13
|
|
||||||
33: pop %rbx
|
|
||||||
- 34: leaveq
|
|
||||||
- 35: retq
|
|
||||||
+ 34: leave
|
|
||||||
+ 35: ret
|
|
||||||
|
|
||||||
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-8-andres@anarazel.de
|
|
||||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
---
|
|
||||||
tools/bpf/bpftool/Makefile | 5 +++-
|
|
||||||
tools/bpf/bpftool/jit_disasm.c | 42 +++++++++++++++++++++++++++-------
|
|
||||||
2 files changed, 38 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
|
|
||||||
index c6d2c77d02524a..436e671b2657d4 100644
|
|
||||||
--- a/tools/bpf/bpftool/Makefile
|
|
||||||
+++ b/tools/bpf/bpftool/Makefile
|
|
||||||
@@ -62,7 +62,7 @@ CLANG ?= clang
|
|
||||||
LLVM_STRIP ?= llvm-strip
|
|
||||||
|
|
||||||
FEATURE_USER = .bpftool
|
|
||||||
-FEATURE_TESTS = libbfd disassembler-four-args reallocarray zlib libcap \
|
|
||||||
+FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled reallocarray zlib libcap \
|
|
||||||
clang-bpf-co-re
|
|
||||||
FEATURE_DISPLAY = libbfd disassembler-four-args zlib libcap \
|
|
||||||
clang-bpf-co-re
|
|
||||||
@@ -117,6 +117,9 @@ endif
|
|
||||||
ifeq ($(feature-disassembler-four-args), 1)
|
|
||||||
CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
|
|
||||||
endif
|
|
||||||
+ifeq ($(feature-disassembler-init-styled), 1)
|
|
||||||
+ CFLAGS += -DDISASM_INIT_STYLED
|
|
||||||
+endif
|
|
||||||
|
|
||||||
LIBS = $(LIBBPF) -lelf -lz
|
|
||||||
LIBS_BOOTSTRAP = $(LIBBPF_BOOTSTRAP) -lelf -lz
|
|
||||||
diff --git a/tools/bpf/bpftool/jit_disasm.c b/tools/bpf/bpftool/jit_disasm.c
|
|
||||||
index 24734f2249d6ec..aaf99a0168c90b 100644
|
|
||||||
--- a/tools/bpf/bpftool/jit_disasm.c
|
|
||||||
+++ b/tools/bpf/bpftool/jit_disasm.c
|
|
||||||
@@ -24,6 +24,7 @@
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <limits.h>
|
|
||||||
#include <bpf/libbpf.h>
|
|
||||||
+#include <tools/dis-asm-compat.h>
|
|
||||||
|
|
||||||
#include "json_writer.h"
|
|
||||||
#include "main.h"
|
|
||||||
@@ -39,15 +40,12 @@ static void get_exec_path(char *tpath, s
|
|
||||||
}
|
|
||||||
|
|
||||||
static int oper_count;
|
|
||||||
-static int fprintf_json(void *out, const char *fmt, ...)
|
|
||||||
+static int printf_json(void *out, const char *fmt, va_list ap)
|
|
||||||
{
|
|
||||||
- va_list ap;
|
|
||||||
char *s;
|
|
||||||
|
|
||||||
- va_start(ap, fmt);
|
|
||||||
if (vasprintf(&s, fmt, ap) < 0)
|
|
||||||
return -1;
|
|
||||||
- va_end(ap);
|
|
||||||
|
|
||||||
if (!oper_count) {
|
|
||||||
int i;
|
|
||||||
@@ -73,6 +71,32 @@ static int fprintf_json(void *out, const char *fmt, ...)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static int fprintf_json(void *out, const char *fmt, ...)
|
|
||||||
+{
|
|
||||||
+ va_list ap;
|
|
||||||
+ int r;
|
|
||||||
+
|
|
||||||
+ va_start(ap, fmt);
|
|
||||||
+ r = printf_json(out, fmt, ap);
|
|
||||||
+ va_end(ap);
|
|
||||||
+
|
|
||||||
+ return r;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int fprintf_json_styled(void *out,
|
|
||||||
+ enum disassembler_style style __maybe_unused,
|
|
||||||
+ const char *fmt, ...)
|
|
||||||
+{
|
|
||||||
+ va_list ap;
|
|
||||||
+ int r;
|
|
||||||
+
|
|
||||||
+ va_start(ap, fmt);
|
|
||||||
+ r = printf_json(out, fmt, ap);
|
|
||||||
+ va_end(ap);
|
|
||||||
+
|
|
||||||
+ return r;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void disasm_print_insn(unsigned char *image, ssize_t len, int opcodes,
|
|
||||||
const char *arch, const char *disassembler_options,
|
|
||||||
const struct btf *btf,
|
|
||||||
@@ -99,11 +123,13 @@ void disasm_print_insn(unsigned char *image, ssize_t len, int opcodes,
|
|
||||||
assert(bfd_check_format(bfdf, bfd_object));
|
|
||||||
|
|
||||||
if (json_output)
|
|
||||||
- init_disassemble_info(&info, stdout,
|
|
||||||
- (fprintf_ftype) fprintf_json);
|
|
||||||
+ init_disassemble_info_compat(&info, stdout,
|
|
||||||
+ (fprintf_ftype) fprintf_json,
|
|
||||||
+ fprintf_json_styled);
|
|
||||||
else
|
|
||||||
- init_disassemble_info(&info, stdout,
|
|
||||||
- (fprintf_ftype) fprintf);
|
|
||||||
+ init_disassemble_info_compat(&info, stdout,
|
|
||||||
+ (fprintf_ftype) fprintf,
|
|
||||||
+ fprintf_styled);
|
|
||||||
|
|
||||||
/* Update architecture info for offload. */
|
|
||||||
if (arch) {
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/tools/include/uapi/linux/perf_event.h
|
--- a/tools/include/uapi/linux/perf_event.h
|
||||||
+++ b/tools/include/uapi/linux/perf_event.h
|
+++ b/tools/include/uapi/linux/perf_event.h
|
||||||
@@ -14,6 +14,7 @@
|
@@ -15,6 +15,7 @@
|
||||||
#ifndef _UAPI_LINUX_PERF_EVENT_H
|
#ifndef _UAPI_LINUX_PERF_EVENT_H
|
||||||
#define _UAPI_LINUX_PERF_EVENT_H
|
#define _UAPI_LINUX_PERF_EVENT_H
|
||||||
|
|
||||||
|
@ -10,24 +10,54 @@
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
--- a/tools/power/x86/turbostat/turbostat.c
|
--- a/tools/power/x86/turbostat/turbostat.c
|
||||||
+++ b/tools/power/x86/turbostat/turbostat.c
|
+++ b/tools/power/x86/turbostat/turbostat.c
|
||||||
@@ -43,7 +43,8 @@
|
@@ -33,6 +33,7 @@
|
||||||
#include <cpuid.h>
|
#include <sys/capability.h>
|
||||||
#include <linux/capability.h>
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
+#include <limits.h>
|
+#include <limits.h>
|
||||||
|
#include <linux/perf_event.h>
|
||||||
|
#include <asm/unistd.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
--- a/tools/bpf/bpf_jit_disasm.c
|
||||||
|
+++ b/tools/bpf/bpf_jit_disasm.c
|
||||||
|
@@ -306,7 +306,7 @@ int main(int argc, char **argv)
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
char *proc_stat = "/proc/stat";
|
- ofd = open(ofile, O_WRONLY | O_CREAT | O_TRUNC, DEFFILEMODE);
|
||||||
FILE *outf;
|
+ ofd = open(ofile, O_WRONLY | O_CREAT | O_TRUNC, 0666);
|
||||||
--- a/tools/thermal/tmon/tmon.h
|
if (ofd < 0) {
|
||||||
+++ b/tools/thermal/tmon/tmon.h
|
fprintf(stderr, "Could not open file %s for writing: ", ofile);
|
||||||
@@ -19,6 +19,9 @@
|
perror(NULL);
|
||||||
#ifndef TMON_H
|
--- a/tools/bpf/bpftool/btf_dumper.c
|
||||||
#define TMON_H
|
+++ b/tools/bpf/bpftool/btf_dumper.c
|
||||||
|
@@ -2,9 +2,15 @@
|
||||||
|
/* Copyright (c) 2018 Facebook */
|
||||||
|
|
||||||
+#include <pthread.h>
|
#include <ctype.h>
|
||||||
+#include <sys/time.h>
|
+#include <stdbool.h>
|
||||||
|
#include <stdio.h> /* for (FILE *) used by json_writer */
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
+
|
+
|
||||||
#define MAX_DISP_TEMP 125
|
+#ifndef __always_inline
|
||||||
#define MAX_CTRL_TEMP 105
|
+#define __always_inline inline __attribute__((always_inline))
|
||||||
#define MIN_CTRL_TEMP 40
|
+#endif
|
||||||
|
+
|
||||||
|
#include <asm/byteorder.h>
|
||||||
|
#include <linux/bitops.h>
|
||||||
|
#include <linux/btf.h>
|
||||||
|
--- a/tools/include/linux/err.h
|
||||||
|
+++ b/tools/include/linux/err.h
|
||||||
|
@@ -6,6 +6,11 @@
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
#include <asm/errno.h>
|
||||||
|
+#include <stdbool.h>
|
||||||
|
+
|
||||||
|
+#ifndef __must_check
|
||||||
|
+#define __must_check __attribute__((warn_unused_result))
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Original kernel header comment:
|
||||||
|
|
|
@ -1,114 +0,0 @@
|
||||||
From 83aa0120487e8bc3f231e72c460add783f71f17c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andres Freund <andres@anarazel.de>
|
|
||||||
Date: Sun, 31 Jul 2022 18:38:30 -0700
|
|
||||||
Subject: [PATCH] tools perf: Fix compilation error with new binutils
|
|
||||||
|
|
||||||
binutils changed the signature of init_disassemble_info(), which now causes
|
|
||||||
compilation failures for tools/perf/util/annotate.c, e.g. on debian
|
|
||||||
unstable.
|
|
||||||
|
|
||||||
Relevant binutils commit:
|
|
||||||
|
|
||||||
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=60a3da00bd5407f07
|
|
||||||
|
|
||||||
Wire up the feature test and switch to init_disassemble_info_compat(),
|
|
||||||
which were introduced in prior commits, fixing the compilation failure.
|
|
||||||
|
|
||||||
I verified that perf can still disassemble bpf programs by using bpftrace
|
|
||||||
under load, recording a perf trace, and then annotating the bpf "function"
|
|
||||||
with and without the changes. With old binutils there's no change in output
|
|
||||||
before/after this patch. When comparing the output from old binutils (2.35)
|
|
||||||
to new bintuils with the patch (upstream snapshot) there are a few output
|
|
||||||
differences, but they are unrelated to this patch. An example hunk is:
|
|
||||||
|
|
||||||
1.15 : 55:mov %rbp,%rdx
|
|
||||||
0.00 : 58:add $0xfffffffffffffff8,%rdx
|
|
||||||
0.00 : 5c:xor %ecx,%ecx
|
|
||||||
- 1.03 : 5e:callq 0xffffffffe12aca3c
|
|
||||||
+ 1.03 : 5e:call 0xffffffffe12aca3c
|
|
||||||
0.00 : 63:xor %eax,%eax
|
|
||||||
- 2.18 : 65:leaveq
|
|
||||||
- 2.82 : 66:retq
|
|
||||||
+ 2.18 : 65:leave
|
|
||||||
+ 2.82 : 66:ret
|
|
||||||
|
|
||||||
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: 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-5-andres@anarazel.de
|
|
||||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
---
|
|
||||||
tools/perf/Makefile.config | 8 ++++++++
|
|
||||||
tools/perf/util/annotate.c | 7 ++++---
|
|
||||||
2 files changed, 12 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
|
|
||||||
index d3c254c0f5c611..23648ea54e8d3d 100644
|
|
||||||
--- a/tools/perf/Makefile.config
|
|
||||||
+++ b/tools/perf/Makefile.config
|
|
||||||
@@ -298,6 +298,7 @@ FEATURE_CHECK_LDFLAGS-libpython := $(PYTHON_EMBED_LDOPTS)
|
|
||||||
FEATURE_CHECK_LDFLAGS-libaio = -lrt
|
|
||||||
|
|
||||||
FEATURE_CHECK_LDFLAGS-disassembler-four-args = -lbfd -lopcodes -ldl
|
|
||||||
+FEATURE_CHECK_LDFLAGS-disassembler-init-styled = -lbfd -lopcodes -ldl
|
|
||||||
|
|
||||||
CORE_CFLAGS += -fno-omit-frame-pointer
|
|
||||||
CORE_CFLAGS += -ggdb3
|
|
||||||
@@ -818,13 +819,16 @@ else
|
|
||||||
ifeq ($(feature-libbfd-liberty), 1)
|
|
||||||
EXTLIBS += -lbfd -lopcodes -liberty
|
|
||||||
FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -ldl
|
|
||||||
+ FEATURE_CHECK_LDFLAGS-disassembler-init-styled += -liberty -ldl
|
|
||||||
else
|
|
||||||
ifeq ($(feature-libbfd-liberty-z), 1)
|
|
||||||
EXTLIBS += -lbfd -lopcodes -liberty -lz
|
|
||||||
FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -lz -ldl
|
|
||||||
+ FEATURE_CHECK_LDFLAGS-disassembler-init-styled += -liberty -lz -ldl
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
$(call feature_check,disassembler-four-args)
|
|
||||||
+ $(call feature_check,disassembler-init-styled)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(feature-libbfd-buildid), 1)
|
|
||||||
@@ -1044,6 +1048,10 @@ ifeq ($(feature-disassembler-four-args), 1)
|
|
||||||
CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
|
|
||||||
endif
|
|
||||||
|
|
||||||
+ifeq ($(feature-disassembler-init-styled), 1)
|
|
||||||
+ CFLAGS += -DDISASM_INIT_STYLED
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
ifeq (${IS_64_BIT}, 1)
|
|
||||||
ifndef NO_PERF_READ_VDSO32
|
|
||||||
$(call feature_check,compile-32)
|
|
||||||
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
|
|
||||||
index 82cc396ef516c4..2c6a485c3de5d9 100644
|
|
||||||
--- a/tools/perf/util/annotate.c
|
|
||||||
+++ b/tools/perf/util/annotate.c
|
|
||||||
@@ -1676,6 +1676,7 @@ fallback:
|
|
||||||
#define PACKAGE "perf"
|
|
||||||
#include <bfd.h>
|
|
||||||
#include <dis-asm.h>
|
|
||||||
+#include <tools/dis-asm-compat.h>
|
|
||||||
|
|
||||||
static int symbol__disassemble_bpf(struct symbol *sym,
|
|
||||||
struct annotate_args *args)
|
|
||||||
@@ -1762,9 +1763,9 @@ static int symbol__disassemble_bpf(struct symbol *sym,
|
|
||||||
ret = errno;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
- init_disassemble_info(&info, s,
|
|
||||||
- (fprintf_ftype) fprintf);
|
|
||||||
-
|
|
||||||
+ init_disassemble_info_compat(&info, s,
|
|
||||||
+ (fprintf_ftype) fprintf,
|
|
||||||
+ fprintf_styled);
|
|
||||||
info.arch = bfd_get_arch(bfdf);
|
|
||||||
info.mach = bfd_get_mach(bfdf);
|
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
# Template file for 'linux-tools'
|
# Template file for 'linux-tools'
|
||||||
pkgname=linux-tools
|
pkgname=linux-tools
|
||||||
version=5.10.4
|
version=6.5
|
||||||
revision=12
|
revision=1
|
||||||
build_style=meta
|
build_style=meta
|
||||||
hostmakedepends="asciidoc automake flex gettext libtool perl python3
|
hostmakedepends="asciidoc automake flex gettext libtool perl python3
|
||||||
python3-docutils xmlto"
|
python3-docutils xmlto pkg-config"
|
||||||
makedepends="babeltrace-devel binutils-devel elfutils-devel eudev-libudev-devel
|
makedepends="babeltrace-devel binutils-devel elfutils-devel eudev-libudev-devel
|
||||||
libcap-devel liblzma-devel openssl-devel libsysfs-devel libunwind-devel
|
libcap-devel liblzma-devel openssl-devel libsysfs-devel libunwind-devel
|
||||||
libzstd-devel ncurses-devel pciutils-devel python3-devel readline-devel
|
libzstd-devel ncurses-devel pciutils-devel python3-devel readline-devel
|
||||||
slang-devel libaudit-devel"
|
slang-devel libaudit-devel libtraceevent-devel libpfm4-devel"
|
||||||
depends="cpupower-${version}_${revision} perf-${version}_${revision} usbip-${version}_${revision}"
|
depends="cpupower-${version}_${revision} perf-${version}_${revision} usbip-${version}_${revision}"
|
||||||
short_desc="Linux kernel tools meta-pkg"
|
short_desc="Linux kernel tools meta-pkg"
|
||||||
maintainer="Enno Boland <gottox@voidlinux.org>"
|
maintainer="Enno Boland <gottox@voidlinux.org>"
|
||||||
license="GPL-2.0-only"
|
license="GPL-2.0-only"
|
||||||
homepage="https://www.kernel.org"
|
homepage="https://www.kernel.org"
|
||||||
distfiles="${KERNEL_SITE}/kernel/v5.x/linux-${version}.tar.xz"
|
distfiles="${KERNEL_SITE}/kernel/v${version%%.*}.x/linux-${version}.tar.xz"
|
||||||
checksum=904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec
|
checksum=7a574bbc20802ea76b52ca7faf07267f72045e861b18915c5272a98c27abf884
|
||||||
python_version=3
|
python_version=3
|
||||||
|
|
||||||
subpackages="cpupower freefall libcpupower libcpupower-devel libusbip libusbip-devel perf tmon usbip"
|
subpackages="cpupower freefall libcpupower libcpupower-devel libusbip libusbip-devel perf tmon usbip bpftool"
|
||||||
|
|
||||||
CFLAGS="-Wno-error -fcommon"
|
CFLAGS="-Wno-error"
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
i686*|x86_64*)
|
i686*|x86_64*)
|
||||||
makedepends+=" libnuma-devel"
|
makedepends+=" libnuma-devel"
|
||||||
|
@ -31,10 +31,9 @@ ppc64*)
|
||||||
makedepends+=" libnuma-devel"
|
makedepends+=" libnuma-devel"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
if [ "$XBPS_TARGET_LIBC" = musl ]; then
|
||||||
*-musl) ;;
|
makedepends+=" argp-standalone"
|
||||||
*) subpackages+=" bpftool";; # needs FTW_ACTIONRETVAL
|
fi
|
||||||
esac
|
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
i686-musl) makedepends+=" libunwind-devel" ;;
|
i686-musl) makedepends+=" libunwind-devel" ;;
|
||||||
esac
|
esac
|
||||||
|
@ -51,15 +50,15 @@ pre_configure() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_build() {
|
do_build() {
|
||||||
local arch subarch
|
local arch
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
i686*) arch=i386;;
|
i686*) arch=i386;;
|
||||||
x86_64*) arch=x86_64;;
|
x86_64*) arch=x86_64;;
|
||||||
arm*) arch=arm;;
|
arm*) arch=arm;;
|
||||||
aarch64*) arch=arm64;;
|
aarch64*) arch=arm64;;
|
||||||
ppc64le*) arch=powerpc; subarch=ppc64le;;
|
ppc64le*) arch=powerpc;;
|
||||||
ppc64*) arch=powerpc; subarch=ppc64;;
|
ppc64*) arch=powerpc;;
|
||||||
ppc*) arch=powerpc; subarch=ppc;;
|
ppc*) arch=powerpc;;
|
||||||
mips*) arch=mips;;
|
mips*) arch=mips;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -71,7 +70,7 @@ do_build() {
|
||||||
|
|
||||||
make -C tools/perf ${makejobs} V=1 ARCH=$arch \
|
make -C tools/perf ${makejobs} V=1 ARCH=$arch \
|
||||||
CC=$CC LD=$LD CFLAGS="$CFLAGS" EXTRA_CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
|
CC=$CC LD=$LD CFLAGS="$CFLAGS" EXTRA_CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
|
||||||
WERROR=0 DESTDIR=${DESTDIR} prefix=/usr lib=lib/perf \
|
WERROR=0 prefix=/usr lib=lib/perf \
|
||||||
NO_GTK2=1 NO_SDT=1 PYTHON=python3 \
|
NO_GTK2=1 NO_SDT=1 PYTHON=python3 \
|
||||||
all man
|
all man
|
||||||
|
|
||||||
|
@ -102,68 +101,44 @@ do_build() {
|
||||||
make -C tools/thermal/tmon ${makejobs} V=1 ARCH=$arch \
|
make -C tools/thermal/tmon ${makejobs} V=1 ARCH=$arch \
|
||||||
CC=$CC LD=$LD CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
|
CC=$CC LD=$LD CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
|
||||||
|
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
make -C tools/bpf/bpftool ${makejobs} ARCH=$arch all doc
|
||||||
*-musl) ;;
|
make -C tools/bpf/bpftool ${makejobs} ARCH=$arch -W runqslower
|
||||||
*)
|
make -C tools/bpf ${makejobs} ARCH=$arch all -W runqslower
|
||||||
make -C tools/bpf/bpftool ARCH=$arch all doc
|
|
||||||
make -C tools/bpf/bpftool ARCH=$arch -W runqslower
|
|
||||||
esac
|
|
||||||
}
|
}
|
||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
local arch subarch
|
local arch
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
i686*) arch=i386;;
|
i686*) arch=i386;;
|
||||||
x86_64*) arch=x86_64;;
|
x86_64*) arch=x86_64;;
|
||||||
arm*) arch=arm;;
|
arm*) arch=arm;;
|
||||||
aarch64*) arch=arm64;;
|
aarch64*) arch=arm64;;
|
||||||
ppc64le*) arch=powerpc; subarch=ppc64le;;
|
ppc64le*) arch=powerpc;;
|
||||||
ppc64*) arch=powerpc; subarch=ppc64;;
|
ppc64*) arch=powerpc;;
|
||||||
ppc*) arch=powerpc; subarch=ppc;;
|
ppc*) arch=powerpc;;
|
||||||
mips*) arch=mips;;
|
mips*) arch=mips;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# cpupower
|
# cpupower
|
||||||
cd ${wrksrc}/tools/power/cpupower
|
make -C tools/power/cpupower DESTDIR=${DESTDIR} ARCH=$arch \
|
||||||
make DESTDIR=${DESTDIR} ARCH=$arch \
|
|
||||||
sbindir='/usr/bin' \
|
sbindir='/usr/bin' \
|
||||||
mandir='/usr/share/man' \
|
mandir='/usr/share/man' \
|
||||||
docdir='/usr/share/doc/cpupower' \
|
docdir='/usr/share/doc/cpupower' \
|
||||||
install install-man
|
install install-man
|
||||||
|
|
||||||
# freefall
|
|
||||||
vbin "${wrksrc}/tools/laptop/freefall/freefall"
|
|
||||||
|
|
||||||
# perf
|
|
||||||
cd ${wrksrc}/tools/perf
|
|
||||||
make CC=$CC LD=$LD CFLAGS="$CFLAGS" EXTRA_CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
|
|
||||||
WERROR=0 DESTDIR=${DESTDIR} prefix=/usr lib=lib/perf \
|
|
||||||
NO_GTK2=1 NO_SDT=1 PYTHON=python3 ARCH=$arch \
|
|
||||||
install install-man
|
|
||||||
# move completion in new directory
|
|
||||||
vmkdir usr/share/bash-completion/completions
|
|
||||||
mv ${DESTDIR}/etc/bash_completion.d/perf \
|
|
||||||
${DESTDIR}/usr/share/bash-completion/completions
|
|
||||||
|
|
||||||
# usbip
|
# usbip
|
||||||
cd ${wrksrc}/tools/usb/usbip
|
make -C tools/usb/usbip install ARCH=$arch DESTDIR=${DESTDIR}
|
||||||
make install ARCH=$arch DESTDIR=${DESTDIR}
|
|
||||||
vmkdir usr/lib/modules-load.d
|
vmkdir usr/lib/modules-load.d
|
||||||
printf '%s\n' usbip-core usbip-host \
|
printf '%s\n' usbip-core usbip-host \
|
||||||
>${DESTDIR}/usr/lib/modules-load.d/usbip.conf
|
>${DESTDIR}/usr/lib/modules-load.d/usbip.conf
|
||||||
|
|
||||||
# bpf
|
# bpf
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
make -C tools/bpf install \
|
||||||
*-musl) ;;
|
DESTDIR=${DESTDIR} prefix=/usr ARCH=$arch
|
||||||
*)
|
make -C tools/bpf/bpftool doc-install \
|
||||||
cd ${wrksrc}/tools/bpf
|
DESTDIR=${DESTDIR} prefix=/usr/share ARCH=$arch
|
||||||
make -W runqslower_install install \
|
rm -f ${DESTDIR}/usr/share/man/man7/bpf-helpers.7
|
||||||
DESTDIR=${DESTDIR} prefix=/usr ARCH=$arch
|
mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin
|
||||||
make -C bpftool doc-install \
|
|
||||||
DESTDIR=${DESTDIR} prefix=/usr/share ARCH=$arch
|
|
||||||
rm ${DESTDIR}/usr/share/man/man7/bpf-helpers.7
|
|
||||||
mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin
|
|
||||||
esac
|
|
||||||
|
|
||||||
rm ${DESTDIR}/usr/include/cpuidle.h
|
rm ${DESTDIR}/usr/include/cpuidle.h
|
||||||
}
|
}
|
||||||
|
@ -199,6 +174,7 @@ libcpupower-devel_package() {
|
||||||
depends="libcpupower-${version}_${revision}"
|
depends="libcpupower-${version}_${revision}"
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
vmove usr/include/cpufreq.h
|
vmove usr/include/cpufreq.h
|
||||||
|
vmove usr/include/powercap.h
|
||||||
vmove usr/lib/libcpupower.so
|
vmove usr/lib/libcpupower.so
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -220,14 +196,27 @@ libusbip-devel_package() {
|
||||||
perf_package() {
|
perf_package() {
|
||||||
short_desc="Linux kernel performance auditing tool"
|
short_desc="Linux kernel performance auditing tool"
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
vmove usr/bin/perf
|
local arch
|
||||||
vmove usr/bin/trace
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
vmove usr/lib/perf
|
i686*) arch=i386;;
|
||||||
vmove usr/libexec/perf-core
|
x86_64*) arch=x86_64;;
|
||||||
vmove usr/share/bash-completion/completions/perf
|
arm*) arch=arm;;
|
||||||
vmove usr/share/perf-core
|
aarch64*) arch=arm64;;
|
||||||
vmove /usr/share/doc/perf-tip
|
ppc64le*) arch=powerpc;;
|
||||||
vmove "usr/share/man/man1/perf*"
|
ppc64*) arch=powerpc;;
|
||||||
|
ppc*) arch=powerpc;;
|
||||||
|
mips*) arch=mips;;
|
||||||
|
esac
|
||||||
|
make -C tools/perf \
|
||||||
|
CC=$CC LD=$LD CFLAGS="$CFLAGS" \
|
||||||
|
EXTRA_CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
|
||||||
|
WERROR=0 DESTDIR=${PKGDESTDIR} prefix=/usr lib=lib/perf \
|
||||||
|
NO_GTK2=1 NO_SDT=1 PYTHON=python3 ARCH=$arch \
|
||||||
|
install install-man
|
||||||
|
# move completion in new directory
|
||||||
|
vmkdir usr/share/bash-completion/completions
|
||||||
|
mv ${PKGDESTDIR}/etc/bash_completion.d/perf \
|
||||||
|
${PKGDESTDIR}/usr/share/bash-completion/completions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
x86_energy_perf_policy_package() {
|
x86_energy_perf_policy_package() {
|
||||||
|
@ -250,7 +239,7 @@ usbip_package() {
|
||||||
freefall_package() {
|
freefall_package() {
|
||||||
short_desc="Disk protection for HP/DELL machines"
|
short_desc="Disk protection for HP/DELL machines"
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
vmove usr/bin/freefall
|
vbin "${wrksrc}/tools/laptop/freefall/freefall"
|
||||||
vsv freefall
|
vsv freefall
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue