Index: src/trusted/service_runtime/sel_main_chrome.c |
diff --git a/src/trusted/service_runtime/sel_main_chrome.c b/src/trusted/service_runtime/sel_main_chrome.c |
index de792653e75d0dba4d22e5d9e71e20abe6affeea..173537d0b8a56527e430509a1fb8ed22b637db8f 100644 |
--- a/src/trusted/service_runtime/sel_main_chrome.c |
+++ b/src/trusted/service_runtime/sel_main_chrome.c |
@@ -308,17 +308,17 @@ void NaClChromeMainStart(struct NaClChromeMainArgs *args) { |
* Load the integrated runtime (IRT) library. |
* We check if there is a segment gap before trying to load the IRT. This |
* is to support IRT-less / segment-gap-free PNaCl translator nexes. |
- * TODO(mseaborn): Plumb through a flag from Chrome in such cases, |
- * instead of looking for the absence of a segment gap, when the nexe does |
- * not follow NaCl's stable ABI. |
+ * TODO(jvoung): Instead of looking for the absence of a segment gap, |
+ * only allow irt_fd == -1, when the nexe does not follow NaCl's stable ABI. |
*/ |
- if (NULL != nap->text_shm) { |
+ if (NULL != nap->text_shm && args->irt_fd != -1) { |
NaClLoadIrt(nap, args->irt_fd); |
} else { |
NaClLog( |
- LOG_WARNING, |
- "Main executable has no segment gap; skipping loading IRT library. " |
- "This is expected for PNaCl's translator nexes.\n"); |
+ 1, |
+ "Main executable has no segment gap or irt_fd == -1; " |
+ "skipping loading IRT library. This is expected for PNaCl's " |
+ "translator nexes.\n"); |
} |
NACL_FI_FATAL("BeforeEnvCleanserCtor"); |