ldd: use name as path in ld-musl entry
Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
parent
614ad86a5b
commit
d2b15e3457
@ -32,7 +32,11 @@ func Parse(stdout fmt.Stringer) ([]*Entry, error) {
|
||||
switch len(segment) {
|
||||
case 2: // /lib/ld-musl-x86_64.so.1 (0x7f04d14ef000)
|
||||
iL = 1
|
||||
result[i] = &Entry{Name: segment[0]}
|
||||
if path.IsAbs(segment[0]) {
|
||||
result[i] = &Entry{Name: segment[0], Path: segment[0]}
|
||||
} else {
|
||||
result[i] = &Entry{Name: segment[0]}
|
||||
}
|
||||
case 4: // libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f04d14ef000)
|
||||
iL = 3
|
||||
if segment[1] != "=>" {
|
||||
|
@ -57,7 +57,7 @@ libz.so.1 => /lib/libz.so.1 (0x7ff71bf80000)
|
||||
libcrypto.so.3 => /lib/libcrypto.so.3 (0x7ff71ba00000)
|
||||
libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7ff71c0a4000)`,
|
||||
[]*ldd.Entry{
|
||||
{"/lib/ld-musl-x86_64.so.1", "", 0x7ff71c0a4000},
|
||||
{"/lib/ld-musl-x86_64.so.1", "/lib/ld-musl-x86_64.so.1", 0x7ff71c0a4000},
|
||||
{"libzstd.so.1", "/usr/lib/libzstd.so.1", 0x7ff71bfd2000},
|
||||
{"liblzma.so.5", "/usr/lib/liblzma.so.5", 0x7ff71bf9a000},
|
||||
{"libz.so.1", "/lib/libz.so.1", 0x7ff71bf80000},
|
||||
@ -79,6 +79,35 @@ libpthread.so.0 => /nix/store/c10zhkbp6jmyh0xc5kd123ga8yy2p4hk-glibc-2.39-52/lib
|
||||
{"libpthread.so.0", "/nix/store/c10zhkbp6jmyh0xc5kd123ga8yy2p4hk-glibc-2.39-52/lib/libpthread.so.0", 0x00007f3199ab0000},
|
||||
{"/nix/store/c10zhkbp6jmyh0xc5kd123ga8yy2p4hk-glibc-2.39-52/lib/ld-linux-x86-64.so.2", "/nix/store/c10zhkbp6jmyh0xc5kd123ga8yy2p4hk-glibc-2.39-52/lib64/ld-linux-x86-64.so.2", 0x00007f3199da5000},
|
||||
}},
|
||||
{"glibc /usr/bin/xdg-dbus-proxy", `
|
||||
linux-vdso.so.1 (0x00007725f5772000)
|
||||
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007725f55d5000)
|
||||
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007725f5406000)
|
||||
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007725f53a6000)
|
||||
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007725f5378000)
|
||||
libc.so.6 => /usr/lib/libc.so.6 (0x00007725f5187000)
|
||||
libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007725f50e8000)
|
||||
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007725f50df000)
|
||||
libz.so.1 => /usr/lib/libz.so.1 (0x00007725f50c6000)
|
||||
libmount.so.1 => /usr/lib/libmount.so.1 (0x00007725f5076000)
|
||||
libffi.so.8 => /usr/lib/libffi.so.8 (0x00007725f506b000)
|
||||
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007725f5774000)
|
||||
libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007725f5032000)`,
|
||||
[]*ldd.Entry{
|
||||
{"linux-vdso.so.1", "", 0x00007725f5772000},
|
||||
{"libglib-2.0.so.0", "/usr/lib/libglib-2.0.so.0", 0x00007725f55d5000},
|
||||
{"libgio-2.0.so.0", "/usr/lib/libgio-2.0.so.0", 0x00007725f5406000},
|
||||
{"libgobject-2.0.so.0", "/usr/lib/libgobject-2.0.so.0", 0x00007725f53a6000},
|
||||
{"libgcc_s.so.1", "/usr/lib/libgcc_s.so.1", 0x00007725f5378000},
|
||||
{"libc.so.6", "/usr/lib/libc.so.6", 0x00007725f5187000},
|
||||
{"libpcre2-8.so.0", "/usr/lib/libpcre2-8.so.0", 0x00007725f50e8000},
|
||||
{"libgmodule-2.0.so.0", "/usr/lib/libgmodule-2.0.so.0", 0x00007725f50df000},
|
||||
{"libz.so.1", "/usr/lib/libz.so.1", 0x00007725f50c6000},
|
||||
{"libmount.so.1", "/usr/lib/libmount.so.1", 0x00007725f5076000},
|
||||
{"libffi.so.8", "/usr/lib/libffi.so.8", 0x00007725f506b000},
|
||||
{"/lib64/ld-linux-x86-64.so.2", "/usr/lib64/ld-linux-x86-64.so.2", 0x00007725f5774000},
|
||||
{"libblkid.so.1", "/usr/lib/libblkid.so.1", 0x00007725f5032000},
|
||||
}},
|
||||
}
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.file, func(t *testing.T) {
|
||||
|
Loading…
Reference in New Issue
Block a user