diff --git a/.bcc.metadata b/.bcc.metadata index 4b4b7d0..c84dac0 100644 --- a/.bcc.metadata +++ b/.bcc.metadata @@ -1 +1 @@ -e200806e56095091ff22a73c4c8ec294176527e2 SOURCES/bcc-0.11.0.tar.gz +a94aa5005d66f17284f2244ff2018821f35ff4df SOURCES/bcc-src-with-submodule.tar.gz diff --git a/.gitignore b/.gitignore index 88fc8f9..ff7e7e9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/bcc-0.11.0.tar.gz +SOURCES/bcc-src-with-submodule.tar.gz diff --git a/SOURCES/bcc-0.11.0-man-add-missing-c-option-to-tcpretrans-synopsis.patch b/SOURCES/bcc-0.11.0-man-add-missing-c-option-to-tcpretrans-synopsis.patch deleted file mode 100644 index 21bed81..0000000 --- a/SOURCES/bcc-0.11.0-man-add-missing-c-option-to-tcpretrans-synopsis.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 930846dc2c49281c693c2e39a0a2d21c650c61de Mon Sep 17 00:00:00 2001 -From: Jerome Marchand -Date: Fri, 9 Aug 2019 13:15:13 +0200 -Subject: [PATCH] man: add missing -c option to tcpretrans synopsis - ---- - man/man8/tcpretrans.8 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/man/man8/tcpretrans.8 b/man/man8/tcpretrans.8 -index e4f6fbf6..0ac82afa 100644 ---- a/man/man8/tcpretrans.8 -+++ b/man/man8/tcpretrans.8 -@@ -2,7 +2,7 @@ - .SH NAME - tcpretrans \- Trace or count TCP retransmits and TLPs. Uses Linux eBPF/bcc. - .SH SYNOPSIS --.B tcpretrans [\-h] [\-l] -+.B tcpretrans [\-h] [\-l] [\-c] - .SH DESCRIPTION - This traces TCP retransmits, showing address, port, and TCP state information, - and sometimes the PID (although usually not, since retransmits are usually --- -2.23.0 - diff --git a/SOURCES/bcc-0.14.0-Add-KBUILD_MODNAME-flag-to-default-cflags.patch b/SOURCES/bcc-0.14.0-Add-KBUILD_MODNAME-flag-to-default-cflags.patch new file mode 100644 index 0000000..90f4ee4 --- /dev/null +++ b/SOURCES/bcc-0.14.0-Add-KBUILD_MODNAME-flag-to-default-cflags.patch @@ -0,0 +1,24 @@ +From 68abb51ed067c4317b991cec0bbc2ea4e7f6ddab Mon Sep 17 00:00:00 2001 +From: William Findlay +Date: Wed, 17 Jun 2020 12:07:48 -0400 +Subject: [PATCH] Add KBUILD_MODNAME flag to default cflags + +--- + src/cc/frontends/clang/kbuild_helper.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/cc/frontends/clang/kbuild_helper.cc b/src/cc/frontends/clang/kbuild_helper.cc +index db5ca7f6..e3aade89 100644 +--- a/src/cc/frontends/clang/kbuild_helper.cc ++++ b/src/cc/frontends/clang/kbuild_helper.cc +@@ -101,6 +101,7 @@ int KBuildHelper::get_flags(const char *uname_machine, vector *cflags) { + cflags->push_back("-D__HAVE_BUILTIN_BSWAP16__"); + cflags->push_back("-D__HAVE_BUILTIN_BSWAP32__"); + cflags->push_back("-D__HAVE_BUILTIN_BSWAP64__"); ++ cflags->push_back("-DKBUILD_MODNAME=\"bcc\""); + + // If ARCH env variable is set, pass this along. + if (archenv) +-- +2.25.4 + diff --git a/SOURCES/bcc-0.14.0-Delete-existing-kbuild_modname-definitions.patch b/SOURCES/bcc-0.14.0-Delete-existing-kbuild_modname-definitions.patch new file mode 100644 index 0000000..1a851df --- /dev/null +++ b/SOURCES/bcc-0.14.0-Delete-existing-kbuild_modname-definitions.patch @@ -0,0 +1,184 @@ +From 8999b2f610e84a2413dbea1717fe6e2ebcd1eea0 Mon Sep 17 00:00:00 2001 +From: William Findlay +Date: Wed, 17 Jun 2020 18:59:43 -0400 +Subject: [PATCH] Delete existing kbuild_modname definitions + +--- + examples/networking/xdp/xdp_drop_count.py | 1 - + examples/networking/xdp/xdp_macswap_count.py | 1 - + examples/networking/xdp/xdp_redirect_cpu.py | 1 - + examples/networking/xdp/xdp_redirect_map.py | 1 - + examples/tracing/nflatency.py | 1 - + tests/python/test_clang.py | 8 -------- + tools/tcplife.lua | 1 - + tools/tcplife.py | 1 - + tools/tcpstates.py | 1 - + 9 files changed, 16 deletions(-) + +diff --git a/examples/networking/xdp/xdp_drop_count.py b/examples/networking/xdp/xdp_drop_count.py +index f03273e9..512e0a20 100755 +--- a/examples/networking/xdp/xdp_drop_count.py ++++ b/examples/networking/xdp/xdp_drop_count.py +@@ -52,7 +52,6 @@ mode = BPF.XDP + + # load BPF program + b = BPF(text = """ +-#define KBUILD_MODNAME "foo" + #include + #include + #include +diff --git a/examples/networking/xdp/xdp_macswap_count.py b/examples/networking/xdp/xdp_macswap_count.py +index 0e2b21ca..770ce8ca 100755 +--- a/examples/networking/xdp/xdp_macswap_count.py ++++ b/examples/networking/xdp/xdp_macswap_count.py +@@ -50,7 +50,6 @@ mode = BPF.XDP + + # load BPF program + b = BPF(text = """ +-#define KBUILD_MODNAME "foo" + #include + #include + #include +diff --git a/examples/networking/xdp/xdp_redirect_cpu.py b/examples/networking/xdp/xdp_redirect_cpu.py +index 15b0d09b..470079f4 100755 +--- a/examples/networking/xdp/xdp_redirect_cpu.py ++++ b/examples/networking/xdp/xdp_redirect_cpu.py +@@ -30,7 +30,6 @@ max_cpu = cpu_count() + + # load BPF program + b = BPF(text = """ +-#define KBUILD_MODNAME "foo" + #include + #include + #include +diff --git a/examples/networking/xdp/xdp_redirect_map.py b/examples/networking/xdp/xdp_redirect_map.py +index 4a622723..4936ac1e 100755 +--- a/examples/networking/xdp/xdp_redirect_map.py ++++ b/examples/networking/xdp/xdp_redirect_map.py +@@ -29,7 +29,6 @@ out_idx = ip.link_lookup(ifname=out_if)[0] + + # load BPF program + b = BPF(text = """ +-#define KBUILD_MODNAME "foo" + #include + #include + #include +diff --git a/examples/tracing/nflatency.py b/examples/tracing/nflatency.py +index 76716490..c201930a 100755 +--- a/examples/tracing/nflatency.py ++++ b/examples/tracing/nflatency.py +@@ -12,7 +12,6 @@ import time + from bcc import BPF + + BPF_SRC = """ +-#define KBUILD_MODNAME "bpf_hook_nflatency" + #include + #include + #include +diff --git a/tests/python/test_clang.py b/tests/python/test_clang.py +index 886eebed..648494cf 100755 +--- a/tests/python/test_clang.py ++++ b/tests/python/test_clang.py +@@ -78,7 +78,6 @@ int count_foo(struct pt_regs *ctx, unsigned long a, unsigned long b) { + + def test_probe_read3(self): + text = """ +-#define KBUILD_MODNAME "foo" + #include + #define _(P) ({typeof(P) val = 0; bpf_probe_read(&val, sizeof(val), &P); val;}) + int count_tcp(struct pt_regs *ctx, struct sk_buff *skb) { +@@ -90,7 +89,6 @@ int count_tcp(struct pt_regs *ctx, struct sk_buff *skb) { + + def test_probe_read4(self): + text = """ +-#define KBUILD_MODNAME "foo" + #include + #define _(P) ({typeof(P) val = 0; bpf_probe_read(&val, sizeof(val), &P); val;}) + int test(struct pt_regs *ctx, struct sk_buff *skb) { +@@ -102,7 +100,6 @@ int test(struct pt_regs *ctx, struct sk_buff *skb) { + + def test_probe_read_whitelist1(self): + text = """ +-#define KBUILD_MODNAME "foo" + #include + int count_tcp(struct pt_regs *ctx, struct sk_buff *skb) { + // The below define is in net/tcp.h: +@@ -120,7 +117,6 @@ int count_tcp(struct pt_regs *ctx, struct sk_buff *skb) { + + def test_probe_read_whitelist2(self): + text = """ +-#define KBUILD_MODNAME "foo" + #include + int count_tcp(struct pt_regs *ctx, struct sk_buff *skb) { + // The below define is in net/tcp.h: +@@ -1072,7 +1068,6 @@ int test(struct __sk_buff *ctx) { + + def test_probe_read_return(self): + text = """ +-#define KBUILD_MODNAME "foo" + #include + #include + static inline unsigned char *my_skb_transport_header(struct sk_buff *skb) { +@@ -1088,7 +1083,6 @@ int test(struct pt_regs *ctx, struct sock *sk, struct sk_buff *skb) { + + def test_probe_read_multiple_return(self): + text = """ +-#define KBUILD_MODNAME "foo" + #include + #include + static inline u64 error_function() { +@@ -1109,7 +1103,6 @@ int test(struct pt_regs *ctx, struct sock *sk, struct sk_buff *skb) { + + def test_probe_read_return_expr(self): + text = """ +-#define KBUILD_MODNAME "foo" + #include + #include + static inline unsigned char *my_skb_transport_header(struct sk_buff *skb) { +@@ -1125,7 +1118,6 @@ int test(struct pt_regs *ctx, struct sock *sk, struct sk_buff *skb) { + + def test_probe_read_return_call(self): + text = """ +-#define KBUILD_MODNAME "foo" + #include + #include + static inline struct tcphdr *my_skb_transport_header(struct sk_buff *skb) { +diff --git a/tools/tcplife.lua b/tools/tcplife.lua +index 3f4f6afd..5e311631 100755 +--- a/tools/tcplife.lua ++++ b/tools/tcplife.lua +@@ -25,7 +25,6 @@ uint16_t ntohs(uint16_t netshort); + + local program = [[ + #include +-#define KBUILD_MODNAME "foo" + #include + #include + #include +diff --git a/tools/tcplife.py b/tools/tcplife.py +index d4e679dd..c2bd8236 100755 +--- a/tools/tcplife.py ++++ b/tools/tcplife.py +@@ -66,7 +66,6 @@ debug = 0 + # define BPF program + bpf_text = """ + #include +-#define KBUILD_MODNAME "foo" + #include + #include + #include +diff --git a/tools/tcpstates.py b/tools/tcpstates.py +index 48f87884..0fe5d89a 100755 +--- a/tools/tcpstates.py ++++ b/tools/tcpstates.py +@@ -61,7 +61,6 @@ debug = 0 + # define BPF program + bpf_header = """ + #include +-#define KBUILD_MODNAME "foo" + #include + #include + #include +-- +2.25.4 + diff --git a/SOURCES/bcc-0.14.0-Fix-KFUNC_PROBE-return-value.patch b/SOURCES/bcc-0.14.0-Fix-KFUNC_PROBE-return-value.patch new file mode 100644 index 0000000..622c0cd --- /dev/null +++ b/SOURCES/bcc-0.14.0-Fix-KFUNC_PROBE-return-value.patch @@ -0,0 +1,92 @@ +From cdfa74f35910421e807d7e1deb212a5bca138413 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mauricio=20V=C3=A1squez?= +Date: Thu, 21 May 2020 11:50:52 -0500 +Subject: [PATCH 1/3] Fix KFUNC_PROBE return value +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The KFUNC_PROBE macro is using "void" as return type, this is causing problems +in some tools that have a filtering enable that returns 0. + +Reproducer: (Notice that it requires BTF support) + +``` +$ python opensnoop.py --pid 5 +/virtual/main.c:33:21: error: void function '____kretfunc__do_sys_open' should not return a value [-Wreturn-type] + if (pid != 5) { return 0; } + ^ ~ +1 error generated. +... +``` + +Signed-off-by: Mauricio Vásquez +--- + src/cc/export/helpers.h | 4 ++-- + tools/klockstat.py | 6 +++--- + tools/opensnoop.py | 2 ++ + 3 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/src/cc/export/helpers.h b/src/cc/export/helpers.h +index b38b3f20..c6edc9cd 100644 +--- a/src/cc/export/helpers.h ++++ b/src/cc/export/helpers.h +@@ -998,7 +998,7 @@ int raw_tracepoint__##event(struct bpf_raw_tracepoint_args *ctx) + #define BPF_PROG(name, args...) \ + int name(unsigned long long *ctx); \ + __attribute__((always_inline)) \ +-static void ____##name(unsigned long long *ctx, ##args); \ ++static int ____##name(unsigned long long *ctx, ##args); \ + int name(unsigned long long *ctx) \ + { \ + _Pragma("GCC diagnostic push") \ +@@ -1007,7 +1007,7 @@ int name(unsigned long long *ctx) \ + _Pragma("GCC diagnostic pop") \ + return 0; \ + } \ +-static void ____##name(unsigned long long *ctx, ##args) ++static int ____##name(unsigned long long *ctx, ##args) + + #define KFUNC_PROBE(event, args...) \ + BPF_PROG(kfunc__ ## event, args) +diff --git a/tools/klockstat.py b/tools/klockstat.py +index 540dd4e7..7cb15ad3 100755 +--- a/tools/klockstat.py ++++ b/tools/klockstat.py +@@ -352,17 +352,17 @@ int mutex_lock_enter(struct pt_regs *ctx) + program_kfunc = """ + KFUNC_PROBE(mutex_unlock, void *lock) + { +- do_mutex_unlock_enter(); ++ return do_mutex_unlock_enter(); + } + + KRETFUNC_PROBE(mutex_lock, void *lock, int ret) + { +- do_mutex_lock_return(); ++ return do_mutex_lock_return(); + } + + KFUNC_PROBE(mutex_lock, void *lock) + { +- do_mutex_lock_enter(ctx, 3); ++ return do_mutex_lock_enter(ctx, 3); + } + + """ +diff --git a/tools/opensnoop.py b/tools/opensnoop.py +index b28d7d55..9a526625 100755 +--- a/tools/opensnoop.py ++++ b/tools/opensnoop.py +@@ -197,6 +197,8 @@ KRETFUNC_PROBE(do_sys_open, int dfd, const char *filename, int flags, int mode, + data.ret = ret; + + events.perf_submit(ctx, &data, sizeof(data)); ++ ++ return 0: + } + """ + +-- +2.25.4 + diff --git a/SOURCES/bcc-0.14.0-Forbid-trampolines-for-archs-other-than-x86_64.patch b/SOURCES/bcc-0.14.0-Forbid-trampolines-for-archs-other-than-x86_64.patch new file mode 100644 index 0000000..76742c1 --- /dev/null +++ b/SOURCES/bcc-0.14.0-Forbid-trampolines-for-archs-other-than-x86_64.patch @@ -0,0 +1,47 @@ +From 3a8276749b291404ec160c1eb0b51925037161aa Mon Sep 17 00:00:00 2001 +From: Jiri Olsa +Date: Wed, 19 Aug 2020 12:47:48 +0200 +Subject: [PATCH 3/3] Forbid trampolines for archs other than x86_64 + +The trampoline support check in bcc does not work properly, +so the feature is detected even on architectures that do not +support it - all archs other than x86_64. + +We are checking for bpf_trampoline_link_prog to exist in +kernel, which works fine on x86_64 to check if the feature +is supported, but it's global function, so it exists also +in other archs even when the feature is not supported +so it returns True also on other archs. + +Adding explicit x86_64 check to support_kfunc function. + +Signed-off-by: Jiri Olsa +--- + src/python/bcc/__init__.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/python/bcc/__init__.py b/src/python/bcc/__init__.py +index 5b3ff7b2..60ba6ec5 100644 +--- a/src/python/bcc/__init__.py ++++ b/src/python/bcc/__init__.py +@@ -22,6 +22,7 @@ import re + import struct + import errno + import sys ++import platform + + from .libbcc import lib, bcc_symbol, bcc_symbol_option, bcc_stacktrace_build_id, _SYM_CB_TYPE + from .table import Table, PerfEventArray +@@ -884,6 +885,9 @@ DEBUG_BTF = 0x20 + + @staticmethod + def support_kfunc(): ++ # there's no trampoline support for other than x86_64 arch ++ if platform.machine() != 'x86_64': ++ return False; + if not lib.bpf_has_kernel_btf(): + return False; + # kernel symbol "bpf_trampoline_link_prog" indicates kfunc support +-- +2.25.4 + diff --git a/SOURCES/bcc-0.11.0-Manpages-remove-unstable-statement.patch b/SOURCES/bcc-0.14.0-Manpages-remove-unstable-statement.patch similarity index 91% rename from SOURCES/bcc-0.11.0-Manpages-remove-unstable-statement.patch rename to SOURCES/bcc-0.14.0-Manpages-remove-unstable-statement.patch index 036cbb9..2981e68 100644 --- a/SOURCES/bcc-0.11.0-Manpages-remove-unstable-statement.patch +++ b/SOURCES/bcc-0.14.0-Manpages-remove-unstable-statement.patch @@ -1,4 +1,4 @@ -From 4457d22318c0014bf498928fc66f66086df22bf1 Mon Sep 17 00:00:00 2001 +From 0f53d4de3416d78d0af5c0f70b9a29cb988719c3 Mon Sep 17 00:00:00 2001 From: Jerome Marchand Date: Tue, 6 Aug 2019 14:44:33 +0200 Subject: [PATCH] Manpages: remove unstable statement @@ -8,7 +8,9 @@ enough. --- man/man8/argdist.8 | 2 -- man/man8/bashreadline.8 | 2 -- + man/man8/bindsnoop.8 | 2 -- man/man8/biolatency.8 | 2 -- + man/man8/biolatpcts.8 | 2 -- man/man8/biosnoop.8 | 2 -- man/man8/biotop.8 | 2 -- man/man8/bitesize.8 | 2 -- @@ -19,6 +21,7 @@ enough. man/man8/cachestat.8 | 2 -- man/man8/cachetop.8 | 2 -- man/man8/capable.8 | 2 -- + man/man8/compactsnoop.8 | 2 -- man/man8/cpudist.8 | 2 -- man/man8/cpuunclaimed.8 | 2 -- man/man8/criticalstat.8 | 2 -- @@ -42,6 +45,7 @@ enough. man/man8/hardirqs.8 | 2 -- man/man8/inject.8 | 4 ---- man/man8/killsnoop.8 | 2 -- + man/man8/klockstat.8 | 2 -- man/man8/llcstat.8 | 2 -- man/man8/mdflush.8 | 2 -- man/man8/memleak.8 | 2 -- @@ -96,7 +100,7 @@ enough. man/man8/xfsslower.8 | 2 -- man/man8/zfsdist.8 | 2 -- man/man8/zfsslower.8 | 2 -- - 90 files changed, 182 deletions(-) + 94 files changed, 190 deletions(-) diff --git a/man/man8/argdist.8 b/man/man8/argdist.8 index 4116cd4d..aa128d2d 100644 @@ -111,7 +115,7 @@ index 4116cd4d..aa128d2d 100644 .SH AUTHOR Sasha Goldshtein diff --git a/man/man8/bashreadline.8 b/man/man8/bashreadline.8 -index 185598aa..9141ac63 100644 +index bc68a491..705c514e 100644 --- a/man/man8/bashreadline.8 +++ b/man/man8/bashreadline.8 @@ -53,8 +53,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -123,8 +127,21 @@ index 185598aa..9141ac63 100644 .SH AUTHOR Brendan Gregg .SH SEE ALSO +diff --git a/man/man8/bindsnoop.8 b/man/man8/bindsnoop.8 +index ec7ca1da..2ac4b69e 100644 +--- a/man/man8/bindsnoop.8 ++++ b/man/man8/bindsnoop.8 +@@ -136,8 +136,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing + example usage, output, and commentary for this tool. + .SH OS + Linux +-.SH STABILITY +-Unstable - in development. + .SH AUTHOR + Pavel Dubovitsky + .SH SEE ALSO diff --git a/man/man8/biolatency.8 b/man/man8/biolatency.8 -index 7aa3dd89..8f3166f9 100644 +index fe4da6b2..6ffa3429 100644 --- a/man/man8/biolatency.8 +++ b/man/man8/biolatency.8 @@ -91,8 +91,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -136,8 +153,21 @@ index 7aa3dd89..8f3166f9 100644 .SH AUTHOR Brendan Gregg .SH SEE ALSO +diff --git a/man/man8/biolatpcts.8 b/man/man8/biolatpcts.8 +index 7a06a11d..9dd41d08 100644 +--- a/man/man8/biolatpcts.8 ++++ b/man/man8/biolatpcts.8 +@@ -81,8 +81,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing + example usage, output, and commentary for this tool. + .SH OS + Linux +-.SH STABILITY +-Unstable - in development. + .SH AUTHOR + Tejun Heo + .SH SEE ALSO diff --git a/man/man8/biosnoop.8 b/man/man8/biosnoop.8 -index 2a41348c..ec16596c 100644 +index 4c073f76..2b2f7434 100644 --- a/man/man8/biosnoop.8 +++ b/man/man8/biosnoop.8 @@ -79,8 +79,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -213,7 +243,7 @@ index 480264f9..cbf75121 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/btrfsslower.8 b/man/man8/btrfsslower.8 -index 9f0a89a6..409b0bb0 100644 +index a1ea106a..33864589 100644 --- a/man/man8/btrfsslower.8 +++ b/man/man8/btrfsslower.8 @@ -114,8 +114,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -252,10 +282,10 @@ index 5642fa1d..1fe4067b 100644 Emmanuel Bretelle .SH SEE ALSO diff --git a/man/man8/capable.8 b/man/man8/capable.8 -index e20eb78f..6f6137ed 100644 +index dfb8a6aa..7e545638 100644 --- a/man/man8/capable.8 +++ b/man/man8/capable.8 -@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -84,8 +84,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -264,6 +294,18 @@ index e20eb78f..6f6137ed 100644 .SH AUTHOR Brendan Gregg .SH SEE ALSO +diff --git a/man/man8/compactsnoop.8 b/man/man8/compactsnoop.8 +index a2933d7a..c1339579 100644 +--- a/man/man8/compactsnoop.8 ++++ b/man/man8/compactsnoop.8 +@@ -173,7 +173,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing + example usage, output, and commentary for this tool. + .SH OS + Linux +-.SH STABILITY +-Unstable - in development. + .SH AUTHOR + Wenbo Zhang diff --git a/man/man8/cpudist.8 b/man/man8/cpudist.8 index 6ee1f3bf..979f0451 100644 --- a/man/man8/cpudist.8 @@ -291,7 +333,7 @@ index 674be499..107ff67b 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/criticalstat.8 b/man/man8/criticalstat.8 -index 52baf1d8..d9dfec91 100644 +index cdd5e8ed..8f918707 100644 --- a/man/man8/criticalstat.8 +++ b/man/man8/criticalstat.8 @@ -65,8 +65,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -304,7 +346,7 @@ index 52baf1d8..d9dfec91 100644 Joel Fernandes .SH SEE ALSO diff --git a/man/man8/dbslower.8 b/man/man8/dbslower.8 -index c21e6fae..947180df 100644 +index e39b8bd0..e73b77f1 100644 --- a/man/man8/dbslower.8 +++ b/man/man8/dbslower.8 @@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -368,7 +410,7 @@ index 0be3f4ab..7300446a 100644 .SH AUTHOR Kenny Yu diff --git a/man/man8/drsnoop.8 b/man/man8/drsnoop.8 -index 98e27e56..b8276b3e 100644 +index 572c0dce..3563da81 100644 --- a/man/man8/drsnoop.8 +++ b/man/man8/drsnoop.8 @@ -104,7 +104,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -378,12 +420,12 @@ index 98e27e56..b8276b3e 100644 -.SH STABILITY -Unstable - in development. .SH AUTHOR - Ethercflow + Wenbo Zhang diff --git a/man/man8/execsnoop.8 b/man/man8/execsnoop.8 -index 500a9321..938fde0d 100644 +index 4a88e007..f8db4944 100644 --- a/man/man8/execsnoop.8 +++ b/man/man8/execsnoop.8 -@@ -109,8 +109,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -137,8 +137,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -419,7 +461,7 @@ index 61ecb727..ba17fc3d 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/ext4slower.8 b/man/man8/ext4slower.8 -index 7591f284..231337bf 100644 +index a16bd5ef..b6276269 100644 --- a/man/man8/ext4slower.8 +++ b/man/man8/ext4slower.8 @@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -432,7 +474,7 @@ index 7591f284..231337bf 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/filelife.8 b/man/man8/filelife.8 -index 1e4e423e..5a792a48 100644 +index 9495d4e2..6438b374 100644 --- a/man/man8/filelife.8 +++ b/man/man8/filelife.8 @@ -64,8 +64,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -445,7 +487,7 @@ index 1e4e423e..5a792a48 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/fileslower.8 b/man/man8/fileslower.8 -index 169013bd..b30bf4c7 100644 +index fe912436..d567986b 100644 --- a/man/man8/fileslower.8 +++ b/man/man8/fileslower.8 @@ -106,8 +106,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -458,10 +500,10 @@ index 169013bd..b30bf4c7 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/filetop.8 b/man/man8/filetop.8 -index e70d908f..69b1aae5 100644 +index ba0cbd6e..1f818d68 100644 --- a/man/man8/filetop.8 +++ b/man/man8/filetop.8 -@@ -108,8 +108,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -111,8 +111,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -510,7 +552,7 @@ index 06f17934..0e85989d 100644 Sasha Goldshtein .SH SEE ALSO diff --git a/man/man8/gethostlatency.8 b/man/man8/gethostlatency.8 -index c5a53303..87b26829 100644 +index a9d18e07..876f3983 100644 --- a/man/man8/gethostlatency.8 +++ b/man/man8/gethostlatency.8 @@ -55,8 +55,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -550,7 +592,7 @@ index 2ab80dbb..85b36b6e 100644 .SH AUTHOR Howard McLauchlan diff --git a/man/man8/killsnoop.8 b/man/man8/killsnoop.8 -index b7048ed7..1fe8979f 100644 +index b90162f0..ff44a306 100644 --- a/man/man8/killsnoop.8 +++ b/man/man8/killsnoop.8 @@ -75,8 +75,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -562,6 +604,19 @@ index b7048ed7..1fe8979f 100644 .SH AUTHOR Brendan Gregg .SH SEE ALSO +diff --git a/man/man8/klockstat.8 b/man/man8/klockstat.8 +index 0a3167d1..57f9db18 100644 +--- a/man/man8/klockstat.8 ++++ b/man/man8/klockstat.8 +@@ -182,8 +182,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing + example usage, output, and commentary for this tool. + .SH OS + Linux +-.SH STABILITY +-Unstable - in development. + .SH CREDITS + This tool is based on work of David Valin and his script. + .SH AUTHOR diff --git a/man/man8/llcstat.8 b/man/man8/llcstat.8 index 36dbed7d..2b554c46 100644 --- a/man/man8/llcstat.8 @@ -601,7 +656,7 @@ index fa52c8cf..718ae3c2 100644 .SH AUTHOR Sasha Goldshtein diff --git a/man/man8/mountsnoop.8 b/man/man8/mountsnoop.8 -index 450301a0..8336f2fd 100644 +index 01efdf9c..8afafba0 100644 --- a/man/man8/mountsnoop.8 +++ b/man/man8/mountsnoop.8 @@ -46,8 +46,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -640,7 +695,7 @@ index c72cfaa6..34532c18 100644 Samuel Nair .SH SEE ALSO diff --git a/man/man8/nfsslower.8 b/man/man8/nfsslower.8 -index 19eb6359..416c081e 100644 +index 22b36e3e..66021002 100644 --- a/man/man8/nfsslower.8 +++ b/man/man8/nfsslower.8 @@ -114,8 +114,6 @@ Also look in the bcc distribution for a companion nfsslower_examples.txt file co @@ -692,10 +747,10 @@ index b6d6f9e1..965ba545 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/opensnoop.8 b/man/man8/opensnoop.8 -index 37b40a47..10741406 100644 +index 54a7788a..8a1b9949 100644 --- a/man/man8/opensnoop.8 +++ b/man/man8/opensnoop.8 -@@ -137,8 +137,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -145,8 +145,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -718,10 +773,10 @@ index 2164ffaf..9d272c81 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/profile.8 b/man/man8/profile.8 -index 88311e7e..9cd3ca44 100644 +index 823ff699..7739058f 100644 --- a/man/man8/profile.8 +++ b/man/man8/profile.8 -@@ -141,8 +141,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -148,8 +148,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -756,7 +811,7 @@ index d535ebbf..9e146a5e 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/runqlen.8 b/man/man8/runqlen.8 -index 27a649da..395a68bb 100644 +index b36a5a18..c2f0ffb4 100644 --- a/man/man8/runqlen.8 +++ b/man/man8/runqlen.8 @@ -78,8 +78,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -769,20 +824,20 @@ index 27a649da..395a68bb 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/runqslower.8 b/man/man8/runqslower.8 -index 0baee64a..9aa7e9f7 100644 +index f8b5f008..c72389d7 100644 --- a/man/man8/runqslower.8 +++ b/man/man8/runqslower.8 -@@ -78,8 +78,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -81,8 +81,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux -.SH STABILITY -Unstable - in development. .SH AUTHOR - Ivan Babrou - .SH SEE ALSO + Ivan Babrou, original BCC Python version + Andrii Nakryiko, CO-RE version diff --git a/man/man8/shmsnoop.8 b/man/man8/shmsnoop.8 -index 390974f6..a495ab4f 100644 +index e7092e19..944e9f07 100644 --- a/man/man8/shmsnoop.8 +++ b/man/man8/shmsnoop.8 @@ -66,8 +66,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -880,7 +935,7 @@ index d2459561..2cf789c1 100644 Brendan Gregg, Sasha Goldshtein .SH SEE ALSO diff --git a/man/man8/statsnoop.8 b/man/man8/statsnoop.8 -index 00921d69..4efee52e 100644 +index c0555043..d1560b3c 100644 --- a/man/man8/statsnoop.8 +++ b/man/man8/statsnoop.8 @@ -83,8 +83,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -893,7 +948,7 @@ index 00921d69..4efee52e 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/syncsnoop.8 b/man/man8/syncsnoop.8 -index 3d4c8c4f..2ad2b298 100644 +index 8543f213..cd7b0629 100644 --- a/man/man8/syncsnoop.8 +++ b/man/man8/syncsnoop.8 @@ -45,8 +45,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -919,10 +974,10 @@ index d13793be..88343e14 100644 Sasha Goldshtein .SH SEE ALSO diff --git a/man/man8/tcpaccept.8 b/man/man8/tcpaccept.8 -index 6e340bd0..550e9b55 100644 +index 43219260..4176a32b 100644 --- a/man/man8/tcpaccept.8 +++ b/man/man8/tcpaccept.8 -@@ -94,8 +94,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -101,8 +101,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -932,10 +987,10 @@ index 6e340bd0..550e9b55 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/tcpconnect.8 b/man/man8/tcpconnect.8 -index 9bf44e9c..60721bc8 100644 +index 60aac1e2..856873c0 100644 --- a/man/man8/tcpconnect.8 +++ b/man/man8/tcpconnect.8 -@@ -111,8 +111,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -118,8 +118,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -984,7 +1039,7 @@ index a2419c61..a2a2550c 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/tcpretrans.8 b/man/man8/tcpretrans.8 -index e4f6fbf6..b08b0fe4 100644 +index 0ac82afa..04226dc6 100644 --- a/man/man8/tcpretrans.8 +++ b/man/man8/tcpretrans.8 @@ -83,8 +83,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -1023,10 +1078,10 @@ index 525b8082..daf41583 100644 Rodrigo Manyari .SH INSPIRATION diff --git a/man/man8/tcptop.8 b/man/man8/tcptop.8 -index 672e8edd..f5e13880 100644 +index 631c00c3..eddab761 100644 --- a/man/man8/tcptop.8 +++ b/man/man8/tcptop.8 -@@ -102,8 +102,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -110,8 +110,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -1036,10 +1091,10 @@ index 672e8edd..f5e13880 100644 Brendan Gregg .SH INSPIRATION diff --git a/man/man8/tcptracer.8 b/man/man8/tcptracer.8 -index b5b30617..6f3bf82e 100644 +index 728c80af..cd444ee4 100644 --- a/man/man8/tcptracer.8 +++ b/man/man8/tcptracer.8 -@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -96,8 +96,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -1061,10 +1116,10 @@ index da5edf37..f7e459da 100644 .SH AUTHOR Sasha Goldshtein diff --git a/man/man8/trace.8 b/man/man8/trace.8 -index ebbb4383..9e28c956 100644 +index 0b27dbd6..fb33599a 100644 --- a/man/man8/trace.8 +++ b/man/man8/trace.8 -@@ -197,7 +197,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -206,7 +206,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux @@ -1216,7 +1271,7 @@ index 3c890007..75b2c66e 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/xfsslower.8 b/man/man8/xfsslower.8 -index 533a7011..cd2a5ed2 100644 +index 30ec3253..c914dcee 100644 --- a/man/man8/xfsslower.8 +++ b/man/man8/xfsslower.8 @@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -1242,7 +1297,7 @@ index 1e5632fd..6c5de7d7 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/zfsslower.8 b/man/man8/zfsslower.8 -index 8f5c8cf3..95c0c09d 100644 +index d1e2f9c1..31d382f6 100644 --- a/man/man8/zfsslower.8 +++ b/man/man8/zfsslower.8 @@ -108,8 +108,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing @@ -1255,5 +1310,5 @@ index 8f5c8cf3..95c0c09d 100644 Brendan Gregg .SH SEE ALSO -- -2.23.0 +2.25.3 diff --git a/SOURCES/bcc-0.14.0-deadlock-print-a-more-explicit-message-when-pthread_.patch b/SOURCES/bcc-0.14.0-deadlock-print-a-more-explicit-message-when-pthread_.patch new file mode 100644 index 0000000..b068ff6 --- /dev/null +++ b/SOURCES/bcc-0.14.0-deadlock-print-a-more-explicit-message-when-pthread_.patch @@ -0,0 +1,28 @@ +From c263daf925a7a74f7ae64b049cf3def8b298beee Mon Sep 17 00:00:00 2001 +From: Jerome Marchand +Date: Wed, 10 Jun 2020 10:28:42 +0200 +Subject: [PATCH 1/4] deadlock: print a more explicit message when + pthread_mutex_unlock can't be attached + +Most likely, this happen because of a missing --binary argument. Let's +be friendly to our user and print a more useful messsage. +--- + tools/deadlock.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/deadlock.py b/tools/deadlock.py +index 17848720..81122adb 100755 +--- a/tools/deadlock.py ++++ b/tools/deadlock.py +@@ -483,7 +483,7 @@ import time + pid=args.pid, + ) + except Exception as e: +- print('%s. Failed to attach to symbol: %s' % (str(e), symbol)) ++ print('%s. Failed to attach to symbol: %s\nIs --binary argument missing?' % (str(e), symbol)) + sys.exit(1) + for symbol in args.lock_symbols: + try: +-- +2.25.4 + diff --git a/SOURCES/bcc-0.14.0-loader-suggest-to-install-the-right-kernel-devel-pac.patch b/SOURCES/bcc-0.14.0-loader-suggest-to-install-the-right-kernel-devel-pac.patch new file mode 100644 index 0000000..6dc155c --- /dev/null +++ b/SOURCES/bcc-0.14.0-loader-suggest-to-install-the-right-kernel-devel-pac.patch @@ -0,0 +1,33 @@ +From f7e7347dc1b4873f70a26392c997228999d346a8 Mon Sep 17 00:00:00 2001 +From: Jerome Marchand +Date: Wed, 10 Jun 2020 11:41:59 +0200 +Subject: [PATCH 3/4] loader: suggest to install the right kernel devel package + +Unfortunately, some package dependency system do not allow to make +sure that the kernel development package installed is the same version +as the running kernel. When this happen, the loader, unable to find +the kernel header, will suggest to rebuild the kernel with +CONFIG_IKHEADERS. For most users, this is probably not an option, but +installing the kernel development package corresponding to the running +kernel version is. +--- + src/cc/frontends/clang/loader.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/cc/frontends/clang/loader.cc b/src/cc/frontends/clang/loader.cc +index 9d768d30..79558dd3 100644 +--- a/src/cc/frontends/clang/loader.cc ++++ b/src/cc/frontends/clang/loader.cc +@@ -151,7 +151,8 @@ int ClangLoader::parse(unique_ptr *mod, TableStorage &ts, + kpath = tmpdir; + } else { + std::cout << "Unable to find kernel headers. "; +- std::cout << "Try rebuilding kernel with CONFIG_IKHEADERS=m (module)\n"; ++ std::cout << "Try rebuilding kernel with CONFIG_IKHEADERS=m (module) "; ++ std::cout << "or installing the kernel development package for your running kernel version.\n"; + } + } + +-- +2.25.4 + diff --git a/SOURCES/bcc-0.14.0-man-remove-non-existent-x-argument-from-tcpconnect-m.patch b/SOURCES/bcc-0.14.0-man-remove-non-existent-x-argument-from-tcpconnect-m.patch new file mode 100644 index 0000000..fcc49c5 --- /dev/null +++ b/SOURCES/bcc-0.14.0-man-remove-non-existent-x-argument-from-tcpconnect-m.patch @@ -0,0 +1,28 @@ +From 1762f5c28832842ea2c67ab68feaf7fddb94a543 Mon Sep 17 00:00:00 2001 +From: Jerome Marchand +Date: Wed, 10 Jun 2020 11:30:35 +0200 +Subject: [PATCH 2/4] man: remove non-existent -x argument from tcpconnect man + page + +There's no -x option in tcpconnect. I don't know how it get into the +man page sysnopsis, but it doesn't belong there. +--- + man/man8/tcpconnect.8 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/man/man8/tcpconnect.8 b/man/man8/tcpconnect.8 +index 60aac1e2..8180f0fe 100644 +--- a/man/man8/tcpconnect.8 ++++ b/man/man8/tcpconnect.8 +@@ -2,7 +2,7 @@ + .SH NAME + tcpconnect \- Trace TCP active connections (connect()). Uses Linux eBPF/bcc. + .SH SYNOPSIS +-.B tcpconnect [\-h] [\-c] [\-t] [\-x] [\-p PID] [-P PORT] [\-\-cgroupmap MAPPATH] ++.B tcpconnect [\-h] [\-c] [\-t] [\-p PID] [-P PORT] [\-\-cgroupmap MAPPATH] + .SH DESCRIPTION + This tool traces active TCP connections (eg, via a connect() syscall; + accept() are passive connections). This can be useful for general +-- +2.25.4 + diff --git a/SOURCES/bcc-0.14.0-tools-fix-a-python-3-map-issue-in-dbstat-and-dbslowe.patch b/SOURCES/bcc-0.14.0-tools-fix-a-python-3-map-issue-in-dbstat-and-dbslowe.patch new file mode 100644 index 0000000..603368a --- /dev/null +++ b/SOURCES/bcc-0.14.0-tools-fix-a-python-3-map-issue-in-dbstat-and-dbslowe.patch @@ -0,0 +1,49 @@ +From fc72365ad7a3fb66902b3e2d0b0fb712eb8735d3 Mon Sep 17 00:00:00 2001 +From: Jerome Marchand +Date: Wed, 10 Jun 2020 18:29:11 +0200 +Subject: [PATCH 4/4] tools: fix a python 3 map issue in dbstat and dbslower + +In python 3, map returns an iterator and not a list anymore. This +patch cast the map into a list. It fixes the following error: + +$ /usr/share/bcc/tools/dbstat mysql +Traceback (most recent call last): + File "/usr/share/bcc/tools/dbstat", line 95, in + bpf = BPF(text=program, usdt_contexts=usdts) + File "/usr/lib/python3.6/site-packages/bcc/__init__.py", line 339, in __init__ + ctx_array = (ct.c_void_p * len(usdt_contexts))() +TypeError: object of type 'map' has no len() +--- + tools/dbslower.py | 2 +- + tools/dbstat.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/dbslower.py b/tools/dbslower.py +index 2f1b6a8b..e2ee7ad0 100755 +--- a/tools/dbslower.py ++++ b/tools/dbslower.py +@@ -188,7 +188,7 @@ int query_end(struct pt_regs *ctx) { + args.pids = map(int, subprocess.check_output( + "pidof postgres".split()).split()) + +- usdts = map(lambda pid: USDT(pid=pid), args.pids) ++ usdts = list(map(lambda pid: USDT(pid=pid), args.pids)) + for usdt in usdts: + usdt.enable_probe("query__start", "query_start") + usdt.enable_probe("query__done", "query_end") +diff --git a/tools/dbstat.py b/tools/dbstat.py +index a89b0971..a7d301b1 100755 +--- a/tools/dbstat.py ++++ b/tools/dbstat.py +@@ -83,7 +83,7 @@ program = program.replace("SCALE", str(1000 if args.microseconds else 1000000)) + program = program.replace("FILTER", "" if args.threshold == 0 else + "if (delta / 1000000 < %d) { return 0; }" % args.threshold) + +-usdts = map(lambda pid: USDT(pid=pid), args.pids) ++usdts = list(map(lambda pid: USDT(pid=pid), args.pids)) + for usdt in usdts: + usdt.enable_probe("query__start", "probe_start") + usdt.enable_probe("query__done", "probe_end") +-- +2.25.4 + diff --git a/SOURCES/bcc-0.14.0-tools-opensnoop-Fix-compilation-problem.patch b/SOURCES/bcc-0.14.0-tools-opensnoop-Fix-compilation-problem.patch new file mode 100644 index 0000000..0dbeff5 --- /dev/null +++ b/SOURCES/bcc-0.14.0-tools-opensnoop-Fix-compilation-problem.patch @@ -0,0 +1,31 @@ +From 39a4af00c99327d9498c2e1232afdfa49fa1e564 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mauricio=20V=C3=A1squez?= +Date: Mon, 8 Jun 2020 08:12:08 -0500 +Subject: [PATCH 2/3] tools/opensnoop: Fix compilation problem +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix stupid bug introduced by myself. + +Signed-off-by: Mauricio Vásquez +--- + tools/opensnoop.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/opensnoop.py b/tools/opensnoop.py +index 9a526625..b7408e7c 100755 +--- a/tools/opensnoop.py ++++ b/tools/opensnoop.py +@@ -198,7 +198,7 @@ KRETFUNC_PROBE(do_sys_open, int dfd, const char *filename, int flags, int mode, + + events.perf_submit(ctx, &data, sizeof(data)); + +- return 0: ++ return 0; + } + """ + +-- +2.25.4 + diff --git a/SPECS/bcc.spec b/SPECS/bcc.spec index 7b7d311..0591175 100644 --- a/SPECS/bcc.spec +++ b/SPECS/bcc.spec @@ -4,23 +4,24 @@ %bcond_without llvm_static Name: bcc -Version: 0.11.0 -Release: 2%{?dist} +Version: 0.14.0 +Release: 4%{?dist} Summary: BPF Compiler Collection (BCC) License: ASL 2.0 URL: https://github.com/iovisor/bcc -# Generate source tarball until upstream bug is fixed -# See https://github.com/iovisor/bcc/issues/2261 -# To generate the tarball, use the following commands -# git clone -b "v0.11.0" --single-branch --depth 1 url bcc-0.11.0 -# pushd bcc-0.11.0 -# git submodule update --init -# popd -# tar zcvf bcc-0.11.0.tar.gz bcc-0.11.0/ +# Upstream now provides a release with the git submodule embedded in it +Source0: %{url}/releases/download/v%{version}/%{name}-src-with-submodule.tar.gz #Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz -Source0: %{name}-%{version}.tar.gz -Patch1: %{name}-%{version}-Manpages-remove-unstable-statement.patch -patch2: %{name}-%{version}-man-add-missing-c-option-to-tcpretrans-synopsis.patch +Patch0: %{name}-%{version}-Manpages-remove-unstable-statement.patch +Patch1: %{name}-%{version}-deadlock-print-a-more-explicit-message-when-pthread_.patch +Patch2: %{name}-%{version}-man-remove-non-existent-x-argument-from-tcpconnect-m.patch +Patch3: %{name}-%{version}-loader-suggest-to-install-the-right-kernel-devel-pac.patch +Patch4: %{name}-%{version}-tools-fix-a-python-3-map-issue-in-dbstat-and-dbslowe.patch +Patch5: %{name}-%{version}-Add-KBUILD_MODNAME-flag-to-default-cflags.patch +Patch6: %{name}-%{version}-Delete-existing-kbuild_modname-definitions.patch +Patch7: %{name}-%{version}-Fix-KFUNC_PROBE-return-value.patch +Patch8: %{name}-%{version}-tools-opensnoop-Fix-compilation-problem.patch +Patch9: %{name}-%{version}-Forbid-trampolines-for-archs-other-than-x86_64.patch # Arches will be included as upstream support is added and dependencies are # satisfied in the respective arches @@ -77,7 +78,7 @@ Examples for BPF Compiler Collection (BCC) %package -n python3-%{name} Summary: Python3 bindings for BPF Compiler Collection (BCC) Requires: %{name}%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python3-%{srcname}} +%{?python_provide:%python_provide python3-%{name}} %description -n python3-%{name} Python3 bindings for BPF Compiler Collection (BCC) @@ -103,7 +104,7 @@ Requires: kernel-devel Command line tools for BPF Compiler Collection (BCC) %prep -%autosetup -p1 +%autosetup -p1 -n %{name} %build %cmake . \ @@ -156,6 +157,8 @@ done %{_libdir}/libbcc_bpf.so.* %files devel +%exclude %{_libdir}/lib%{name}*.a +%exclude %{_libdir}/lib%{name}*.la %{_libdir}/lib%{name}.so %{_libdir}/libbcc_bpf.so %{_libdir}/pkgconfig/lib%{name}.pc @@ -192,7 +195,13 @@ done # criticalstat relies on CONFIG_PREEMPTIRQ_EVENTS which is disabled on RHEL 8 %exclude %{_datadir}/%{name}/tools/criticalstat %exclude %{_datadir}/%{name}/tools/doc/criticalstat_example.txt -%exclude %{_mandir}/man8/criticalstat.8 +%exclude %{_mandir}/man8/bcc-criticalstat.8.gz +# compactsnoop is only supported on x86_64 +%ifnarch x86_64 +%exclude %{_datadir}/%{name}/tools/compactsnoop +%exclude %{_datadir}/%{name}/tools/doc/compactsnoop_example.txt +%exclude %{_mandir}/man8/bcc-compactsnoop.8.gz +%endif %{_mandir}/man8/* %if %{with lua} @@ -202,6 +211,24 @@ done %changelog +* Wed Sep 02 2020 Jerome Marchand - 0.14.0-4 +- Fix KFUNC_PROBE return value +- Forbid trampolines on unsupported arches + +* Tue Jul 21 2020 Jerome Marchand - 0.14.0-3 +- Add KBUILD_MODNAME flag to default cflags + +* Thu Jun 11 2020 Jerome Marchand - 0.14.0-2 +- Remove criticalstat manpage +- Remove compactsnoop on non x86_64 +- Suggest to use --binary in deadlock +- Remove non-existent argument from tcpconnect man page +- Suggest to install the proper kernel-devel version +- Fix dbstat and dbslower + +* Wed Apr 22 2020 Jerome Marchand - 0.14.0-1 +- Rebase on bcc-0.14.0 + * Wed Dec 04 2019 Jerome Marchand - 0.11.0-2 - Add -c option ton the synopsis of tcpretrans manpage