delve/pkg/proc/linutil
Alessandro Arzilli 88380654fe
proc: fix dynamic library loading with musl loader (#3621)
With the glibc loader the link map entry for the static executable has
an empty name field and address equal to 0x0. This case was already
handled by the check in bininfo.go AddImage for names to be valid
paths.
With the musl loader however the first entry, corresponding to the
static executable, has a valid path with address equal to 0x0, since we
record a real address for the image corresponding to the static
executable this results in having two entries for the executable when
musl is used to link go programs.

Change the code scanning the debug link map so that the first entry is
skipped if it has address equal to zero.

Fixes #3617
2024-01-10 07:33:35 -08:00
..
auxv.go pkg/proc,service: support linux/386 (#1884) 2020-03-10 09:34:40 -07:00
doc.go *: Change comments to match common Go standarts (#3221) 2022-12-14 08:56:07 -08:00
dynamic.go proc: fix dynamic library loading with musl loader (#3621) 2024-01-10 07:33:35 -08:00
regs_amd64_arch.go proc: fix RFLAGS corruption after call injection on amd64 (#3002) 2022-05-05 08:41:40 -07:00
regs_arm64_arch.go *: Change comments to match common Go standarts (#3221) 2022-12-14 08:56:07 -08:00
regs_i386_arch.go proc: support function call injection on arm64 (#2996) 2022-05-03 10:46:24 -07:00
regs_ppc64le_arch.go pky/proc: enable function call injection in Delve for linux/ppc64le (#3449) 2023-09-21 10:39:57 -07:00