short answer: usually, you can't
longer answer: you can't, because software usually can't detect the
answer.
revdep-rebuild does a fine job of finding what it was designed to do -
reverse dependencies that are now broken.
So if app A uses lib B directly which uses lib C directly, and lib C
got updated, revdep-rebuild will discover if the new C is incompatible
with the current B. Re-emerge B and it usually just manages to do the
right thing.
Weird issues often crop up when you have plug-in modules that are
loaded dynamically at runtime. Revdep-rebuild can't find these as they
don't show up in ldd, the app itself figures out what modules it wants
to load then tries, so if something is broken there, well you find that
out when you run the app.
emerge -e world is the only way I know to to fix these things with any
certainty. Binary distro by the way usually don't have this problem
happen to them, because with those lib C doesn't suddenly get ripped
out underneath B and replaced ;-)
--
Alan McKinnon
alan.m...@gmail.com