From b956ce405219993ab4d881cf4a671ecd510f8548 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 26 Dec 2024 16:53:01 +0900 Subject: [PATCH] ldd: trim leading and trailing white spaces from name Glibc emits ldd output with \t prefix for formatting. Remove that here. Signed-off-by: Ophestra --- ldd/ldd.go | 4 ++-- ldd/ldd_test.go | 38 +++++++++++++++++++------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/ldd/ldd.go b/ldd/ldd.go index 2862dab..434fbab 100644 --- a/ldd/ldd.go +++ b/ldd/ldd.go @@ -32,7 +32,7 @@ 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]} + result[i] = &Entry{Name: strings.TrimSpace(segment[0])} case 4: // libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f04d14ef000) iL = 3 if segment[1] != "=>" { @@ -42,7 +42,7 @@ func Parse(stdout fmt.Stringer) ([]*Entry, error) { return nil, ErrPathNotAbsolute } result[i] = &Entry{ - Name: segment[0], + Name: strings.TrimSpace(segment[0]), Path: segment[2], } default: diff --git a/ldd/ldd_test.go b/ldd/ldd_test.go index 4b8793f..2e5d010 100644 --- a/ldd/ldd_test.go +++ b/ldd/ldd_test.go @@ -65,12 +65,12 @@ libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7ff71c0a4000)`, {"libc.musl-x86_64.so.1", "/lib/ld-musl-x86_64.so.1", 0x7ff71c0a4000}, }}, {"glibc /nix/store/rc3n2r3nffpib2gqpxlkjx36frw6n34z-kmod-31/bin/kmod", ` -linux-vdso.so.1 (0x00007ffed65be000) -libzstd.so.1 => /nix/store/80pxmvb9q43kh9rkjagc4h41vf6dh1y6-zstd-1.5.6/lib/libzstd.so.1 (0x00007f3199cd1000) -liblzma.so.5 => /nix/store/g78jna1i5qhh8gqs4mr64648f0szqgw4-xz-5.4.7/lib/liblzma.so.5 (0x00007f3199ca2000) -libc.so.6 => /nix/store/c10zhkbp6jmyh0xc5kd123ga8yy2p4hk-glibc-2.39-52/lib/libc.so.6 (0x00007f3199ab5000) -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)`, + linux-vdso.so.1 (0x00007ffed65be000) + libzstd.so.1 => /nix/store/80pxmvb9q43kh9rkjagc4h41vf6dh1y6-zstd-1.5.6/lib/libzstd.so.1 (0x00007f3199cd1000) + liblzma.so.5 => /nix/store/g78jna1i5qhh8gqs4mr64648f0szqgw4-xz-5.4.7/lib/liblzma.so.5 (0x00007f3199ca2000) + libc.so.6 => /nix/store/c10zhkbp6jmyh0xc5kd123ga8yy2p4hk-glibc-2.39-52/lib/libc.so.6 (0x00007f3199ab5000) + 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)`, []*ldd.Entry{ {"linux-vdso.so.1", "", 0x00007ffed65be000}, {"libzstd.so.1", "/nix/store/80pxmvb9q43kh9rkjagc4h41vf6dh1y6-zstd-1.5.6/lib/libzstd.so.1", 0x00007f3199cd1000}, @@ -80,19 +80,19 @@ libpthread.so.0 => /nix/store/c10zhkbp6jmyh0xc5kd123ga8yy2p4hk-glibc-2.39-52/lib {"/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)`, + 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},