1From 25c77bff079c331ae12d9e4499c82fdabf301610 Mon Sep 17 00:00:00 2001
2From: Dominique Martinet <asmadeus@codewreck.org>
3Date: Sun, 21 Jul 2024 20:59:51 +0900
4Subject: [PATCH] bashreadline.py: remove dependency on elftools
5
6This helper is only here to differentiate between very old bash
7versions or semi-recent ones; since we'll only catter to newer
8bash versions we don't need to bother with elftools here:
9just hardcode the newer symbol.
10---
11 tools/bashreadline.py | 14 +-------------
12 1 file changed, 1 insertion(+), 13 deletions(-)
13
14diff --git a/tools/bashreadline.py b/tools/bashreadline.py
15index 7e8324a2c0ea..e4b20aeb2371 100755
16--- a/tools/bashreadline.py
17+++ b/tools/bashreadline.py
18@@ -17,7 +17,6 @@
19 # 12-Feb-2016 Allan McAleavy migrated to BPF_PERF_OUTPUT
20
21 from __future__ import print_function
22-from elftools.elf.elffile import ELFFile
23 from bcc import BPF
24 from time import strftime
25 import argparse
26@@ -33,18 +32,7 @@ args = parser.parse_args()
27
28 name = args.shared if args.shared else "/bin/bash"
29
30-
31-def get_sym(filename):
32- with open(filename, 'rb') as f:
33- elf = ELFFile(f)
34- symbol_table = elf.get_section_by_name(".dynsym")
35- for symbol in symbol_table.iter_symbols():
36- if symbol.name == "readline_internal_teardown":
37- return "readline_internal_teardown"
38- return "readline"
39-
40-
41-sym = get_sym(name)
42+sym = "readline_internal_teardown"
43
44 # load BPF program
45 bpf_text = """
46--
472.45.2
48