On Darwin, the binary's symbol table points to debug info in object
files -- potentially object files within a static library. Such a
library may have multiple entries with the same name, distinguished
only by timestamp.
The code was already _attempting_ to handle this case (see the code in
ObjectContainerBSDArchive::Archive::FindObject which disambiguates via
timestamp). But, unfortunately, while the timestamp was taken into
account on the _first_ lookup, the result was then cached in a map
keyed only off of the path.
Added the timestamp to the cache, and added a test case.
dsymutil also implements the same mechanism, so as an end-to-end test it wouldn't hurt to also allow the dSYM variant of this test to be run.
Does MAKE_DSYM=NO disable the dsym category for this test or does it just prevent the dwarf variant from also producing a dSYM?