summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOvidiu Panait <ovidiu.panait@windriver.com>2020-03-03 17:14:52 +0200
committerKhem Raj <raj.khem@gmail.com>2020-03-04 19:31:09 -0800
commit8d8da26055e9f6b61f5a61da7d191c2b54944b33 (patch)
treea356e0335952b37b16436dd7fd52e8a472924b46
parent7deec9d9e294eb976319833793dacdafc0fe45ed (diff)
downloadmeta-clang-8d8da26055e9f6b61f5a61da7d191c2b54944b33.tar.gz
bcc: Replace python3 patch with do_install_append sed
Use sed to replace all occurences of /usr/bin/env python with the python3 variant instead of maintaining a patch that does this. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
-rw-r--r--recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch1695
-rw-r--r--recipes-devtools/bcc/bcc_0.13.0.bb6
2 files changed, 5 insertions, 1696 deletions
diff --git a/recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch b/recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch
deleted file mode 100644
index 7cd4298..0000000
--- a/recipes-devtools/bcc/bcc/0001-BCC-Use-python-3.patch
+++ /dev/null
@@ -1,1695 +0,0 @@
1From 73fa1159a97204c124b3ebd9024c68006f3dfc31 Mon Sep 17 00:00:00 2001
2From: Leo Yan <leo.yan@linaro.org>
3Date: Sat, 22 Feb 2020 16:22:33 +0000
4Subject: [PATCH] BCC: Use python 3
5
6Signed-off-by: Leo Yan <leo.yan@linaro.org>
7---
8 examples/hello_world.py | 2 +-
9 examples/networking/distributed_bridge/main.py | 2 +-
10 examples/networking/distributed_bridge/tunnel.py | 2 +-
11 examples/networking/distributed_bridge/tunnel_mesh.py | 2 +-
12 examples/networking/dns_matching/dns_matching.py | 2 +-
13 examples/networking/http_filter/http-parse-complete.py | 2 +-
14 examples/networking/http_filter/http-parse-simple.py | 2 +-
15 examples/networking/neighbor_sharing/tc_neighbor_sharing.py | 2 +-
16 examples/networking/simple_tc.py | 2 +-
17 examples/networking/tc_perf_event.py | 2 +-
18 examples/networking/tunnel_monitor/main.py | 2 +-
19 examples/networking/tunnel_monitor/monitor.py | 2 +-
20 examples/networking/vlan_filter/data-plane-tracing.py | 2 +-
21 examples/networking/vlan_learning/vlan_learning.py | 2 +-
22 examples/networking/xdp/xdp_drop_count.py | 2 +-
23 examples/networking/xdp/xdp_macswap_count.py | 2 +-
24 examples/networking/xdp/xdp_redirect_cpu.py | 2 +-
25 examples/networking/xdp/xdp_redirect_map.py | 2 +-
26 examples/tracing/bitehist.py | 2 +-
27 examples/tracing/dddos.py | 2 +-
28 examples/tracing/disksnoop.py | 2 +-
29 examples/tracing/hello_fields.py | 2 +-
30 examples/tracing/hello_perf_output.py | 2 +-
31 examples/tracing/kvm_hypercall.py | 2 +-
32 examples/tracing/mallocstacks.py | 2 +-
33 examples/tracing/mysqld_query.py | 2 +-
34 examples/tracing/nodejs_http_server.py | 2 +-
35 examples/tracing/stack_buildid_example.py | 2 +-
36 examples/tracing/stacksnoop.py | 2 +-
37 examples/tracing/strlen_count.py | 2 +-
38 examples/tracing/strlen_hist.py | 2 +-
39 examples/tracing/strlen_snoop.py | 2 +-
40 examples/tracing/sync_timing.py | 2 +-
41 examples/tracing/task_switch.py | 2 +-
42 examples/tracing/tcpv4connect.py | 2 +-
43 examples/tracing/trace_fields.py | 2 +-
44 examples/tracing/trace_perf_output.py | 2 +-
45 examples/tracing/urandomread-explicit.py | 2 +-
46 examples/tracing/urandomread.py | 2 +-
47 examples/tracing/vfsreadlat.py | 2 +-
48 examples/usdt_sample/scripts/lat_avg.py | 2 +-
49 examples/usdt_sample/scripts/lat_dist.py | 2 +-
50 examples/usdt_sample/scripts/latency.py | 2 +-
51 tools/argdist.py | 2 +-
52 tools/bashreadline.py | 2 +-
53 tools/bindsnoop.py | 2 +-
54 tools/biolatency.py | 2 +-
55 tools/biosnoop.py | 2 +-
56 tools/biotop.py | 2 +-
57 tools/bitesize.py | 2 +-
58 tools/bpflist.py | 2 +-
59 tools/btrfsdist.py | 2 +-
60 tools/btrfsslower.py | 2 +-
61 tools/cachestat.py | 2 +-
62 tools/cachetop.py | 2 +-
63 tools/capable.py | 2 +-
64 tools/compactsnoop.py | 2 +-
65 tools/cpudist.py | 2 +-
66 tools/cpuunclaimed.py | 2 +-
67 tools/criticalstat.py | 2 +-
68 tools/dbslower.py | 2 +-
69 tools/dbstat.py | 2 +-
70 tools/dcsnoop.py | 2 +-
71 tools/dcstat.py | 2 +-
72 tools/deadlock.py | 2 +-
73 tools/drsnoop.py | 2 +-
74 tools/execsnoop.py | 2 +-
75 tools/exitsnoop.py | 2 +-
76 tools/ext4dist.py | 2 +-
77 tools/ext4slower.py | 2 +-
78 tools/filelife.py | 2 +-
79 tools/fileslower.py | 2 +-
80 tools/filetop.py | 2 +-
81 tools/funccount.py | 2 +-
82 tools/funclatency.py | 2 +-
83 tools/funcslower.py | 2 +-
84 tools/gethostlatency.py | 2 +-
85 tools/hardirqs.py | 2 +-
86 tools/inject.py | 2 +-
87 tools/killsnoop.py | 2 +-
88 tools/klockstat.py | 2 +-
89 tools/lib/ucalls.py | 2 +-
90 tools/lib/uflow.py | 2 +-
91 tools/lib/ugc.py | 2 +-
92 tools/lib/uobjnew.py | 2 +-
93 tools/lib/ustat.py | 2 +-
94 tools/lib/uthreads.py | 2 +-
95 tools/llcstat.py | 2 +-
96 tools/mdflush.py | 2 +-
97 tools/memleak.py | 2 +-
98 tools/mountsnoop.py | 2 +-
99 tools/mysqld_qslower.py | 2 +-
100 tools/nfsdist.py | 2 +-
101 tools/nfsslower.py | 2 +-
102 tools/offcputime.py | 2 +-
103 tools/offwaketime.py | 2 +-
104 tools/old/bashreadline.py | 2 +-
105 tools/old/biosnoop.py | 2 +-
106 tools/old/compactsnoop.py | 2 +-
107 tools/old/filelife.py | 2 +-
108 tools/old/gethostlatency.py | 2 +-
109 tools/old/killsnoop.py | 2 +-
110 tools/old/memleak.py | 2 +-
111 tools/old/offcputime.py | 2 +-
112 tools/old/offwaketime.py | 2 +-
113 tools/old/oomkill.py | 2 +-
114 tools/old/opensnoop.py | 2 +-
115 tools/old/profile.py | 2 +-
116 tools/old/softirqs.py | 2 +-
117 tools/old/stackcount.py | 2 +-
118 tools/old/stacksnoop.py | 2 +-
119 tools/old/statsnoop.py | 2 +-
120 tools/old/syncsnoop.py | 2 +-
121 tools/old/tcpaccept.py | 2 +-
122 tools/old/tcpconnect.py | 2 +-
123 tools/old/wakeuptime.py | 2 +-
124 tools/oomkill.py | 2 +-
125 tools/opensnoop.py | 2 +-
126 tools/pidpersec.py | 2 +-
127 tools/profile.py | 2 +-
128 tools/runqlat.py | 2 +-
129 tools/runqlen.py | 2 +-
130 tools/runqslower.py | 2 +-
131 tools/shmsnoop.py | 2 +-
132 tools/slabratetop.py | 2 +-
133 tools/sofdsnoop.py | 2 +-
134 tools/softirqs.py | 2 +-
135 tools/solisten.py | 2 +-
136 tools/sslsniff.py | 2 +-
137 tools/stackcount.py | 2 +-
138 tools/statsnoop.py | 2 +-
139 tools/syncsnoop.py | 2 +-
140 tools/syscount.py | 2 +-
141 tools/tcpaccept.py | 2 +-
142 tools/tcpconnect.py | 2 +-
143 tools/tcpconnlat.py | 2 +-
144 tools/tcpdrop.py | 2 +-
145 tools/tcplife.py | 2 +-
146 tools/tcpretrans.py | 2 +-
147 tools/tcpstates.py | 2 +-
148 tools/tcpsubnet.py | 2 +-
149 tools/tcptop.py | 2 +-
150 tools/tcptracer.py | 2 +-
151 tools/tplist.py | 2 +-
152 tools/trace.py | 2 +-
153 tools/ttysnoop.py | 2 +-
154 tools/vfscount.py | 2 +-
155 tools/vfsstat.py | 2 +-
156 tools/wakeuptime.py | 2 +-
157 tools/xfsdist.py | 2 +-
158 tools/xfsslower.py | 2 +-
159 tools/zfsdist.py | 2 +-
160 tools/zfsslower.py | 2 +-
161 153 files changed, 153 insertions(+), 153 deletions(-)
162
163diff --git a/examples/hello_world.py b/examples/hello_world.py
164index bb52f3e7..e36c09b0 100755
165--- a/examples/hello_world.py
166+++ b/examples/hello_world.py
167@@ -1,4 +1,4 @@
168-#!/usr/bin/python
169+#!/usr/bin/python3
170 # Copyright (c) PLUMgrid, Inc.
171 # Licensed under the Apache License, Version 2.0 (the "License")
172
173diff --git a/examples/networking/distributed_bridge/main.py b/examples/networking/distributed_bridge/main.py
174index c72360ea..5cda7dfd 100755
175--- a/examples/networking/distributed_bridge/main.py
176+++ b/examples/networking/distributed_bridge/main.py
177@@ -1,4 +1,4 @@
178-#!/usr/bin/python
179+#!/usr/bin/python3
180 # Copyright (c) PLUMgrid, Inc.
181 # Licensed under the Apache License, Version 2.0 (the "License")
182
183diff --git a/examples/networking/distributed_bridge/tunnel.py b/examples/networking/distributed_bridge/tunnel.py
184index 11b59f06..2f7905c9 100755
185--- a/examples/networking/distributed_bridge/tunnel.py
186+++ b/examples/networking/distributed_bridge/tunnel.py
187@@ -1,4 +1,4 @@
188-#!/usr/bin/python
189+#!/usr/bin/python3
190 # Copyright (c) PLUMgrid, Inc.
191 # Licensed under the Apache License, Version 2.0 (the "License")
192
193diff --git a/examples/networking/distributed_bridge/tunnel_mesh.py b/examples/networking/distributed_bridge/tunnel_mesh.py
194index 54ecfcd8..a83330bb 100644
195--- a/examples/networking/distributed_bridge/tunnel_mesh.py
196+++ b/examples/networking/distributed_bridge/tunnel_mesh.py
197@@ -1,4 +1,4 @@
198-#!/usr/bin/python
199+#!/usr/bin/python3
200 # Copyright (c) PLUMgrid, Inc.
201 # Licensed under the Apache License, Version 2.0 (the "License")
202
203diff --git a/examples/networking/dns_matching/dns_matching.py b/examples/networking/dns_matching/dns_matching.py
204index 943dca59..47d99453 100755
205--- a/examples/networking/dns_matching/dns_matching.py
206+++ b/examples/networking/dns_matching/dns_matching.py
207@@ -1,4 +1,4 @@
208-#!/usr/bin/python
209+#!/usr/bin/python3
210
211 from __future__ import print_function
212 from bcc import BPF
213diff --git a/examples/networking/http_filter/http-parse-complete.py b/examples/networking/http_filter/http-parse-complete.py
214index 0f995105..e6c68690 100644
215--- a/examples/networking/http_filter/http-parse-complete.py
216+++ b/examples/networking/http_filter/http-parse-complete.py
217@@ -1,4 +1,4 @@
218-#!/usr/bin/python
219+#!/usr/bin/python3
220 #
221 #Bertrone Matteo - Polytechnic of Turin
222 #November 2015
223diff --git a/examples/networking/http_filter/http-parse-simple.py b/examples/networking/http_filter/http-parse-simple.py
224index b702393d..78745ee2 100644
225--- a/examples/networking/http_filter/http-parse-simple.py
226+++ b/examples/networking/http_filter/http-parse-simple.py
227@@ -1,4 +1,4 @@
228-#!/usr/bin/python
229+#!/usr/bin/python3
230 #
231 #Bertrone Matteo - Polytechnic of Turin
232 #November 2015
233diff --git a/examples/networking/neighbor_sharing/tc_neighbor_sharing.py b/examples/networking/neighbor_sharing/tc_neighbor_sharing.py
234index 8d13c43f..6c071791 100755
235--- a/examples/networking/neighbor_sharing/tc_neighbor_sharing.py
236+++ b/examples/networking/neighbor_sharing/tc_neighbor_sharing.py
237@@ -1,4 +1,4 @@
238-#!/usr/bin/python
239+#!/usr/bin/python3
240 # Copyright (c) PLUMgrid, Inc.
241 # Licensed under the Apache License, Version 2.0 (the "License")
242
243diff --git a/examples/networking/simple_tc.py b/examples/networking/simple_tc.py
244index 38180132..1d42fa95 100755
245--- a/examples/networking/simple_tc.py
246+++ b/examples/networking/simple_tc.py
247@@ -1,4 +1,4 @@
248-#!/usr/bin/python
249+#!/usr/bin/python3
250 # Copyright (c) PLUMgrid, Inc.
251 # Licensed under the Apache License, Version 2.0 (the "License")
252
253diff --git a/examples/networking/tc_perf_event.py b/examples/networking/tc_perf_event.py
254index 99f0e9eb..188acd19 100755
255--- a/examples/networking/tc_perf_event.py
256+++ b/examples/networking/tc_perf_event.py
257@@ -1,4 +1,4 @@
258-#!/usr/bin/python
259+#!/usr/bin/python3
260 #
261 # tc_perf_event.py Output skb and meta data through perf event
262 #
263diff --git a/examples/networking/tunnel_monitor/main.py b/examples/networking/tunnel_monitor/main.py
264index 7d3acb8e..60978f69 100755
265--- a/examples/networking/tunnel_monitor/main.py
266+++ b/examples/networking/tunnel_monitor/main.py
267@@ -1,4 +1,4 @@
268-#!/usr/bin/python
269+#!/usr/bin/python3
270 # Copyright (c) PLUMgrid, Inc.
271 # Licensed under the Apache License, Version 2.0 (the "License")
272
273diff --git a/examples/networking/tunnel_monitor/monitor.py b/examples/networking/tunnel_monitor/monitor.py
274index fb3613ee..24792fcd 100644
275--- a/examples/networking/tunnel_monitor/monitor.py
276+++ b/examples/networking/tunnel_monitor/monitor.py
277@@ -1,4 +1,4 @@
278-#!/usr/bin/python
279+#!/usr/bin/python3
280 # Copyright (c) PLUMgrid, Inc.
281 # Licensed under the Apache License, Version 2.0 (the "License")
282
283diff --git a/examples/networking/vlan_filter/data-plane-tracing.py b/examples/networking/vlan_filter/data-plane-tracing.py
284index efaa7f10..37cd0aef 100755
285--- a/examples/networking/vlan_filter/data-plane-tracing.py
286+++ b/examples/networking/vlan_filter/data-plane-tracing.py
287@@ -1,4 +1,4 @@
288-#!/usr/bin/python
289+#!/usr/bin/python3
290 from __future__ import print_function
291 from bcc import BPF
292
293diff --git a/examples/networking/vlan_learning/vlan_learning.py b/examples/networking/vlan_learning/vlan_learning.py
294index 7229176a..a814ec88 100755
295--- a/examples/networking/vlan_learning/vlan_learning.py
296+++ b/examples/networking/vlan_learning/vlan_learning.py
297@@ -1,4 +1,4 @@
298-#!/usr/bin/python
299+#!/usr/bin/python3
300 # Copyright (c) PLUMgrid, Inc.
301 # Licensed under the Apache License, Version 2.0 (the "License")
302
303diff --git a/examples/networking/xdp/xdp_drop_count.py b/examples/networking/xdp/xdp_drop_count.py
304index f03273e9..5273e658 100755
305--- a/examples/networking/xdp/xdp_drop_count.py
306+++ b/examples/networking/xdp/xdp_drop_count.py
307@@ -1,4 +1,4 @@
308-#!/usr/bin/python
309+#!/usr/bin/python3
310 #
311 # xdp_drop_count.py Drop incoming packets on XDP layer and count for which
312 # protocol type
313diff --git a/examples/networking/xdp/xdp_macswap_count.py b/examples/networking/xdp/xdp_macswap_count.py
314index 0e2b21ca..dcd8cf83 100755
315--- a/examples/networking/xdp/xdp_macswap_count.py
316+++ b/examples/networking/xdp/xdp_macswap_count.py
317@@ -1,4 +1,4 @@
318-#!/usr/bin/python
319+#!/usr/bin/python3
320 #
321 # xdp_macswap_count.py Swap Source and Destination MAC addresses on
322 # incoming packets and transmit packets back on
323diff --git a/examples/networking/xdp/xdp_redirect_cpu.py b/examples/networking/xdp/xdp_redirect_cpu.py
324index 15b0d09b..18d643a6 100755
325--- a/examples/networking/xdp/xdp_redirect_cpu.py
326+++ b/examples/networking/xdp/xdp_redirect_cpu.py
327@@ -1,4 +1,4 @@
328-#!/usr/bin/python
329+#!/usr/bin/python3
330 #
331 # xdp_redirect_cpu.py Redirect the incoming packet to the specific CPU
332 #
333diff --git a/examples/networking/xdp/xdp_redirect_map.py b/examples/networking/xdp/xdp_redirect_map.py
334index 4a622723..d1d2a043 100755
335--- a/examples/networking/xdp/xdp_redirect_map.py
336+++ b/examples/networking/xdp/xdp_redirect_map.py
337@@ -1,4 +1,4 @@
338-#!/usr/bin/python
339+#!/usr/bin/python3
340 #
341 # xdp_redirect_map.py Redirect the incoming packet to another interface
342 # with the helper: bpf_redirect_map()
343diff --git a/examples/tracing/bitehist.py b/examples/tracing/bitehist.py
344index 4d7c7958..ea793f94 100755
345--- a/examples/tracing/bitehist.py
346+++ b/examples/tracing/bitehist.py
347@@ -1,4 +1,4 @@
348-#!/usr/bin/python
349+#!/usr/bin/python3
350 #
351 # bitehist.py Block I/O size histogram.
352 # For Linux, uses BCC, eBPF. Embedded C.
353diff --git a/examples/tracing/dddos.py b/examples/tracing/dddos.py
354index 09e9f6d8..30856260 100755
355--- a/examples/tracing/dddos.py
356+++ b/examples/tracing/dddos.py
357@@ -1,4 +1,4 @@
358-#!/usr/bin/python
359+#!/usr/bin/python3
360 #
361 # dddos.py DDOS dectection system.
362 #
363diff --git a/examples/tracing/disksnoop.py b/examples/tracing/disksnoop.py
364index 1101e6f2..433593f0 100755
365--- a/examples/tracing/disksnoop.py
366+++ b/examples/tracing/disksnoop.py
367@@ -1,4 +1,4 @@
368-#!/usr/bin/python
369+#!/usr/bin/python3
370 #
371 # disksnoop.py Trace block device I/O: basic version of iosnoop.
372 # For Linux, uses BCC, eBPF. Embedded C.
373diff --git a/examples/tracing/hello_fields.py b/examples/tracing/hello_fields.py
374index 9ed6da5d..a5940560 100755
375--- a/examples/tracing/hello_fields.py
376+++ b/examples/tracing/hello_fields.py
377@@ -1,4 +1,4 @@
378-#!/usr/bin/python
379+#!/usr/bin/python3
380 #
381 # This is a Hello World example that formats output as fields.
382
383diff --git a/examples/tracing/hello_perf_output.py b/examples/tracing/hello_perf_output.py
384index fdc74deb..ba1972c5 100755
385--- a/examples/tracing/hello_perf_output.py
386+++ b/examples/tracing/hello_perf_output.py
387@@ -1,4 +1,4 @@
388-#!/usr/bin/python
389+#!/usr/bin/python3
390 #
391 # This is a Hello World example that uses BPF_PERF_OUTPUT.
392
393diff --git a/examples/tracing/kvm_hypercall.py b/examples/tracing/kvm_hypercall.py
394index 5f1d3d7a..4573ed3c 100755
395--- a/examples/tracing/kvm_hypercall.py
396+++ b/examples/tracing/kvm_hypercall.py
397@@ -1,4 +1,4 @@
398-#!/usr/bin/python
399+#!/usr/bin/python3
400 #
401 # kvm_hypercall.py
402 #
403diff --git a/examples/tracing/mallocstacks.py b/examples/tracing/mallocstacks.py
404index 4b10e6c2..e89b09f6 100755
405--- a/examples/tracing/mallocstacks.py
406+++ b/examples/tracing/mallocstacks.py
407@@ -1,4 +1,4 @@
408-#!/usr/bin/python
409+#!/usr/bin/python3
410 #
411 # mallocstacks Trace malloc() calls in a process and print the full
412 # stack trace for all callsites.
413diff --git a/examples/tracing/mysqld_query.py b/examples/tracing/mysqld_query.py
414index ace07150..291b16b0 100755
415--- a/examples/tracing/mysqld_query.py
416+++ b/examples/tracing/mysqld_query.py
417@@ -1,4 +1,4 @@
418-#!/usr/bin/python
419+#!/usr/bin/python3
420 #
421 # mysqld_query Trace MySQL server queries. Example of USDT tracing.
422 # For Linux, uses BCC, BPF. Embedded C.
423diff --git a/examples/tracing/nodejs_http_server.py b/examples/tracing/nodejs_http_server.py
424index a86ca956..b38b42f1 100755
425--- a/examples/tracing/nodejs_http_server.py
426+++ b/examples/tracing/nodejs_http_server.py
427@@ -1,4 +1,4 @@
428-#!/usr/bin/python
429+#!/usr/bin/python3
430 #
431 # nodejs_http_server Basic example of node.js USDT tracing.
432 # For Linux, uses BCC, BPF. Embedded C.
433diff --git a/examples/tracing/stack_buildid_example.py b/examples/tracing/stack_buildid_example.py
434index 706d7507..6fae0851 100755
435--- a/examples/tracing/stack_buildid_example.py
436+++ b/examples/tracing/stack_buildid_example.py
437@@ -1,4 +1,4 @@
438-#!/usr/bin/python
439+#!/usr/bin/python3
440 #
441 # An example usage of stack_build_id
442 # Most of the code here is borrowed from tools/profile.py
443diff --git a/examples/tracing/stacksnoop.py b/examples/tracing/stacksnoop.py
444index 8a68e69b..d6b19789 100755
445--- a/examples/tracing/stacksnoop.py
446+++ b/examples/tracing/stacksnoop.py
447@@ -1,4 +1,4 @@
448-#!/usr/bin/python
449+#!/usr/bin/python3
450 #
451 # stacksnoop Trace a kernel function and print all kernel stack traces.
452 # For Linux, uses BCC, eBPF, and currently x86_64 only. Inline C.
453diff --git a/examples/tracing/strlen_count.py b/examples/tracing/strlen_count.py
454index f1bb1b7e..df525305 100755
455--- a/examples/tracing/strlen_count.py
456+++ b/examples/tracing/strlen_count.py
457@@ -1,4 +1,4 @@
458-#!/usr/bin/python
459+#!/usr/bin/python3
460 #
461 # strlen_count Trace strlen() and print a frequency count of strings.
462 # For Linux, uses BCC, eBPF. Embedded C.
463diff --git a/examples/tracing/strlen_hist.py b/examples/tracing/strlen_hist.py
464index dda1cb23..fce4df06 100755
465--- a/examples/tracing/strlen_hist.py
466+++ b/examples/tracing/strlen_hist.py
467@@ -1,4 +1,4 @@
468-#!/usr/bin/python
469+#!/usr/bin/python3
470
471 #
472 # strlen_hist.py Histogram of system-wide strlen return values
473diff --git a/examples/tracing/strlen_snoop.py b/examples/tracing/strlen_snoop.py
474index c3c7199e..d4331b51 100755
475--- a/examples/tracing/strlen_snoop.py
476+++ b/examples/tracing/strlen_snoop.py
477@@ -1,4 +1,4 @@
478-#!/usr/bin/python
479+#!/usr/bin/python3
480 #
481 # strlen_snoop Trace strlen() library function for a given PID.
482 # For Linux, uses BCC, eBPF. Embedded C.
483diff --git a/examples/tracing/sync_timing.py b/examples/tracing/sync_timing.py
484index 1d89ce55..8dd90c4f 100755
485--- a/examples/tracing/sync_timing.py
486+++ b/examples/tracing/sync_timing.py
487@@ -1,4 +1,4 @@
488-#!/usr/bin/python
489+#!/usr/bin/python3
490 #
491 # sync_timing.py Trace time between syncs.
492 # For Linux, uses BCC, eBPF. Embedded C.
493diff --git a/examples/tracing/task_switch.py b/examples/tracing/task_switch.py
494index 43a4f3f8..6db5ada7 100755
495--- a/examples/tracing/task_switch.py
496+++ b/examples/tracing/task_switch.py
497@@ -1,4 +1,4 @@
498-#!/usr/bin/python
499+#!/usr/bin/python3
500 # Copyright (c) PLUMgrid, Inc.
501 # Licensed under the Apache License, Version 2.0 (the "License")
502
503diff --git a/examples/tracing/tcpv4connect.py b/examples/tracing/tcpv4connect.py
504index 26d93763..56e2a61c 100755
505--- a/examples/tracing/tcpv4connect.py
506+++ b/examples/tracing/tcpv4connect.py
507@@ -1,4 +1,4 @@
508-#!/usr/bin/python
509+#!/usr/bin/python3
510 #
511 # tcpv4connect Trace TCP IPv4 connect()s.
512 # For Linux, uses BCC, eBPF. Embedded C.
513diff --git a/examples/tracing/trace_fields.py b/examples/tracing/trace_fields.py
514index 1c5beef2..a8b64686 100755
515--- a/examples/tracing/trace_fields.py
516+++ b/examples/tracing/trace_fields.py
517@@ -1,4 +1,4 @@
518-#!/usr/bin/python
519+#!/usr/bin/python3
520 # Copyright (c) PLUMgrid, Inc.
521 # Licensed under the Apache License, Version 2.0 (the "License")
522
523diff --git a/examples/tracing/trace_perf_output.py b/examples/tracing/trace_perf_output.py
524index 635be129..5a58df53 100755
525--- a/examples/tracing/trace_perf_output.py
526+++ b/examples/tracing/trace_perf_output.py
527@@ -1,4 +1,4 @@
528-#!/usr/bin/python
529+#!/usr/bin/python3
530 # Copyright (c) PLUMgrid, Inc.
531 # Licensed under the Apache License, Version 2.0 (the "License")
532
533diff --git a/examples/tracing/urandomread-explicit.py b/examples/tracing/urandomread-explicit.py
534index 9291402b..91f8d5fe 100755
535--- a/examples/tracing/urandomread-explicit.py
536+++ b/examples/tracing/urandomread-explicit.py
537@@ -1,4 +1,4 @@
538-#!/usr/bin/python
539+#!/usr/bin/python3
540 #
541 # urandomread-explicit Example of instrumenting a kernel tracepoint.
542 # For Linux, uses BCC, BPF. Embedded C.
543diff --git a/examples/tracing/urandomread.py b/examples/tracing/urandomread.py
544index 69bcf8d1..11424f0b 100755
545--- a/examples/tracing/urandomread.py
546+++ b/examples/tracing/urandomread.py
547@@ -1,4 +1,4 @@
548-#!/usr/bin/python
549+#!/usr/bin/python3
550 #
551 # urandomread Example of instrumenting a kernel tracepoint.
552 # For Linux, uses BCC, BPF. Embedded C.
553diff --git a/examples/tracing/vfsreadlat.py b/examples/tracing/vfsreadlat.py
554index b2c4156e..531e149a 100755
555--- a/examples/tracing/vfsreadlat.py
556+++ b/examples/tracing/vfsreadlat.py
557@@ -1,4 +1,4 @@
558-#!/usr/bin/python
559+#!/usr/bin/python3
560 #
561 # vfsreadlat.py VFS read latency distribution.
562 # For Linux, uses BCC, eBPF. See .c file.
563diff --git a/examples/usdt_sample/scripts/lat_avg.py b/examples/usdt_sample/scripts/lat_avg.py
564index 7c72e211..b968444b 100755
565--- a/examples/usdt_sample/scripts/lat_avg.py
566+++ b/examples/usdt_sample/scripts/lat_avg.py
567@@ -1,4 +1,4 @@
568-#!/usr/bin/python
569+#!/usr/bin/python3
570 import argparse
571 from time import sleep, strftime
572 from sys import argv
573diff --git a/examples/usdt_sample/scripts/lat_dist.py b/examples/usdt_sample/scripts/lat_dist.py
574index 782c960b..f9a36346 100755
575--- a/examples/usdt_sample/scripts/lat_dist.py
576+++ b/examples/usdt_sample/scripts/lat_dist.py
577@@ -1,4 +1,4 @@
578-#!/usr/bin/python
579+#!/usr/bin/python3
580 import argparse
581 from time import sleep, strftime
582 from sys import argv
583diff --git a/examples/usdt_sample/scripts/latency.py b/examples/usdt_sample/scripts/latency.py
584index 8a7ec08c..4e72e50c 100755
585--- a/examples/usdt_sample/scripts/latency.py
586+++ b/examples/usdt_sample/scripts/latency.py
587@@ -1,4 +1,4 @@
588-#!/usr/bin/python
589+#!/usr/bin/python3
590 import argparse
591 from time import sleep
592 from sys import argv
593diff --git a/tools/argdist.py b/tools/argdist.py
594index 695b5b3c..b6574987 100755
595--- a/tools/argdist.py
596+++ b/tools/argdist.py
597@@ -1,4 +1,4 @@
598-#!/usr/bin/python
599+#!/usr/bin/python3
600 #
601 # argdist Trace a function and display a distribution of its
602 # parameter values as a histogram or frequency count.
603diff --git a/tools/bashreadline.py b/tools/bashreadline.py
604index b7d98272..4a01e50d 100755
605--- a/tools/bashreadline.py
606+++ b/tools/bashreadline.py
607@@ -1,4 +1,4 @@
608-#!/usr/bin/python
609+#!/usr/bin/python3
610 #
611 # bashreadline Print entered bash commands from all running shells.
612 # For Linux, uses BCC, eBPF. Embedded C.
613diff --git a/tools/bindsnoop.py b/tools/bindsnoop.py
614index 4d3133fc..41da267b 100755
615--- a/tools/bindsnoop.py
616+++ b/tools/bindsnoop.py
617@@ -1,4 +1,4 @@
618-#!/usr/bin/python
619+#!/usr/bin/python3
620 #
621 # bindsnoop Trace IPv4 and IPv6 binds()s.
622 # For Linux, uses BCC, eBPF. Embedded C.
623diff --git a/tools/biolatency.py b/tools/biolatency.py
624index 86d99437..f9abfd8b 100755
625--- a/tools/biolatency.py
626+++ b/tools/biolatency.py
627@@ -1,4 +1,4 @@
628-#!/usr/bin/python
629+#!/usr/bin/python3
630 # @lint-avoid-python-3-compatibility-imports
631 #
632 # biolatency Summarize block device I/O latency as a histogram.
633diff --git a/tools/biosnoop.py b/tools/biosnoop.py
634index e6f708fa..87d507e6 100755
635--- a/tools/biosnoop.py
636+++ b/tools/biosnoop.py
637@@ -1,4 +1,4 @@
638-#!/usr/bin/python
639+#!/usr/bin/python3
640 # @lint-avoid-python-3-compatibility-imports
641 #
642 # biosnoop Trace block device I/O and print details including issuing PID.
643diff --git a/tools/biotop.py b/tools/biotop.py
644index cad3759a..f13edf62 100755
645--- a/tools/biotop.py
646+++ b/tools/biotop.py
647@@ -1,4 +1,4 @@
648-#!/usr/bin/python
649+#!/usr/bin/python3
650 # @lint-avoid-python-3-compatibility-imports
651 #
652 # biotop block device (disk) I/O by process.
653diff --git a/tools/bitesize.py b/tools/bitesize.py
654index f4cea7cd..569630af 100755
655--- a/tools/bitesize.py
656+++ b/tools/bitesize.py
657@@ -1,4 +1,4 @@
658-#!/usr/bin/python
659+#!/usr/bin/python3
660 #
661 # bitehist.py Block I/O size histogram.
662 # For Linux, uses BCC, eBPF. See .c file.
663diff --git a/tools/bpflist.py b/tools/bpflist.py
664index 2d9793e6..3d14248f 100755
665--- a/tools/bpflist.py
666+++ b/tools/bpflist.py
667@@ -1,4 +1,4 @@
668-#!/usr/bin/python
669+#!/usr/bin/python3
670 #
671 # bpflist Display processes currently using BPF programs and maps,
672 # pinned BPF programs and maps, and enabled probes.
673diff --git a/tools/btrfsdist.py b/tools/btrfsdist.py
674index 4659ab46..92cb1cb0 100755
675--- a/tools/btrfsdist.py
676+++ b/tools/btrfsdist.py
677@@ -1,4 +1,4 @@
678-#!/usr/bin/python
679+#!/usr/bin/python3
680 # @lint-avoid-python-3-compatibility-imports
681 #
682 # btrfsdist Summarize btrfs operation latency.
683diff --git a/tools/btrfsslower.py b/tools/btrfsslower.py
684index b30880a7..e34c0d64 100755
685--- a/tools/btrfsslower.py
686+++ b/tools/btrfsslower.py
687@@ -1,4 +1,4 @@
688-#!/usr/bin/python
689+#!/usr/bin/python3
690 # @lint-avoid-python-3-compatibility-imports
691 #
692 # btrfsslower Trace slow btrfs operations.
693diff --git a/tools/cachestat.py b/tools/cachestat.py
694index bb949493..a83e6615 100755
695--- a/tools/cachestat.py
696+++ b/tools/cachestat.py
697@@ -1,4 +1,4 @@
698-#!/usr/bin/python
699+#!/usr/bin/python3
700 #
701 # cachestat Count cache kernel function calls.
702 # For Linux, uses BCC, eBPF. See .c file.
703diff --git a/tools/cachetop.py b/tools/cachetop.py
704index 00b11a8c..bc793794 100755
705--- a/tools/cachetop.py
706+++ b/tools/cachetop.py
707@@ -1,4 +1,4 @@
708-#!/usr/bin/python
709+#!/usr/bin/python3
710 # @lint-avoid-python-3-compatibility-imports
711 #
712 # cachetop Count cache kernel function calls per processes
713diff --git a/tools/capable.py b/tools/capable.py
714index 69fef3de..324bdb1b 100755
715--- a/tools/capable.py
716+++ b/tools/capable.py
717@@ -1,4 +1,4 @@
718-#!/usr/bin/python
719+#!/usr/bin/python3
720 # @lint-avoid-python-3-compatibility-imports
721 #
722 # capable Trace security capabilitiy checks (cap_capable()).
723diff --git a/tools/compactsnoop.py b/tools/compactsnoop.py
724index 7f9ce7ee..3a43e1f2 100755
725--- a/tools/compactsnoop.py
726+++ b/tools/compactsnoop.py
727@@ -1,4 +1,4 @@
728-#!/usr/bin/python
729+#!/usr/bin/python3
730 # @lint-avoid-python-3-compatibility-imports
731 #
732 # compactsnoop Trace compact zone and print details including issuing PID.
733diff --git a/tools/cpudist.py b/tools/cpudist.py
734index 4e549ac4..663d2b87 100755
735--- a/tools/cpudist.py
736+++ b/tools/cpudist.py
737@@ -1,4 +1,4 @@
738-#!/usr/bin/python
739+#!/usr/bin/python3
740 # @lint-avoid-python-3-compatibility-imports
741 #
742 # cpudist Summarize on- and off-CPU time per task as a histogram.
743diff --git a/tools/cpuunclaimed.py b/tools/cpuunclaimed.py
744index dc0f3252..aecab249 100755
745--- a/tools/cpuunclaimed.py
746+++ b/tools/cpuunclaimed.py
747@@ -1,4 +1,4 @@
748-#!/usr/bin/python
749+#!/usr/bin/python3
750 # @lint-avoid-python-3-compatibility-imports
751 #
752 # cpuunclaimed Sample CPU run queues and calculate unclaimed idle CPU.
753diff --git a/tools/criticalstat.py b/tools/criticalstat.py
754index 250cfc4d..9b45ef2b 100755
755--- a/tools/criticalstat.py
756+++ b/tools/criticalstat.py
757@@ -1,4 +1,4 @@
758-#!/usr/bin/python
759+#!/usr/bin/python3
760 # @lint-avoid-python-3-compatibility-imports
761 #
762 # criticalstat Trace long critical sections (IRQs or preemption disabled)
763diff --git a/tools/dbslower.py b/tools/dbslower.py
764index 2f1b6a8b..17bd3842 100755
765--- a/tools/dbslower.py
766+++ b/tools/dbslower.py
767@@ -1,4 +1,4 @@
768-#!/usr/bin/python
769+#!/usr/bin/python3
770 #
771 # dbslower Trace MySQL and PostgreSQL queries slower than a threshold.
772 #
773diff --git a/tools/dbstat.py b/tools/dbstat.py
774index a89b0971..f8c612fa 100755
775--- a/tools/dbstat.py
776+++ b/tools/dbstat.py
777@@ -1,4 +1,4 @@
778-#!/usr/bin/python
779+#!/usr/bin/python3
780 #
781 # dbstat Display a histogram of MySQL and PostgreSQL query latencies.
782 #
783diff --git a/tools/dcsnoop.py b/tools/dcsnoop.py
784index 331ee30e..3f902883 100755
785--- a/tools/dcsnoop.py
786+++ b/tools/dcsnoop.py
787@@ -1,4 +1,4 @@
788-#!/usr/bin/python
789+#!/usr/bin/python3
790 # @lint-avoid-python-3-compatibility-imports
791 #
792 # dcsnoop Trace directory entry cache (dcache) lookups.
793diff --git a/tools/dcstat.py b/tools/dcstat.py
794index 5ecddd1a..d2db8d41 100755
795--- a/tools/dcstat.py
796+++ b/tools/dcstat.py
797@@ -1,4 +1,4 @@
798-#!/usr/bin/python
799+#!/usr/bin/python3
800 # @lint-avoid-python-3-compatibility-imports
801 #
802 # dcstat Directory entry cache (dcache) stats.
803diff --git a/tools/deadlock.py b/tools/deadlock.py
804index 17848720..e767759a 100755
805--- a/tools/deadlock.py
806+++ b/tools/deadlock.py
807@@ -1,4 +1,4 @@
808-#!/usr/bin/python
809+#!/usr/bin/python3
810 #
811 # deadlock Detects potential deadlocks (lock order inversions)
812 # on a running process. For Linux, uses BCC, eBPF.
813diff --git a/tools/drsnoop.py b/tools/drsnoop.py
814index c77f5206..c640b3d6 100755
815--- a/tools/drsnoop.py
816+++ b/tools/drsnoop.py
817@@ -1,4 +1,4 @@
818-#!/usr/bin/python
819+#!/usr/bin/python3
820 # @lint-avoid-python-3-compatibility-imports
821 #
822 # drsnoop Trace direct reclaim and print details including issuing PID.
823diff --git a/tools/execsnoop.py b/tools/execsnoop.py
824index 57dfab29..fe35ea85 100755
825--- a/tools/execsnoop.py
826+++ b/tools/execsnoop.py
827@@ -1,4 +1,4 @@
828-#!/usr/bin/python
829+#!/usr/bin/python3
830 # @lint-avoid-python-3-compatibility-imports
831 #
832 # execsnoop Trace new processes via exec() syscalls.
833diff --git a/tools/exitsnoop.py b/tools/exitsnoop.py
834index 13a1444c..5c37fc83 100755
835--- a/tools/exitsnoop.py
836+++ b/tools/exitsnoop.py
837@@ -1,4 +1,4 @@
838-#!/usr/bin/python
839+#!/usr/bin/python3
840 # @lint-avoid-python-3-compatibility-imports
841 from __future__ import print_function
842
843diff --git a/tools/ext4dist.py b/tools/ext4dist.py
844index 384a4c14..b1d70e10 100755
845--- a/tools/ext4dist.py
846+++ b/tools/ext4dist.py
847@@ -1,4 +1,4 @@
848-#!/usr/bin/python
849+#!/usr/bin/python3
850 # @lint-avoid-python-3-compatibility-imports
851 #
852 # ext4dist Summarize ext4 operation latency.
853diff --git a/tools/ext4slower.py b/tools/ext4slower.py
854index 0524f22e..fa245ec6 100755
855--- a/tools/ext4slower.py
856+++ b/tools/ext4slower.py
857@@ -1,4 +1,4 @@
858-#!/usr/bin/python
859+#!/usr/bin/python3
860 # @lint-avoid-python-3-compatibility-imports
861 #
862 # ext4slower Trace slow ext4 operations.
863diff --git a/tools/filelife.py b/tools/filelife.py
864index 2eb4244b..47ebb8f7 100755
865--- a/tools/filelife.py
866+++ b/tools/filelife.py
867@@ -1,4 +1,4 @@
868-#!/usr/bin/python
869+#!/usr/bin/python3
870 # @lint-avoid-python-3-compatibility-imports
871 #
872 # filelife Trace the lifespan of short-lived files.
873diff --git a/tools/fileslower.py b/tools/fileslower.py
874index 31e3adf9..2a564045 100755
875--- a/tools/fileslower.py
876+++ b/tools/fileslower.py
877@@ -1,4 +1,4 @@
878-#!/usr/bin/python
879+#!/usr/bin/python3
880 # @lint-avoid-python-3-compatibility-imports
881 #
882 # fileslower Trace slow synchronous file reads and writes.
883diff --git a/tools/filetop.py b/tools/filetop.py
884index dbe7a7da..1bb703e7 100755
885--- a/tools/filetop.py
886+++ b/tools/filetop.py
887@@ -1,4 +1,4 @@
888-#!/usr/bin/python
889+#!/usr/bin/python3
890 # @lint-avoid-python-3-compatibility-imports
891 #
892 # filetop file reads and writes by process.
893diff --git a/tools/funccount.py b/tools/funccount.py
894index 69dd01c8..8c98461a 100755
895--- a/tools/funccount.py
896+++ b/tools/funccount.py
897@@ -1,4 +1,4 @@
898-#!/usr/bin/python
899+#!/usr/bin/python3
900 # @lint-avoid-python-3-compatibility-imports
901 #
902 # funccount Count functions, tracepoints, and USDT probes.
903diff --git a/tools/funclatency.py b/tools/funclatency.py
904index 3f08a7e0..0818eaf3 100755
905--- a/tools/funclatency.py
906+++ b/tools/funclatency.py
907@@ -1,4 +1,4 @@
908-#!/usr/bin/python
909+#!/usr/bin/python3
910 # @lint-avoid-python-3-compatibility-imports
911 #
912 # funclatency Time functions and print latency as a histogram.
913diff --git a/tools/funcslower.py b/tools/funcslower.py
914index bda6a844..f9d12c57 100755
915--- a/tools/funcslower.py
916+++ b/tools/funcslower.py
917@@ -1,4 +1,4 @@
918-#!/usr/bin/python
919+#!/usr/bin/python3
920 # @lint-avoid-python-3-compatibility-imports
921 #
922 # funcslower Trace slow kernel or user function calls.
923diff --git a/tools/gethostlatency.py b/tools/gethostlatency.py
924index f7506a86..b13b3645 100755
925--- a/tools/gethostlatency.py
926+++ b/tools/gethostlatency.py
927@@ -1,4 +1,4 @@
928-#!/usr/bin/python
929+#!/usr/bin/python3
930 #
931 # gethostlatency Show latency for getaddrinfo/gethostbyname[2] calls.
932 # For Linux, uses BCC, eBPF. Embedded C.
933diff --git a/tools/hardirqs.py b/tools/hardirqs.py
934index 589a890d..02bddc79 100755
935--- a/tools/hardirqs.py
936+++ b/tools/hardirqs.py
937@@ -1,4 +1,4 @@
938-#!/usr/bin/python
939+#!/usr/bin/python3
940 # @lint-avoid-python-3-compatibility-imports
941 #
942 # hardirqs Summarize hard IRQ (interrupt) event time.
943diff --git a/tools/inject.py b/tools/inject.py
944index 9d6b85f8..c9ebec9f 100755
945--- a/tools/inject.py
946+++ b/tools/inject.py
947@@ -1,4 +1,4 @@
948-#!/usr/bin/python
949+#!/usr/bin/python3
950 #
951 # This script generates a BPF program with structure inspired by trace.py. The
952 # generated program operates on PID-indexed stacks. Generally speaking,
953diff --git a/tools/killsnoop.py b/tools/killsnoop.py
954index 2fb1dcb5..8439a539 100755
955--- a/tools/killsnoop.py
956+++ b/tools/killsnoop.py
957@@ -1,4 +1,4 @@
958-#!/usr/bin/python
959+#!/usr/bin/python3
960 # @lint-avoid-python-3-compatibility-imports
961 #
962 # killsnoop Trace signals issued by the kill() syscall.
963diff --git a/tools/klockstat.py b/tools/klockstat.py
964index e2047880..80278638 100755
965--- a/tools/klockstat.py
966+++ b/tools/klockstat.py
967@@ -1,4 +1,4 @@
968-#!/usr/bin/python
969+#!/usr/bin/python3
970 #
971 # klockstat traces lock events and display locks statistics.
972 #
973diff --git a/tools/lib/ucalls.py b/tools/lib/ucalls.py
974index 307df252..75b185d5 100755
975--- a/tools/lib/ucalls.py
976+++ b/tools/lib/ucalls.py
977@@ -1,4 +1,4 @@
978-#!/usr/bin/python
979+#!/usr/bin/python3
980 # @lint-avoid-python-3-compatibility-imports
981 #
982 # ucalls Summarize method calls in high-level languages and/or system calls.
983diff --git a/tools/lib/uflow.py b/tools/lib/uflow.py
984index 4779ba2c..7c64cdde 100755
985--- a/tools/lib/uflow.py
986+++ b/tools/lib/uflow.py
987@@ -1,4 +1,4 @@
988-#!/usr/bin/python
989+#!/usr/bin/python3
990 # @lint-avoid-python-3-compatibility-imports
991 #
992 # uflow Trace method execution flow in high-level languages.
993diff --git a/tools/lib/ugc.py b/tools/lib/ugc.py
994index 8841d5fa..4cbdbcc1 100755
995--- a/tools/lib/ugc.py
996+++ b/tools/lib/ugc.py
997@@ -1,4 +1,4 @@
998-#!/usr/bin/python
999+#!/usr/bin/python3
1000 # @lint-avoid-python-3-compatibility-imports
1001 #
1002 # ugc Summarize garbage collection events in high-level languages.
1003diff --git a/tools/lib/uobjnew.py b/tools/lib/uobjnew.py
1004index b8eed0f7..acff495c 100755
1005--- a/tools/lib/uobjnew.py
1006+++ b/tools/lib/uobjnew.py
1007@@ -1,4 +1,4 @@
1008-#!/usr/bin/python
1009+#!/usr/bin/python3
1010 # @lint-avoid-python-3-compatibility-imports
1011 #
1012 # uobjnew Summarize object allocations in high-level languages.
1013diff --git a/tools/lib/ustat.py b/tools/lib/ustat.py
1014index 3f4287bf..854fd0c0 100755
1015--- a/tools/lib/ustat.py
1016+++ b/tools/lib/ustat.py
1017@@ -1,4 +1,4 @@
1018-#!/usr/bin/python
1019+#!/usr/bin/python3
1020 # @lint-avoid-python-3-compatibility-imports
1021 #
1022 # ustat Activity stats from high-level languages, including exceptions,
1023diff --git a/tools/lib/uthreads.py b/tools/lib/uthreads.py
1024index 90d0a745..41e4bde4 100755
1025--- a/tools/lib/uthreads.py
1026+++ b/tools/lib/uthreads.py
1027@@ -1,4 +1,4 @@
1028-#!/usr/bin/python
1029+#!/usr/bin/python3
1030 # @lint-avoid-python-3-compatibility-imports
1031 #
1032 # uthreads Trace thread creation/destruction events in high-level languages.
1033diff --git a/tools/llcstat.py b/tools/llcstat.py
1034index 7b7bc47a..286a7f24 100755
1035--- a/tools/llcstat.py
1036+++ b/tools/llcstat.py
1037@@ -1,4 +1,4 @@
1038-#!/usr/bin/python
1039+#!/usr/bin/python3
1040 #
1041 # llcstat.py Summarize cache references and cache misses by PID.
1042 # Cache reference and cache miss are corresponding events defined in
1043diff --git a/tools/mdflush.py b/tools/mdflush.py
1044index f1c68aee..d15acf56 100755
1045--- a/tools/mdflush.py
1046+++ b/tools/mdflush.py
1047@@ -1,4 +1,4 @@
1048-#!/usr/bin/python
1049+#!/usr/bin/python3
1050 # @lint-avoid-python-3-compatibility-imports
1051 #
1052 # mdflush Trace md flush events.
1053diff --git a/tools/memleak.py b/tools/memleak.py
1054index 9fa6805c..4174c206 100755
1055--- a/tools/memleak.py
1056+++ b/tools/memleak.py
1057@@ -1,4 +1,4 @@
1058-#!/usr/bin/python
1059+#!/usr/bin/python3
1060 #
1061 # memleak Trace and display outstanding allocations to detect
1062 # memory leaks in user-mode processes and the kernel.
1063diff --git a/tools/mountsnoop.py b/tools/mountsnoop.py
1064index 17a2edb6..82748ca5 100755
1065--- a/tools/mountsnoop.py
1066+++ b/tools/mountsnoop.py
1067@@ -1,4 +1,4 @@
1068-#!/usr/bin/python
1069+#!/usr/bin/python3
1070 #
1071 # mountsnoop Trace mount() and umount syscalls.
1072 # For Linux, uses BCC, eBPF. Embedded C.
1073diff --git a/tools/mysqld_qslower.py b/tools/mysqld_qslower.py
1074index d867d70f..cc2725bb 100755
1075--- a/tools/mysqld_qslower.py
1076+++ b/tools/mysqld_qslower.py
1077@@ -1,4 +1,4 @@
1078-#!/usr/bin/python
1079+#!/usr/bin/python3
1080 #
1081 # mysqld_qslower MySQL server queries slower than a threshold.
1082 # For Linux, uses BCC, BPF. Embedded C.
1083diff --git a/tools/nfsdist.py b/tools/nfsdist.py
1084index ff78506f..27631ade 100755
1085--- a/tools/nfsdist.py
1086+++ b/tools/nfsdist.py
1087@@ -1,4 +1,4 @@
1088-#!/usr/bin/python
1089+#!/usr/bin/python3
1090 # @lint-avoid-python-3-compatibility-imports
1091 #
1092 # nfsdist Summarize NFS operation latency
1093diff --git a/tools/nfsslower.py b/tools/nfsslower.py
1094index 5e344b9b..de21ef60 100755
1095--- a/tools/nfsslower.py
1096+++ b/tools/nfsslower.py
1097@@ -1,4 +1,4 @@
1098-#!/usr/bin/python
1099+#!/usr/bin/python3
1100 # @lint-avoid-python-3-compatibility-imports
1101 #
1102 # nfsslower Trace slow NFS operations
1103diff --git a/tools/offcputime.py b/tools/offcputime.py
1104index 50ce1cc1..f28249ba 100755
1105--- a/tools/offcputime.py
1106+++ b/tools/offcputime.py
1107@@ -1,4 +1,4 @@
1108-#!/usr/bin/python
1109+#!/usr/bin/python3
1110 #
1111 # offcputime Summarize off-CPU time by stack trace
1112 # For Linux, uses BCC, eBPF.
1113diff --git a/tools/offwaketime.py b/tools/offwaketime.py
1114index 665b6666..148233ff 100755
1115--- a/tools/offwaketime.py
1116+++ b/tools/offwaketime.py
1117@@ -1,4 +1,4 @@
1118-#!/usr/bin/python
1119+#!/usr/bin/python3
1120 #
1121 # offwaketime Summarize blocked time by kernel off-CPU stack + waker stack
1122 # For Linux, uses BCC, eBPF.
1123diff --git a/tools/old/bashreadline.py b/tools/old/bashreadline.py
1124index 571b6626..671188f8 100755
1125--- a/tools/old/bashreadline.py
1126+++ b/tools/old/bashreadline.py
1127@@ -1,4 +1,4 @@
1128-#!/usr/bin/python
1129+#!/usr/bin/python3
1130 #
1131 # bashreadline Print entered bash commands from all running shells.
1132 # For Linux, uses BCC, eBPF. Embedded C.
1133diff --git a/tools/old/biosnoop.py b/tools/old/biosnoop.py
1134index 37ee3f9c..7eddf518 100755
1135--- a/tools/old/biosnoop.py
1136+++ b/tools/old/biosnoop.py
1137@@ -1,4 +1,4 @@
1138-#!/usr/bin/python
1139+#!/usr/bin/python3
1140 # @lint-avoid-python-3-compatibility-imports
1141 #
1142 # biosnoop Trace block device I/O and print details including issuing PID.
1143diff --git a/tools/old/compactsnoop.py b/tools/old/compactsnoop.py
1144index c5440417..42cfc9c0 100755
1145--- a/tools/old/compactsnoop.py
1146+++ b/tools/old/compactsnoop.py
1147@@ -1,4 +1,4 @@
1148-#!/usr/bin/python
1149+#!/usr/bin/python3
1150 # @lint-avoid-python-3-compatibility-imports
1151 #
1152 # compactsnoop Trace compact zone and print details including issuing PID.
1153diff --git a/tools/old/filelife.py b/tools/old/filelife.py
1154index 075be087..733ff86b 100755
1155--- a/tools/old/filelife.py
1156+++ b/tools/old/filelife.py
1157@@ -1,4 +1,4 @@
1158-#!/usr/bin/python
1159+#!/usr/bin/python3
1160 # @lint-avoid-python-3-compatibility-imports
1161 #
1162 # filelife Trace the lifespan of short-lived files.
1163diff --git a/tools/old/gethostlatency.py b/tools/old/gethostlatency.py
1164index 7d32cb82..52ca436c 100755
1165--- a/tools/old/gethostlatency.py
1166+++ b/tools/old/gethostlatency.py
1167@@ -1,4 +1,4 @@
1168-#!/usr/bin/python
1169+#!/usr/bin/python3
1170 #
1171 # gethostlatency Show latency for getaddrinfo/gethostbyname[2] calls.
1172 # For Linux, uses BCC, eBPF. Embedded C.
1173diff --git a/tools/old/killsnoop.py b/tools/old/killsnoop.py
1174index ddf9d5af..0b0b1d57 100755
1175--- a/tools/old/killsnoop.py
1176+++ b/tools/old/killsnoop.py
1177@@ -1,4 +1,4 @@
1178-#!/usr/bin/python
1179+#!/usr/bin/python3
1180 # @lint-avoid-python-3-compatibility-imports
1181 #
1182 # killsnoop Trace signals issued by the kill() syscall.
1183diff --git a/tools/old/memleak.py b/tools/old/memleak.py
1184index eca685f8..91330d5e 100755
1185--- a/tools/old/memleak.py
1186+++ b/tools/old/memleak.py
1187@@ -1,4 +1,4 @@
1188-#!/usr/bin/python
1189+#!/usr/bin/python3
1190 #
1191 # memleak Trace and display outstanding allocations to detect
1192 # memory leaks in user-mode processes and the kernel.
1193diff --git a/tools/old/offcputime.py b/tools/old/offcputime.py
1194index c0042ffc..f9f0453d 100755
1195--- a/tools/old/offcputime.py
1196+++ b/tools/old/offcputime.py
1197@@ -1,4 +1,4 @@
1198-#!/usr/bin/python
1199+#!/usr/bin/python3
1200 #
1201 # offcputime Summarize off-CPU time by kernel stack trace
1202 # For Linux, uses BCC, eBPF.
1203diff --git a/tools/old/offwaketime.py b/tools/old/offwaketime.py
1204index 42fa5ce2..56363f17 100755
1205--- a/tools/old/offwaketime.py
1206+++ b/tools/old/offwaketime.py
1207@@ -1,4 +1,4 @@
1208-#!/usr/bin/python
1209+#!/usr/bin/python3
1210 #
1211 # offwaketime Summarize blocked time by kernel off-CPU stack + waker stack
1212 # For Linux, uses BCC, eBPF.
1213diff --git a/tools/old/oomkill.py b/tools/old/oomkill.py
1214index 0973cfba..eacacaca 100755
1215--- a/tools/old/oomkill.py
1216+++ b/tools/old/oomkill.py
1217@@ -1,4 +1,4 @@
1218-#!/usr/bin/python
1219+#!/usr/bin/python3
1220 #
1221 # oomkill Trace oom_kill_process(). For Linux, uses BCC, eBPF.
1222 #
1223diff --git a/tools/old/opensnoop.py b/tools/old/opensnoop.py
1224index 5df3b417..2eabd50a 100755
1225--- a/tools/old/opensnoop.py
1226+++ b/tools/old/opensnoop.py
1227@@ -1,4 +1,4 @@
1228-#!/usr/bin/python
1229+#!/usr/bin/python3
1230 # @lint-avoid-python-3-compatibility-imports
1231 #
1232 # opensnoop Trace open() syscalls.
1233diff --git a/tools/old/profile.py b/tools/old/profile.py
1234index 0abcf576..95dfc110 100755
1235--- a/tools/old/profile.py
1236+++ b/tools/old/profile.py
1237@@ -1,4 +1,4 @@
1238-#!/usr/bin/python
1239+#!/usr/bin/python3
1240 # @lint-avoid-python-3-compatibility-imports
1241 #
1242 # profile Profile CPU usage by sampling stack traces at a timed interval.
1243diff --git a/tools/old/softirqs.py b/tools/old/softirqs.py
1244index 5708ba69..04c97e61 100755
1245--- a/tools/old/softirqs.py
1246+++ b/tools/old/softirqs.py
1247@@ -1,4 +1,4 @@
1248-#!/usr/bin/python
1249+#!/usr/bin/python3
1250 # @lint-avoid-python-3-compatibility-imports
1251 #
1252 # softirqs Summarize soft IRQ (interrupt) event time.
1253diff --git a/tools/old/stackcount.py b/tools/old/stackcount.py
1254index b60cc4c2..a1affce9 100755
1255--- a/tools/old/stackcount.py
1256+++ b/tools/old/stackcount.py
1257@@ -1,4 +1,4 @@
1258-#!/usr/bin/python
1259+#!/usr/bin/python3
1260 #
1261 # stackcount Count kernel function calls and their stack traces.
1262 # For Linux, uses BCC, eBPF.
1263diff --git a/tools/old/stacksnoop.py b/tools/old/stacksnoop.py
1264index 9fcc12b0..de3debfd 100755
1265--- a/tools/old/stacksnoop.py
1266+++ b/tools/old/stacksnoop.py
1267@@ -1,4 +1,4 @@
1268-#!/usr/bin/python
1269+#!/usr/bin/python3
1270 #
1271 # stacksnoop Trace a kernel function and print all kernel stack traces.
1272 # For Linux, uses BCC, eBPF, and currently x86_64 only. Inline C.
1273diff --git a/tools/old/statsnoop.py b/tools/old/statsnoop.py
1274index ad54ac78..9284110f 100755
1275--- a/tools/old/statsnoop.py
1276+++ b/tools/old/statsnoop.py
1277@@ -1,4 +1,4 @@
1278-#!/usr/bin/python
1279+#!/usr/bin/python3
1280 # @lint-avoid-python-3-compatibility-imports
1281 #
1282 # statsnoop Trace stat() syscalls.
1283diff --git a/tools/old/syncsnoop.py b/tools/old/syncsnoop.py
1284index cae57ea8..27fbc87f 100755
1285--- a/tools/old/syncsnoop.py
1286+++ b/tools/old/syncsnoop.py
1287@@ -1,4 +1,4 @@
1288-#!/usr/bin/python
1289+#!/usr/bin/python3
1290 # @lint-avoid-python-3-compatibility-imports
1291 #
1292 # syncsnoop Trace sync() syscall.
1293diff --git a/tools/old/tcpaccept.py b/tools/old/tcpaccept.py
1294index 8125eaa3..cb8f4e7c 100755
1295--- a/tools/old/tcpaccept.py
1296+++ b/tools/old/tcpaccept.py
1297@@ -1,4 +1,4 @@
1298-#!/usr/bin/python
1299+#!/usr/bin/python3
1300 # @lint-avoid-python-3-compatibility-imports
1301 #
1302 # tcpaccept Trace TCP accept()s.
1303diff --git a/tools/old/tcpconnect.py b/tools/old/tcpconnect.py
1304index 579a85f9..318eb20d 100755
1305--- a/tools/old/tcpconnect.py
1306+++ b/tools/old/tcpconnect.py
1307@@ -1,4 +1,4 @@
1308-#!/usr/bin/python
1309+#!/usr/bin/python3
1310 # @lint-avoid-python-3-compatibility-imports
1311 #
1312 # tcpconnect Trace TCP connect()s.
1313diff --git a/tools/old/wakeuptime.py b/tools/old/wakeuptime.py
1314index a4cd521d..da5ae0af 100644
1315--- a/tools/old/wakeuptime.py
1316+++ b/tools/old/wakeuptime.py
1317@@ -1,4 +1,4 @@
1318-#!/usr/bin/python
1319+#!/usr/bin/python3
1320 #
1321 # wakeuptime Summarize sleep to wakeup time by waker kernel stack
1322 # For Linux, uses BCC, eBPF.
1323diff --git a/tools/oomkill.py b/tools/oomkill.py
1324index 4f3b6ce7..c9fde155 100755
1325--- a/tools/oomkill.py
1326+++ b/tools/oomkill.py
1327@@ -1,4 +1,4 @@
1328-#!/usr/bin/python
1329+#!/usr/bin/python3
1330 #
1331 # oomkill Trace oom_kill_process(). For Linux, uses BCC, eBPF.
1332 #
1333diff --git a/tools/opensnoop.py b/tools/opensnoop.py
1334index 6d1388b3..f087c895 100755
1335--- a/tools/opensnoop.py
1336+++ b/tools/opensnoop.py
1337@@ -1,4 +1,4 @@
1338-#!/usr/bin/python
1339+#!/usr/bin/python3
1340 # @lint-avoid-python-3-compatibility-imports
1341 #
1342 # opensnoop Trace open() syscalls.
1343diff --git a/tools/pidpersec.py b/tools/pidpersec.py
1344index c4490043..38f41960 100755
1345--- a/tools/pidpersec.py
1346+++ b/tools/pidpersec.py
1347@@ -1,4 +1,4 @@
1348-#!/usr/bin/python
1349+#!/usr/bin/python3
1350 # @lint-avoid-python-3-compatibility-imports
1351 #
1352 # pidpersec Count new processes (via fork).
1353diff --git a/tools/profile.py b/tools/profile.py
1354index 11f3e98d..c6922160 100755
1355--- a/tools/profile.py
1356+++ b/tools/profile.py
1357@@ -1,4 +1,4 @@
1358-#!/usr/bin/python
1359+#!/usr/bin/python3
1360 # @lint-avoid-python-3-compatibility-imports
1361 #
1362 # profile Profile CPU usage by sampling stack traces at a timed interval.
1363diff --git a/tools/runqlat.py b/tools/runqlat.py
1364index 9fd40642..52463f74 100755
1365--- a/tools/runqlat.py
1366+++ b/tools/runqlat.py
1367@@ -1,4 +1,4 @@
1368-#!/usr/bin/python
1369+#!/usr/bin/python3
1370 # @lint-avoid-python-3-compatibility-imports
1371 #
1372 # runqlat Run queue (scheduler) latency as a histogram.
1373diff --git a/tools/runqlen.py b/tools/runqlen.py
1374index b56a5916..aec8a8af 100755
1375--- a/tools/runqlen.py
1376+++ b/tools/runqlen.py
1377@@ -1,4 +1,4 @@
1378-#!/usr/bin/python
1379+#!/usr/bin/python3
1380 # @lint-avoid-python-3-compatibility-imports
1381 #
1382 # runqlen Summarize scheduler run queue length as a histogram.
1383diff --git a/tools/runqslower.py b/tools/runqslower.py
1384index 8f790602..89021466 100755
1385--- a/tools/runqslower.py
1386+++ b/tools/runqslower.py
1387@@ -1,4 +1,4 @@
1388-#!/usr/bin/python
1389+#!/usr/bin/python3
1390 # @lint-avoid-python-3-compatibility-imports
1391 #
1392 # runqslower Trace long process scheduling delays.
1393diff --git a/tools/shmsnoop.py b/tools/shmsnoop.py
1394index 11b4b6f6..5fb443fa 100755
1395--- a/tools/shmsnoop.py
1396+++ b/tools/shmsnoop.py
1397@@ -1,4 +1,4 @@
1398-#!/usr/bin/python
1399+#!/usr/bin/python3
1400 # @lint-avoid-python-3-compatibility-imports
1401 #
1402 # shmsnoop Trace shm*() syscalls.
1403diff --git a/tools/slabratetop.py b/tools/slabratetop.py
1404index b947e44e..ec602162 100755
1405--- a/tools/slabratetop.py
1406+++ b/tools/slabratetop.py
1407@@ -1,4 +1,4 @@
1408-#!/usr/bin/python
1409+#!/usr/bin/python3
1410 # @lint-avoid-python-3-compatibility-imports
1411 #
1412 # slabratetop Summarize kmem_cache_alloc() calls.
1413diff --git a/tools/sofdsnoop.py b/tools/sofdsnoop.py
1414index 6df7fcad..37e57900 100755
1415--- a/tools/sofdsnoop.py
1416+++ b/tools/sofdsnoop.py
1417@@ -1,4 +1,4 @@
1418-#!/usr/bin/python
1419+#!/usr/bin/python3
1420 # @lint-avoid-python-3-compatibility-imports
1421 #
1422 # sofdsnoop traces file descriptors passed via socket
1423diff --git a/tools/softirqs.py b/tools/softirqs.py
1424index 1e2daf5f..97b00f26 100755
1425--- a/tools/softirqs.py
1426+++ b/tools/softirqs.py
1427@@ -1,4 +1,4 @@
1428-#!/usr/bin/python
1429+#!/usr/bin/python3
1430 # @lint-avoid-python-3-compatibility-imports
1431 #
1432 # softirqs Summarize soft IRQ (interrupt) event time.
1433diff --git a/tools/solisten.py b/tools/solisten.py
1434index fc066d84..31951e18 100755
1435--- a/tools/solisten.py
1436+++ b/tools/solisten.py
1437@@ -1,4 +1,4 @@
1438-#!/usr/bin/python
1439+#!/usr/bin/python3
1440 #
1441 # solisten Trace TCP listen events
1442 # For Linux, uses BCC, eBPF. Embedded C.
1443diff --git a/tools/sslsniff.py b/tools/sslsniff.py
1444index e48fbb47..5e01d7c1 100755
1445--- a/tools/sslsniff.py
1446+++ b/tools/sslsniff.py
1447@@ -1,4 +1,4 @@
1448-#!/usr/bin/python
1449+#!/usr/bin/python3
1450 #
1451 # sslsniff Captures data on read/recv or write/send functions of OpenSSL,
1452 # GnuTLS and NSS
1453diff --git a/tools/stackcount.py b/tools/stackcount.py
1454index 2afb91ff..15b028b8 100755
1455--- a/tools/stackcount.py
1456+++ b/tools/stackcount.py
1457@@ -1,4 +1,4 @@
1458-#!/usr/bin/python
1459+#!/usr/bin/python3
1460 #
1461 # stackcount Count events and their stack traces.
1462 # For Linux, uses BCC, eBPF.
1463diff --git a/tools/statsnoop.py b/tools/statsnoop.py
1464index 6cdff945..e1ba3e5a 100755
1465--- a/tools/statsnoop.py
1466+++ b/tools/statsnoop.py
1467@@ -1,4 +1,4 @@
1468-#!/usr/bin/python
1469+#!/usr/bin/python3
1470 # @lint-avoid-python-3-compatibility-imports
1471 #
1472 # statsnoop Trace stat() syscalls.
1473diff --git a/tools/syncsnoop.py b/tools/syncsnoop.py
1474index e5fa78e3..162fbc2a 100755
1475--- a/tools/syncsnoop.py
1476+++ b/tools/syncsnoop.py
1477@@ -1,4 +1,4 @@
1478-#!/usr/bin/python
1479+#!/usr/bin/python3
1480 # @lint-avoid-python-3-compatibility-imports
1481 #
1482 # syncsnoop Trace sync() syscall.
1483diff --git a/tools/syscount.py b/tools/syscount.py
1484index 7ba08dd3..94b7ad34 100755
1485--- a/tools/syscount.py
1486+++ b/tools/syscount.py
1487@@ -1,4 +1,4 @@
1488-#!/usr/bin/python
1489+#!/usr/bin/python3
1490 #
1491 # syscount Summarize syscall counts and latencies.
1492 #
1493diff --git a/tools/tcpaccept.py b/tools/tcpaccept.py
1494index 7c104208..245e796e 100755
1495--- a/tools/tcpaccept.py
1496+++ b/tools/tcpaccept.py
1497@@ -1,4 +1,4 @@
1498-#!/usr/bin/python
1499+#!/usr/bin/python3
1500 # @lint-avoid-python-3-compatibility-imports
1501 #
1502 # tcpaccept Trace TCP accept()s.
1503diff --git a/tools/tcpconnect.py b/tools/tcpconnect.py
1504index eb12667e..7ba92394 100755
1505--- a/tools/tcpconnect.py
1506+++ b/tools/tcpconnect.py
1507@@ -1,4 +1,4 @@
1508-#!/usr/bin/python
1509+#!/usr/bin/python3
1510 # @lint-avoid-python-3-compatibility-imports
1511 #
1512 # tcpconnect Trace TCP connect()s.
1513diff --git a/tools/tcpconnlat.py b/tools/tcpconnlat.py
1514index be6bbbfa..0aad5ccc 100755
1515--- a/tools/tcpconnlat.py
1516+++ b/tools/tcpconnlat.py
1517@@ -1,4 +1,4 @@
1518-#!/usr/bin/python
1519+#!/usr/bin/python3
1520 # @lint-avoid-python-3-compatibility-imports
1521 #
1522 # tcpconnlat Trace TCP active connection latency (connect).
1523diff --git a/tools/tcpdrop.py b/tools/tcpdrop.py
1524index 14515f75..2076aeb0 100755
1525--- a/tools/tcpdrop.py
1526+++ b/tools/tcpdrop.py
1527@@ -1,4 +1,4 @@
1528-#!/usr/bin/python
1529+#!/usr/bin/python3
1530 # @lint-avoid-python-3-compatibility-imports
1531 #
1532 # tcpdrop Trace TCP kernel-dropped packets/segments.
1533diff --git a/tools/tcplife.py b/tools/tcplife.py
1534index d4e679dd..e7e9055a 100755
1535--- a/tools/tcplife.py
1536+++ b/tools/tcplife.py
1537@@ -1,4 +1,4 @@
1538-#!/usr/bin/python
1539+#!/usr/bin/python3
1540 # @lint-avoid-python-3-compatibility-imports
1541 #
1542 # tcplife Trace the lifespan of TCP sessions and summarize.
1543diff --git a/tools/tcpretrans.py b/tools/tcpretrans.py
1544index 1b2636ae..936028f6 100755
1545--- a/tools/tcpretrans.py
1546+++ b/tools/tcpretrans.py
1547@@ -1,4 +1,4 @@
1548-#!/usr/bin/python
1549+#!/usr/bin/python3
1550 # @lint-avoid-python-3-compatibility-imports
1551 #
1552 # tcpretrans Trace or count TCP retransmits and TLPs.
1553diff --git a/tools/tcpstates.py b/tools/tcpstates.py
1554index b9a64387..e0aeefaf 100755
1555--- a/tools/tcpstates.py
1556+++ b/tools/tcpstates.py
1557@@ -1,4 +1,4 @@
1558-#!/usr/bin/python
1559+#!/usr/bin/python3
1560 # -*- coding: utf-8 -*-
1561 # @lint-avoid-python-3-compatibility-imports
1562 #
1563diff --git a/tools/tcpsubnet.py b/tools/tcpsubnet.py
1564index 5f2a8062..302f7200 100755
1565--- a/tools/tcpsubnet.py
1566+++ b/tools/tcpsubnet.py
1567@@ -1,4 +1,4 @@
1568-#!/usr/bin/python
1569+#!/usr/bin/python3
1570 # @lint-avoid-python-3-compatibility-imports
1571 #
1572 # tcpsubnet Summarize TCP bytes sent to different subnets.
1573diff --git a/tools/tcptop.py b/tools/tcptop.py
1574index 330d5bbb..e87172a6 100755
1575--- a/tools/tcptop.py
1576+++ b/tools/tcptop.py
1577@@ -1,4 +1,4 @@
1578-#!/usr/bin/python
1579+#!/usr/bin/python3
1580 # @lint-avoid-python-3-compatibility-imports
1581 #
1582 # tcptop Summarize TCP send/recv throughput by host.
1583diff --git a/tools/tcptracer.py b/tools/tcptracer.py
1584index e61fe9ba..544431c3 100755
1585--- a/tools/tcptracer.py
1586+++ b/tools/tcptracer.py
1587@@ -1,4 +1,4 @@
1588-#!/usr/bin/python
1589+#!/usr/bin/python3
1590 #
1591 # tcpv4tracer Trace TCP connections.
1592 # For Linux, uses BCC, eBPF. Embedded C.
1593diff --git a/tools/tplist.py b/tools/tplist.py
1594index 6ec2fbe1..e20eb0c3 100755
1595--- a/tools/tplist.py
1596+++ b/tools/tplist.py
1597@@ -1,4 +1,4 @@
1598-#!/usr/bin/python
1599+#!/usr/bin/python3
1600 #
1601 # tplist Display kernel tracepoints or USDT probes and their formats.
1602 #
1603diff --git a/tools/trace.py b/tools/trace.py
1604index 8b2ca358..54badc01 100755
1605--- a/tools/trace.py
1606+++ b/tools/trace.py
1607@@ -1,4 +1,4 @@
1608-#!/usr/bin/python
1609+#!/usr/bin/python3
1610 #
1611 # trace Trace a function and print a trace message based on its
1612 # parameters, with an optional filter.
1613diff --git a/tools/ttysnoop.py b/tools/ttysnoop.py
1614index 058dc7e3..fa6280bf 100755
1615--- a/tools/ttysnoop.py
1616+++ b/tools/ttysnoop.py
1617@@ -1,4 +1,4 @@
1618-#!/usr/bin/python
1619+#!/usr/bin/python3
1620 # @lint-avoid-python-3-compatibility-imports
1621 #
1622 # ttysnoop Watch live output from a tty or pts device.
1623diff --git a/tools/vfscount.py b/tools/vfscount.py
1624index 303d3fde..fa0fe9a0 100755
1625--- a/tools/vfscount.py
1626+++ b/tools/vfscount.py
1627@@ -1,4 +1,4 @@
1628-#!/usr/bin/python
1629+#!/usr/bin/python3
1630 # @lint-avoid-python-3-compatibility-imports
1631 #
1632 # vfscount Count VFS calls ("vfs_*").
1633diff --git a/tools/vfsstat.py b/tools/vfsstat.py
1634index 1764c601..7ff54070 100755
1635--- a/tools/vfsstat.py
1636+++ b/tools/vfsstat.py
1637@@ -1,4 +1,4 @@
1638-#!/usr/bin/python
1639+#!/usr/bin/python3
1640 # @lint-avoid-python-3-compatibility-imports
1641 #
1642 # vfsstat Count some VFS calls.
1643diff --git a/tools/wakeuptime.py b/tools/wakeuptime.py
1644index a22245a7..b31fa981 100755
1645--- a/tools/wakeuptime.py
1646+++ b/tools/wakeuptime.py
1647@@ -1,4 +1,4 @@
1648-#!/usr/bin/python
1649+#!/usr/bin/python3
1650 #
1651 # wakeuptime Summarize sleep to wakeup time by waker kernel stack
1652 # For Linux, uses BCC, eBPF.
1653diff --git a/tools/xfsdist.py b/tools/xfsdist.py
1654index f409f90d..fb8c43cb 100755
1655--- a/tools/xfsdist.py
1656+++ b/tools/xfsdist.py
1657@@ -1,4 +1,4 @@
1658-#!/usr/bin/python
1659+#!/usr/bin/python3
1660 # @lint-avoid-python-3-compatibility-imports
1661 #
1662 # xfsdist Summarize XFS operation latency.
1663diff --git a/tools/xfsslower.py b/tools/xfsslower.py
1664index 9fa12566..2ad21f05 100755
1665--- a/tools/xfsslower.py
1666+++ b/tools/xfsslower.py
1667@@ -1,4 +1,4 @@
1668-#!/usr/bin/python
1669+#!/usr/bin/python3
1670 # @lint-avoid-python-3-compatibility-imports
1671 #
1672 # xfsslower Trace slow XFS operations.
1673diff --git a/tools/zfsdist.py b/tools/zfsdist.py
1674index 6b29b99b..e41d91a7 100755
1675--- a/tools/zfsdist.py
1676+++ b/tools/zfsdist.py
1677@@ -1,4 +1,4 @@
1678-#!/usr/bin/python
1679+#!/usr/bin/python3
1680 # @lint-avoid-python-3-compatibility-imports
1681 #
1682 # zfsdist Summarize ZFS operation latency.
1683diff --git a/tools/zfsslower.py b/tools/zfsslower.py
1684index 2f05b561..a88a3bef 100755
1685--- a/tools/zfsslower.py
1686+++ b/tools/zfsslower.py
1687@@ -1,4 +1,4 @@
1688-#!/usr/bin/python
1689+#!/usr/bin/python3
1690 # @lint-avoid-python-3-compatibility-imports
1691 #
1692 # zfsslower Trace slow ZFS operations.
1693--
16942.17.1
1695
diff --git a/recipes-devtools/bcc/bcc_0.13.0.bb b/recipes-devtools/bcc/bcc_0.13.0.bb
index 2a346c1..6c92b17 100644
--- a/recipes-devtools/bcc/bcc_0.13.0.bb
+++ b/recipes-devtools/bcc/bcc_0.13.0.bb
@@ -18,7 +18,6 @@ RDEPENDS_${PN} += "bash python3 python3-core"
18 18
19SRC_URI = "git://github.com/iovisor/bcc \ 19SRC_URI = "git://github.com/iovisor/bcc \
20 file://0001-Allow-to-build-with-OE-LLVM-cross-compiled-package.patch \ 20 file://0001-Allow-to-build-with-OE-LLVM-cross-compiled-package.patch \
21 file://0001-BCC-Use-python-3.patch \
22 " 21 "
23SRCREV = "942227484d3207f6a42103674001ef01fb5335a0" 22SRCREV = "942227484d3207f6a42103674001ef01fb5335a0"
24 23
@@ -35,6 +34,11 @@ EXTRA_OECMAKE = " \
35 -DPYTHON_CMD=python3 \ 34 -DPYTHON_CMD=python3 \
36" 35"
37 36
37do_install_append() {
38 sed -e 's@#!/usr/bin/python@#!/usr/bin/env python3@g' \
39 -i $(find ${D}${datadir}/${PN} -type f)
40}
41
38FILES_${PN} += "${libdir}/python*/dist-packages" 42FILES_${PN} += "${libdir}/python*/dist-packages"
39 43
40COMPATIBLE_HOST = "(x86_64.*|aarch64.*|powerpc64.*)-linux" 44COMPATIBLE_HOST = "(x86_64.*|aarch64.*|powerpc64.*)-linux"