-
Add `ABI0` support to Go `crypto/tls` eBPF tracer (#1169)
发布于
2022-07-05 11:35:30 +00:00 -
Determine the Go ABI and get
goidoffset from DWARF -
Add
ABIenum and morph the function according to the detected ABI -
Pass
goidoffset to an eBPF map to retrieve it in eBPF context -
Add
vmlinux.hand implementget_goid_from_thread_local_storage -
Fix BPF verifier errors
-
Update the comments
-
Add
go_abi_0.hand implementABI0specific reads forarm64 -
Upgrade
github.com/cilium/ebpftov0.9.0 -
Add a comment
-
Add macros for x86 specific parts
-
Update
x86.o -
Fix the map key type
-
Add
user_pt_regs -
Update arm64 object file
-
Fix the version detection logic
-
Add
getGStructOffsetmethod -
Define
goid_offsets,goid_offsets_mapstructs and pass the offsets correctly -
Fix the
net.TCPConnand buffer addresses forABI0 -
Remove comment
-
Fix the issues for arm64 build
-
Update x86.o
-
Revert "Fix the issues for arm64 build"
This reverts commit 48b041b1b60526658a1fa8774e5b24708af5b8a3.
-
Revert
user_pt_regs -
Add
vmlinuxdirectory -
Fix the
build.shandDockerfile -
Add vmlinux_arm64.h
-
Disable
get_goid_from_thread_local_storageon ARM64 with a macro -
Update x86.o
-
Update arm64.o
-
x86
-
arm64
-
Fix the cross-compilation issue from x86 to arm64
-
Fix the same thing for x86
-
Use
BPF_CORE_READmacro instead ofbpf_ringbuf_reserveto support kernel versions older than 5.8
Also;
Add legacy version of thread_struct: thread_struct___v46
Build an additional object file for the kernel versions older than or equal to 4.6 and load them accordingly.
Add github.com/moby/moby-
Make #define directives more definitive
-
Select the x86 and arm64 versions of
vmlinux.husing macros -
Put
goidoffsets into the map before installinguprobe(s) -
arm64
-
#run_acceptance_tests
-
Remove a forgotten
fmt.Printf -
Log the detected Linux kernel version
下载附件
-