How does (the current) 'ldd' command work?



I'm looking at the current version of 'ldd' (in Debian and Debian-like
distros). It is implemented as a shell script, and I am trying to
figure out what the actual active line(s) is/are.

Now, the "poor man's ldd" is simply:

/lib/ld-linux.so.2 --list <binary>

I expected that the shell script version would pretty much be a wrapper
around that, but (AFAICT), it isn't. It seems to call /lib/ld-linux.so.2
with the "--verify" option at one point, but not, (again, AFAICT) with
"--list".

One observable difference between the shell script version and the "poor
man's" version is that if any of the libs aren't found, the "poor man's"
version crashes with an error message, whereas the shell script version
prints "not found" for the missing lib(s), along with the correct lines
for the other lib(s).

So, anyway, my question is: what is the active line, that actually
generates the output, in the shell script version?

--
Just for a change of pace, this sig is *not* an obscure reference to
comp.lang.c...

.