From 6c97e32fe9ea3c5d83f33c3cb0651dce34303838 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 9 Nov 2021 04:52:55 -0500 Subject: [PATCH] import bcc-0.19.0-4.el8 --- .bcc.metadata | 2 +- .gitignore | 2 +- ...op-Add-memcg_cache_params-struct-def.patch | 39 ------ .../bcc-0.16.0-sync-with-libbpf-repo.patch | 121 ------------------ ...-include-kasan-header-in-slabtoprate.patch | 42 ------ ...r-fix-alignement-in-tcp_ipv6_event_t.patch | 46 ------- ...cc-0.19.0-Define-missing-BPF_-macros.patch | 27 ++++ SOURCES/bcc-0.19.0-Fix-BPF-src_file-foo.patch | 39 ++++++ ...-Manpages-remove-unstable-statement.patch} | 115 +++++++++++++++-- SPECS/bcc.spec | 39 +++--- 10 files changed, 196 insertions(+), 276 deletions(-) delete mode 100644 SOURCES/bcc-0.16.0-slabratetop-Add-memcg_cache_params-struct-def.patch delete mode 100644 SOURCES/bcc-0.16.0-sync-with-libbpf-repo.patch delete mode 100644 SOURCES/bcc-0.16.0-tools-include-kasan-header-in-slabtoprate.patch delete mode 100644 SOURCES/bcc-0.16.0-tools-tcptracer-fix-alignement-in-tcp_ipv6_event_t.patch create mode 100644 SOURCES/bcc-0.19.0-Define-missing-BPF_-macros.patch create mode 100644 SOURCES/bcc-0.19.0-Fix-BPF-src_file-foo.patch rename SOURCES/{bcc-0.16.0-Manpages-remove-unstable-statement.patch => bcc-0.19.0-Manpages-remove-unstable-statement.patch} (92%) diff --git a/.bcc.metadata b/.bcc.metadata index 21fd784..9ef710d 100644 --- a/.bcc.metadata +++ b/.bcc.metadata @@ -1 +1 @@ -ae5102ef4109f8af03c7282c1f9f2c3201c3a400 SOURCES/bcc-src-with-submodule.tar.gz +96882747089d093b8933456d9c7905407bde7fd9 SOURCES/bcc-0.19.0.tar.gz diff --git a/.gitignore b/.gitignore index ff7e7e9..7fc1d6f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/bcc-src-with-submodule.tar.gz +SOURCES/bcc-0.19.0.tar.gz diff --git a/SOURCES/bcc-0.16.0-slabratetop-Add-memcg_cache_params-struct-def.patch b/SOURCES/bcc-0.16.0-slabratetop-Add-memcg_cache_params-struct-def.patch deleted file mode 100644 index 590df46..0000000 --- a/SOURCES/bcc-0.16.0-slabratetop-Add-memcg_cache_params-struct-def.patch +++ /dev/null @@ -1,39 +0,0 @@ -From fe1f2189326a54e3496b2fcfdc1b08839f3165b4 Mon Sep 17 00:00:00 2001 -From: Daniel Rank -Date: Sun, 27 Sep 2020 16:55:22 -0700 -Subject: [PATCH] slabratetop: Add memcg_cache_params struct def - -struct memcg_cache_params moved from include/linux/slab.h to -mm/slab.h in kernel v5.4, causing a compiler error when including -slub_def.h or slab_def.h in slabratetop's bpf program. - -It has been removed completely from kernel version 5.9. - -Add an empty memcg_cache_params struct in slabratetop's bpf -program so it will compile with kernel versions 5.4 to 5.8. ---- - tools/slabratetop.py | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/tools/slabratetop.py b/tools/slabratetop.py -index 066f79d6..182dbd1d 100755 ---- a/tools/slabratetop.py -+++ b/tools/slabratetop.py -@@ -62,7 +62,13 @@ loadavg = "/proc/loadavg" - bpf_text = """ - #include - #include --#include -+ -+// memcg_cache_params is a part of kmem_cache, but is not publicly exposed in -+// kernel versions 5.4 to 5.8. Define an empty struct for it here to allow the -+// bpf program to compile. It has been completely removed in kernel version -+// 5.9, but it does not hurt to have it here for versions 5.4 to 5.8. -+struct memcg_cache_params {}; -+ - #ifdef CONFIG_SLUB - #include - #else --- -2.29.2 - diff --git a/SOURCES/bcc-0.16.0-sync-with-libbpf-repo.patch b/SOURCES/bcc-0.16.0-sync-with-libbpf-repo.patch deleted file mode 100644 index d1f2323..0000000 --- a/SOURCES/bcc-0.16.0-sync-with-libbpf-repo.patch +++ /dev/null @@ -1,121 +0,0 @@ -From da9ec2b1673ddf6b956304dca6ed6918d89d4631 Mon Sep 17 00:00:00 2001 -From: Yonghong Song -Date: Sat, 22 Aug 2020 15:19:46 -0700 -Subject: [PATCH] sync with libbpf repo - -sync with latest libbpf repo. - -Strut definition for btf_ext_header is defined in libbpf/src/btf.h -previously and used by bcc. Now, the struct is moved to -libbpf/src/libbpf_internal.h and not available to bcc. -We do not want to include libbpf/src/libbpf_internal.h as -it is really libbpf internal. Let us define bcc version -of btf_ext_header with struct name bcc_btf_ext_header. -The new name is to avoid conflict when compiling with -old libbpf package. - -Signed-off-by: Yonghong Song ---- - src/cc/bcc_btf.cc | 2 +- - src/cc/bcc_btf.h | 17 +++++++++++++++++ - src/cc/compat/linux/virtual_bpf.h | 17 ++++++++++++----- - 4 files changed, 31 insertions(+), 7 deletions(-) - -diff --git a/src/cc/bcc_btf.cc b/src/cc/bcc_btf.cc -index e220f117..1056950c 100644 ---- a/src/cc/bcc_btf.cc -+++ b/src/cc/bcc_btf.cc -@@ -185,7 +185,7 @@ void BTF::adjust(uint8_t *btf_sec, uintptr_t btf_sec_size, - } - - struct btf_header *hdr = (struct btf_header *)btf_sec; -- struct btf_ext_header *ehdr = (struct btf_ext_header *)btf_ext_sec; -+ struct bcc_btf_ext_header *ehdr = (struct bcc_btf_ext_header *)btf_ext_sec; - - // Fixup btf for old kernels or kernel requirements. - fixup_btf(btf_sec + hdr->hdr_len + hdr->type_off, hdr->type_len, -diff --git a/src/cc/bcc_btf.h b/src/cc/bcc_btf.h -index 438c1f73..75b47cc3 100644 ---- a/src/cc/bcc_btf.h -+++ b/src/cc/bcc_btf.h -@@ -45,6 +45,23 @@ class BTFStringTable { - }; - - class BTF { -+ struct bcc_btf_ext_header { -+ uint16_t magic; -+ uint8_t version; -+ uint8_t flags; -+ uint32_t hdr_len; -+ -+ /* All offsets are in bytes relative to the end of this header */ -+ uint32_t func_info_off; -+ uint32_t func_info_len; -+ uint32_t line_info_off; -+ uint32_t line_info_len; -+ -+ /* optional part of .BTF.ext header */ -+ uint32_t core_relo_off; -+ uint32_t core_relo_len; -+}; -+ - public: - BTF(bool debug, sec_map_def §ions); - ~BTF(); -diff --git a/src/cc/compat/linux/virtual_bpf.h b/src/cc/compat/linux/virtual_bpf.h -index 38262630..0387b970 100644 ---- a/src/cc/compat/linux/virtual_bpf.h -+++ b/src/cc/compat/linux/virtual_bpf.h -@@ -768,7 +768,7 @@ union bpf_attr { - * - * Also, note that **bpf_trace_printk**\ () is slow, and should - * only be used for debugging purposes. For this reason, a notice -- * bloc (spanning several lines) is printed to kernel logs and -+ * block (spanning several lines) is printed to kernel logs and - * states that the helper should not be used "for production use" - * the first time this helper is used (or more precisely, when - * **trace_printk**\ () buffers are allocated). For passing values -@@ -1034,14 +1034,14 @@ union bpf_attr { - * - * int ret; - * struct bpf_tunnel_key key = {}; -- * -+ * - * ret = bpf_skb_get_tunnel_key(skb, &key, sizeof(key), 0); - * if (ret < 0) - * return TC_ACT_SHOT; // drop packet -- * -+ * - * if (key.remote_ipv4 != 0x0a000001) - * return TC_ACT_SHOT; // drop packet -- * -+ * - * return TC_ACT_OK; // accept packet - * - * This interface can also be used with all encapsulation devices -@@ -1148,7 +1148,7 @@ union bpf_attr { - * Description - * Retrieve the realm or the route, that is to say the - * **tclassid** field of the destination for the *skb*. The -- * indentifier retrieved is a user-provided tag, similar to the -+ * identifier retrieved is a user-provided tag, similar to the - * one used with the net_cls cgroup (see description for - * **bpf_get_cgroup_classid**\ () helper), but here this tag is - * held by a route (a destination entry), not by a task. -@@ -4072,6 +4072,13 @@ struct bpf_link_info { - __u64 cgroup_id; - __u32 attach_type; - } cgroup; -+ struct { -+ __aligned_u64 target_name; /* in/out: target_name buffer ptr */ -+ __u32 target_name_len; /* in/out: target_name buffer len */ -+ union { -+ __u32 map_id; -+ } map; -+ } iter; - struct { - __u32 netns_ino; - __u32 attach_type; --- -2.29.2 - diff --git a/SOURCES/bcc-0.16.0-tools-include-kasan-header-in-slabtoprate.patch b/SOURCES/bcc-0.16.0-tools-include-kasan-header-in-slabtoprate.patch deleted file mode 100644 index 8576ebb..0000000 --- a/SOURCES/bcc-0.16.0-tools-include-kasan-header-in-slabtoprate.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 33393d3008969e43d26f0e4b3e71198130f9f44d Mon Sep 17 00:00:00 2001 -From: Jerome Marchand -Date: Thu, 18 Feb 2021 11:33:20 +0100 -Subject: [PATCH] tools: include kasan header in slabtoprate - -slabtoprate fails on 5.10 kernels because of a missing kasan_reset_tag -declaration. We need to include the kasan header file. - -Fixes the following error: -In file included from /virtual/main.c:12: -include/linux/slub_def.h:181:27: warning: implicit declaration of function 'kasan_reset_tag' is invalid in C99 [-Wimplicit-function-declaration] - return reciprocal_divide(kasan_reset_tag(obj) - addr, - ^ -include/linux/slub_def.h:181:48: error: invalid operands to binary expression ('int' and 'void *') - return reciprocal_divide(kasan_reset_tag(obj) - addr, - ~~~~~~~~~~~~~~~~~~~~ ^ ~~~~ -1 warning and 1 error generated. -Traceback (most recent call last): - File "/usr/share/bcc/tools/slabratetop", line 115, in - b = BPF(text=bpf_text) - File "/usr/lib/python3.9/site-packages/bcc/__init__.py", line 364, in __init__ - raise Exception("Failed to compile BPF module %s" % (src_file or "")) -Exception: Failed to compile BPF module ---- - tools/slabratetop.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/slabratetop.py b/tools/slabratetop.py -index 182dbd1d..75280c6d 100755 ---- a/tools/slabratetop.py -+++ b/tools/slabratetop.py -@@ -62,6 +62,7 @@ loadavg = "/proc/loadavg" - bpf_text = """ - #include - #include -+#include - - // memcg_cache_params is a part of kmem_cache, but is not publicly exposed in - // kernel versions 5.4 to 5.8. Define an empty struct for it here to allow the --- -2.29.2 - diff --git a/SOURCES/bcc-0.16.0-tools-tcptracer-fix-alignement-in-tcp_ipv6_event_t.patch b/SOURCES/bcc-0.16.0-tools-tcptracer-fix-alignement-in-tcp_ipv6_event_t.patch deleted file mode 100644 index ff7675e..0000000 --- a/SOURCES/bcc-0.16.0-tools-tcptracer-fix-alignement-in-tcp_ipv6_event_t.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 52c4e8cec4dd560503ff011f8fe7eec5f67b33c9 Mon Sep 17 00:00:00 2001 -From: Jerome Marchand -Date: Thu, 17 Sep 2020 10:37:02 +0200 -Subject: [PATCH 2/2] tools: tcptracer: fix alignement in tcp_ipv6_event_t - -On IPv6, tcptracer ports always appears as zeros: - -Tracing TCP established connections. Ctrl-C to end. -T PID COMM IP SADDR DADDR SPORT DPORT -X 7055 nc 4 127.0.0.1 127.0.0.1 49476 9999 -C 7074 nc 4 127.0.0.1 127.0.0.1 49478 9999 -X 7074 nc 4 127.0.0.1 127.0.0.1 49478 9999 -C 7085 nc 6 [::] [0:0:0:1::] 0 0 -X 7085 nc 6 [::] [0:0:0:1::] 0 0 -C 7086 nc 6 [::] [0:0:0:1::] 0 0 - -This seems related to alignment issue wrt to the __int128 type in -tcp_ipv6_event_t structure. Moving the u8 field ip to the end of the -structure fixes the issue. - -Fixes #2781 ---- - tools/tcptracer.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/tcptracer.py b/tools/tcptracer.py -index 2e486b15..3220105e 100755 ---- a/tools/tcptracer.py -+++ b/tools/tcptracer.py -@@ -73,12 +73,12 @@ struct tcp_ipv6_event_t { - u32 type; - u32 pid; - char comm[TASK_COMM_LEN]; -- u8 ip; - unsigned __int128 saddr; - unsigned __int128 daddr; - u16 sport; - u16 dport; - u32 netns; -+ u8 ip; - }; - BPF_PERF_OUTPUT(tcp_ipv6_event); - --- -2.25.4 - diff --git a/SOURCES/bcc-0.19.0-Define-missing-BPF_-macros.patch b/SOURCES/bcc-0.19.0-Define-missing-BPF_-macros.patch new file mode 100644 index 0000000..01d524d --- /dev/null +++ b/SOURCES/bcc-0.19.0-Define-missing-BPF_-macros.patch @@ -0,0 +1,27 @@ +From d25f87677b554d9cbdc609c020a2baa59e442443 Mon Sep 17 00:00:00 2001 +From: Jerome Marchand +Date: Wed, 2 Jun 2021 10:57:43 +0200 +Subject: [PATCH] Define missing BPF_* macros + +We're currently missing BPF_MAP_TYPE_TASK_STORAGE. This could be +fixed by a future rebase. In the mean time, let's have a temporary +fix. + +diff --git a/introspection/bps.c b/introspection/bps.c +index 0eae675e..1108e417 100644 +--- a/introspection/bps.c ++++ b/introspection/bps.c +@@ -49,6 +49,10 @@ static const char * const prog_type_strings[] = { + [BPF_PROG_TYPE_SK_LOOKUP] = "sk_lookup", + }; + ++#ifndef BPF_MAP_TYPE_TASK_STORAGE ++#define BPF_MAP_TYPE_TASK_STORAGE (BPF_MAP_TYPE_INODE_STORAGE + 1) ++#endif ++ + static const char * const map_type_strings[] = { + [BPF_MAP_TYPE_UNSPEC] = "unspec", + [BPF_MAP_TYPE_HASH] = "hash", +-- +2.31.1 + diff --git a/SOURCES/bcc-0.19.0-Fix-BPF-src_file-foo.patch b/SOURCES/bcc-0.19.0-Fix-BPF-src_file-foo.patch new file mode 100644 index 0000000..4154b4b --- /dev/null +++ b/SOURCES/bcc-0.19.0-Fix-BPF-src_file-foo.patch @@ -0,0 +1,39 @@ +From 9051043a126a838902b88d144eea1b631d2c3eef Mon Sep 17 00:00:00 2001 +From: Jerome Marchand +Date: Tue, 27 Apr 2021 15:13:12 +0200 +Subject: [PATCH] Fix BPF(src_file="foo") + +Since commit 75f20a15 ("Use string type for comparison to PATH +elements"), src_file isn't working anymore. Somehow, two wrongs +(ArgString __str__() returning a bytes object and joining a bytes and +what was supposed to be a string) did make a right. + +It fixes the following error in netqtop and deadlock: +Traceback (most recent call last): + File "/usr/share/bcc/tools/netqtop", line 207, in + b = BPF(src_file = EBPF_FILE) + File "/usr/lib/python3.6/site-packages/bcc/__init__.py", line 335, in __init__ + src_file = BPF._find_file(src_file) + File "/usr/lib/python3.6/site-packages/bcc/__init__.py", line 255, in _find_file + t = b"/".join([os.path.abspath(os.path.dirname(argv0.__str__())), filename]) +TypeError: sequence item 0: expected a bytes-like object, str found +--- + src/python/bcc/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/python/bcc/__init__.py b/src/python/bcc/__init__.py +index 90562cd7..eabe0a55 100644 +--- a/src/python/bcc/__init__.py ++++ b/src/python/bcc/__init__.py +@@ -252,7 +252,7 @@ DEBUG_BTF = 0x20 + if filename: + if not os.path.isfile(filename): + argv0 = ArgString(sys.argv[0]) +- t = b"/".join([os.path.abspath(os.path.dirname(argv0.__str__())), filename]) ++ t = b"/".join([os.path.abspath(os.path.dirname(argv0.__bytes__())), filename]) + if os.path.isfile(t): + filename = t + else: +-- +2.30.2 + diff --git a/SOURCES/bcc-0.16.0-Manpages-remove-unstable-statement.patch b/SOURCES/bcc-0.19.0-Manpages-remove-unstable-statement.patch similarity index 92% rename from SOURCES/bcc-0.16.0-Manpages-remove-unstable-statement.patch rename to SOURCES/bcc-0.19.0-Manpages-remove-unstable-statement.patch index 7832153..dc84ec9 100644 --- a/SOURCES/bcc-0.16.0-Manpages-remove-unstable-statement.patch +++ b/SOURCES/bcc-0.19.0-Manpages-remove-unstable-statement.patch @@ -1,4 +1,4 @@ -From c42e75d3a80e9fcee66a27edf256452451a3a9b1 Mon Sep 17 00:00:00 2001 +From f4e66f50d1af5b5dd0dc1dbb261f911514c465ed 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 @@ -53,6 +53,7 @@ enough. man/man8/memleak.8 | 2 -- man/man8/mountsnoop.8 | 2 -- man/man8/mysqld_qslower.8 | 2 -- + man/man8/netqtop.8 | 2 -- man/man8/nfsdist.8 | 2 -- man/man8/nfsslower.8 | 2 -- man/man8/offcputime.8 | 2 -- @@ -61,6 +62,7 @@ enough. man/man8/opensnoop.8 | 2 -- man/man8/pidpersec.8 | 2 -- man/man8/profile.8 | 2 -- + man/man8/readahead.8 | 2 -- man/man8/reset-trace.8 | 2 -- man/man8/runqlat.8 | 2 -- man/man8/runqlen.8 | 2 -- @@ -74,6 +76,7 @@ enough. man/man8/sslsniff.8 | 2 -- man/man8/stackcount.8 | 2 -- man/man8/statsnoop.8 | 2 -- + man/man8/swapin.8 | 2 -- man/man8/syncsnoop.8 | 2 -- man/man8/syscount.8 | 2 -- man/man8/tcpaccept.8 | 2 -- @@ -82,10 +85,13 @@ enough. man/man8/tcpdrop.8 | 2 -- man/man8/tcplife.8 | 2 -- man/man8/tcpretrans.8 | 2 -- + man/man8/tcprtt.8 | 2 -- man/man8/tcpstates.8 | 2 -- man/man8/tcpsubnet.8 | 2 -- + man/man8/tcpsynbl.8 | 2 -- man/man8/tcptop.8 | 2 -- man/man8/tcptracer.8 | 2 -- + man/man8/threadsnoop.8 | 2 -- man/man8/tplist.8 | 2 -- man/man8/trace.8 | 2 -- man/man8/ttysnoop.8 | 2 -- @@ -97,12 +103,13 @@ enough. man/man8/uthreads.8 | 2 -- man/man8/vfscount.8 | 2 -- man/man8/vfsstat.8 | 2 -- + man/man8/virtiostat.8 | 2 -- man/man8/wakeuptime.8 | 2 -- man/man8/xfsdist.8 | 2 -- man/man8/xfsslower.8 | 2 -- man/man8/zfsdist.8 | 2 -- man/man8/zfsslower.8 | 2 -- - 96 files changed, 194 deletions(-) + 103 files changed, 208 deletions(-) diff --git a/man/man8/argdist.8 b/man/man8/argdist.8 index 4116cd4d..aa128d2d 100644 @@ -143,10 +150,10 @@ index f8fa1850..05ed95a7 100644 Pavel Dubovitsky .SH SEE ALSO diff --git a/man/man8/biolatency.8 b/man/man8/biolatency.8 -index fe4da6b2..6ffa3429 100644 +index c303eec0..895deb31 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 +@@ -98,8 +98,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 @@ -709,6 +716,18 @@ index 5753079a..7daf074b 100644 .SH AUTHOR Brendan Gregg .SH SEE ALSO +diff --git a/man/man8/netqtop.8 b/man/man8/netqtop.8 +index bfa34d11..8750782b 100644 +--- a/man/man8/netqtop.8 ++++ b/man/man8/netqtop.8 +@@ -50,7 +50,5 @@ Also look in the bcc distribution for a netqtop_example.txt file containing + example usage, output and commentary for this tool. + .SH OS + Linux +-.SH STABILITY +-Unstable - in development + .SH AUTHOR + Yolandajn diff --git a/man/man8/nfsdist.8 b/man/man8/nfsdist.8 index c72cfaa6..34532c18 100644 --- a/man/man8/nfsdist.8 @@ -813,6 +832,19 @@ index 30871afe..8523a731 100644 .SH AUTHOR Brendan Gregg .SH SEE ALSO +diff --git a/man/man8/readahead.8 b/man/man8/readahead.8 +index a2a10914..da8e4fe4 100644 +--- a/man/man8/readahead.8 ++++ b/man/man8/readahead.8 +@@ -51,8 +51,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 + Suchakra Sharma + .SH SEE ALSO diff --git a/man/man8/reset-trace.8 b/man/man8/reset-trace.8 index e96d4790..90f525e0 100644 --- a/man/man8/reset-trace.8 @@ -971,6 +1003,19 @@ index c0555043..d1560b3c 100644 .SH OS Linux -.SH STABILITY +-Unstable - in development. + .SH AUTHOR + Brendan Gregg + .SH SEE ALSO +diff --git a/man/man8/swapin.8 b/man/man8/swapin.8 +index c5ef1ffc..89600460 100644 +--- a/man/man8/swapin.8 ++++ b/man/man8/swapin.8 +@@ -50,8 +50,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 Brendan Gregg @@ -1015,10 +1060,10 @@ index 603a5ca4..4e7dfc9e 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/tcpconnect.8 b/man/man8/tcpconnect.8 -index c96058b0..843aaa9c 100644 +index 55105709..7c1740a4 100644 --- a/man/man8/tcpconnect.8 +++ b/man/man8/tcpconnect.8 -@@ -125,8 +125,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing +@@ -183,8 +183,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 @@ -1028,10 +1073,10 @@ index c96058b0..843aaa9c 100644 Brendan Gregg .SH SEE ALSO diff --git a/man/man8/tcpconnlat.8 b/man/man8/tcpconnlat.8 -index 996c21bb..7af1c57b 100644 +index 9c810071..236f0fb0 100644 --- a/man/man8/tcpconnlat.8 +++ b/man/man8/tcpconnlat.8 -@@ -101,8 +101,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 @@ -1079,6 +1124,19 @@ index 0ac82afa..04226dc6 100644 .SH AUTHOR Brendan Gregg .SH SEE ALSO +diff --git a/man/man8/tcprtt.8 b/man/man8/tcprtt.8 +index 729a1abb..e934102a 100644 +--- a/man/man8/tcprtt.8 ++++ b/man/man8/tcprtt.8 +@@ -78,8 +78,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 + zhenwei pi + .SH SEE ALSO diff --git a/man/man8/tcpstates.8 b/man/man8/tcpstates.8 index 26c7a8a1..d93c198d 100644 --- a/man/man8/tcpstates.8 @@ -1105,6 +1163,19 @@ index 525b8082..daf41583 100644 .SH AUTHOR Rodrigo Manyari .SH INSPIRATION +diff --git a/man/man8/tcpsynbl.8 b/man/man8/tcpsynbl.8 +index 4dd38c8a..93c353b1 100644 +--- a/man/man8/tcpsynbl.8 ++++ b/man/man8/tcpsynbl.8 +@@ -51,8 +51,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 + Brendan Gregg + .SH SEE ALSO diff --git a/man/man8/tcptop.8 b/man/man8/tcptop.8 index e636f456..633b0c93 100644 --- a/man/man8/tcptop.8 @@ -1131,6 +1202,19 @@ index d2346c77..893604d6 100644 .SH AUTHOR Iago López Galeiras .SH SEE ALSO +diff --git a/man/man8/threadsnoop.8 b/man/man8/threadsnoop.8 +index 3c655f24..007281ad 100644 +--- a/man/man8/threadsnoop.8 ++++ b/man/man8/threadsnoop.8 +@@ -52,8 +52,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 + Brendan Gregg + .SH SEE ALSO diff --git a/man/man8/tplist.8 b/man/man8/tplist.8 index da5edf37..f7e459da 100644 --- a/man/man8/tplist.8 @@ -1272,6 +1356,19 @@ index 929e6b63..f439857e 100644 .SH AUTHOR Brendan Gregg .SH SEE ALSO +diff --git a/man/man8/virtiostat.8 b/man/man8/virtiostat.8 +index 8578f8d3..ac312c56 100644 +--- a/man/man8/virtiostat.8 ++++ b/man/man8/virtiostat.8 +@@ -58,8 +58,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 + zhenwei pi + .SH SEE ALSO diff --git a/man/man8/wakeuptime.8 b/man/man8/wakeuptime.8 index 8630ae4a..3c7cf80a 100644 --- a/man/man8/wakeuptime.8 @@ -1338,5 +1435,5 @@ index d1e2f9c1..31d382f6 100644 Brendan Gregg .SH SEE ALSO -- -2.25.4 +2.30.2 diff --git a/SPECS/bcc.spec b/SPECS/bcc.spec index e891758..bf83e1f 100644 --- a/SPECS/bcc.spec +++ b/SPECS/bcc.spec @@ -8,19 +8,15 @@ %endif Name: bcc -Version: 0.16.0 -Release: 3%{?dist} +Version: 0.19.0 +Release: 4%{?dist} Summary: BPF Compiler Collection (BCC) License: ASL 2.0 URL: https://github.com/iovisor/bcc -# 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: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz Patch0: %{name}-%{version}-Manpages-remove-unstable-statement.patch -Patch1: %{name}-%{version}-tools-tcptracer-fix-alignement-in-tcp_ipv6_event_t.patch -Patch2: %{name}-%{version}-sync-with-libbpf-repo.patch -Patch3: %{name}-%{version}-slabratetop-Add-memcg_cache_params-struct-def.patch -Patch4: %{name}-%{version}-tools-include-kasan-header-in-slabtoprate.patch +Patch1: %{name}-%{version}-Fix-BPF-src_file-foo.patch +Patch2: %{name}-%{version}-Define-missing-BPF_-macros.patch # Arches will be included as upstream support is added and dependencies are # satisfied in the respective arches @@ -43,8 +39,10 @@ BuildRequires: pkgconfig(luajit) %endif BuildRequires: libbpf-devel >= 0.0.9, libbpf-static >= 0.0.9 -Requires: %{name}-tools = %{version}-%{release} Requires: libbpf >= 0.0.9 +Requires: tar +Recommends: kernel-devel +Recommends: %{name}-tools = %{version}-%{release} %description BCC is a toolkit for creating efficient kernel tracing and manipulation @@ -100,13 +98,12 @@ Standalone tool to run BCC tracers written in Lua Summary: Command line tools for BPF Compiler Collection (BCC) Requires: python3-%{name} = %{version}-%{release} Requires: python3-netaddr -Requires: kernel-devel %description tools Command line tools for BPF Compiler Collection (BCC) %prep -%autosetup -p1 -n %{name} +%autosetup -p1 %build %cmake . \ @@ -160,14 +157,12 @@ done %license LICENSE.txt %{_libdir}/lib%{name}.so.* %{_libdir}/libbcc_bpf.so.* -%{_libdir}/libbcc-no-libbpf.so.* %files devel %exclude %{_libdir}/lib%{name}*.a %exclude %{_libdir}/lib%{name}*.la %{_libdir}/lib%{name}.so %{_libdir}/libbcc_bpf.so -%{_libdir}/libbcc-no-libbpf.so %{_libdir}/pkgconfig/lib%{name}.pc %{_includedir}/%{name}/ @@ -218,9 +213,19 @@ done %changelog -* Mon Feb 22 2021 Jerome Marchand - 0.16.0-3 -- Fix slabratetop header issues -- Rebuild with latest libbpf +* Fri Jul 02 2021 Jerome Marchand - 0.19.0-4 +- Build bcc from standard sources +- Don't require bcc-tools by default + +* Wed Jun 09 2021 Jerome Marchand - 0.19.0-3 +- Rebuild on LLVM 12 + +* Fri Apr 30 2021 Jerome Marchand - 0.19.0-2 +- Fix BPF src_file. + +* Tue Apr 27 2021 Jerome Marchand - 0.19.0-1 +- Rebased to version 0.19.0 +- Remove hard dependency on kernel-devel * Fri Jan 22 2021 Jerome Marchand - 0.16.0-2 - Build with libbpf package