summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%google.com <devnull@localhost>2007-11-21 01:44:51 +0000
committerwtc%google.com <devnull@localhost>2007-11-21 01:44:51 +0000
commit98e2a456344b8b128af54752da976ecead428190 (patch)
treec96305b5f239eb56bc66e6af4af511394dbf8535
parent06583930b747dec5a7a1e0897f36d3cf6ee99d67 (diff)
downloadnspr-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.c14
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;
}