diff options
author | wtc%google.com <devnull@localhost> | 2007-11-21 01:44:51 +0000 |
---|---|---|
committer | wtc%google.com <devnull@localhost> | 2007-11-21 01:44:51 +0000 |
commit | 98e2a456344b8b128af54752da976ecead428190 (patch) | |
tree | c96305b5f239eb56bc66e6af4af511394dbf8535 | |
parent | 06583930b747dec5a7a1e0897f36d3cf6ee99d67 (diff) | |
download | nspr-hg-98e2a456344b8b128af54752da976ecead428190.tar.gz |
Bug 354248: log the error information retrieved by NSLinkEditError in
pr_LoadViaDyld. The patch is contributed by Nick Kreeger
<nick.kreeger@park.edu>. r=mark.mentovai,wtc.
-rw-r--r-- | pr/src/linking/prlink.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/pr/src/linking/prlink.c b/pr/src/linking/prlink.c index cdfd9eab..fbbd3be5 100644 --- a/pr/src/linking/prlink.c +++ b/pr/src/linking/prlink.c @@ -774,10 +774,16 @@ pr_LoadViaDyld(const char *name, PRLibrary *lm) if (lm->dlh == NULL) { lm->image = NSAddImage(name, NSADDIMAGE_OPTION_RETURN_ON_ERROR | NSADDIMAGE_OPTION_WITH_SEARCHING); - /* - * TODO: If NSAddImage fails, use NSLinkEditError to retrieve - * error information. - */ + if (lm->image == NULL) { + NSLinkEditErrors linkEditError; + int errorNum; + const char *errorString; + const char *fileName; + NSLinkEditError(&linkEditError, &errorNum, &fileName, &errorString); + PR_LOG(_pr_linker_lm, PR_LOG_MIN, + ("LoadMachDyldModule error %d:%d for file %s:\n%s", + linkEditError, errorNum, fileName, errorString)); + } } return (lm->dlh != NULL || lm->image != NULL) ? PR_SUCCESS : PR_FAILURE; } |