At 05:46 AM 7/25/2005, Joe Orton wrote: >On Fri, Jul 22, 2005 at 05:25:14PM -0500, William Rowe wrote: >... >> /** >> + * Resolve a dso pathname from a dso symbol (address) or partial name. >> + * @param filepath The returned filepath >> + * @param ressym A pointer to any symbol of the desired dso >> + * @param matchfile The short name of a dso, e.g. libfoo for /usr/lib/libfoo.so.7 >> + * @param pool A pool to to allocate the resulting filepath >> + * @remarks Some platforms will derive the loaded module directly >> + * from the ressym given, if it is an address in that loaded module's >> + * memory mapping. Others don't have this facility, but may track >> + * down filepaths from short names in the global symbol table. >> + * Note that given the example. libfoo, if libfoo.so.3 and libfoo.so.7 >> + * are both loaded in memory, the result is not predictable. > >If the results of this are not reliable this doesn't seem that useful. >What platforms need the fuzzy matching against filenames? The fact is; some applications will code this fuzzy-match (e.g. unwind PATH or whatever else they have at their disposal) and such apps can't benefit from a KNOWN binary location on those platforms which convey this information. Some examples include; * modules such as FIPS, which must find themself and do a SHA-1 validation of the module file against a known-good signature. * modules such as iconv where we would like to place the iconv directory beside the libiconv.so, and have this iconv located without the added hassle of envvars. Bill