HomeFreeBSD

ldd: remove '[preloaded]' marker for the preloaded objects

Description

ldd: remove '[preloaded]' marker for the preloaded objects

for the default output. For '-a' (per-object needed printout) the
[preloaded] banner is kept.

Instead, use special format2 for printing the preloaded objects (and
vdso), which does not include DT_NEEDED, since there is no object
needing the printed one.

In this way, the output is more compatible with glibc.

Example:
LD_PRELOAD=/lib/libthr.so.3 LD_TRACE_LOADED_OBJECTS=1 /libexec/ld-elf.so.1 /bin/ls

libutil.so.9 => /lib/libutil.so.9 (0x801099000)
libncursesw.so.9 => /lib/libncursesw.so.9 (0x8010b0000)
libc.so.7 => /lib/libc.so.7 (0x801123000)
[vdso] (0x7ffffffff000)
/lib/libthr.so.3 (0x80106c000)

Note the absense of the part before and including '=>' for preloaded
libthr.so.3, and for vdso.

PR: 265750
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D36616

Details

Provenance
kibAuthored on Sep 18 2022, 12:49 AM
Reviewer
jhb
Differential Revision
D36616: ldd: remove '[preloaded]' marker for the preloaded objects
Parents
rG09ee0fc023c0: if_clone: rework cloning KPI
Branches
Unknown
Tags
Unknown