linux/tools
Hengqi Chen 2147c8d07e libbpf: Allow Golang symbols in uprobe secdef
Golang symbols in ELF files are different from C/C++
which contains special characters like '*', '(' and ')'.
With generics, things get more complicated, there are
symbols like:

  github.com/cilium/ebpf/internal.(*Deque[go.shape.interface { Format(fmt.State, int32); TypeName() string;github.com/cilium/ebpf/btf.copy() github.com/cilium/ebpf/btf.Type}]).Grow

Matching such symbols using `%m[^\n]` in sscanf, this
excludes newline which typically does not appear in ELF
symbols. This should work in most use-cases and also
work for unicode letters in identifiers. If newline do
show up in ELF symbols, users can still attach to such
symbol by specifying bpf_uprobe_opts::func_name.

A working example can be found at this repo ([0]).

  [0]: https://github.com/chenhengqi/libbpf-go-symbols

Suggested-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20230929155954.92448-1-hengqi.chen@gmail.com
2023-09-29 14:32:20 -07:00
..
accounting
arch ARM: 2023-09-07 13:52:20 -07:00
bootconfig
bpf bpftool: Display missed count for kprobe perf link 2023-09-25 16:37:44 -07:00
build perf tools changes for v6.6: 2023-09-09 20:06:17 -07:00
certs
cgroup iocost_monitor: improve it by adding iocg wait_ms 2023-08-08 15:43:03 -06:00
counter tools/counter: Makefile: Replace rmdir by rm to avoid make,clean failure 2023-07-24 10:29:52 -04:00
crypto/ccp crypto: ccp - Add unit tests for dynamic boost control 2023-07-20 22:15:12 +12:00
debugging
edid
firewire
firmware
gpio
hv vmbus_testing: fix wrong python syntax for integer value comparison 2023-07-23 23:19:30 +00:00
iio tools: iio: iio_generic_buffer: Fix some integer type and calculation 2023-07-29 15:59:20 +01:00
include bpf: Add missed value to kprobe perf link info 2023-09-25 16:37:44 -07:00
kvm/kvm_stat
laptop
leds
lib libbpf: Allow Golang symbols in uprobe secdef 2023-09-29 14:32:20 -07:00
memory-model
mm tools/mm: fix undefined reference to pthread_once 2023-09-05 10:13:45 -07:00
net/ynl tools: ynl: extend netdev sample to dump xdp-rx-metadata-features 2023-09-15 11:26:58 -07:00
objtool objtool: Fix _THIS_IP_ detection for cold functions 2023-09-12 08:16:54 +02:00
pci
pcmcia
perf perf tools changes for v6.6: 2023-09-09 20:06:17 -07:00
power More power management updates for 6.6-rc1 2023-09-04 15:21:55 -07:00
rcu
scripts tools build: Add 3-component logical version comparators 2023-08-03 16:59:40 -03:00
spi
testing selftests/bpf: Add test for recursion counts of perf event link tracepoint 2023-09-25 16:37:45 -07:00
thermal
time
tracing
usb
verification
virtio
wmi
workqueue workqueue: Implement non-strict affinity scope for unbound workqueues 2023-08-07 15:57:25 -10:00
Makefile