Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Unified Diff: src/trusted/service_runtime/elf_util.c

Issue 12600034: Provide metadata to validator to allow faster caching. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: First fixes Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/trusted/service_runtime/elf_util.c
diff --git a/src/trusted/service_runtime/elf_util.c b/src/trusted/service_runtime/elf_util.c
index 7236d11d7ca5006e565a3b1a084084c71683f972..f88e246771f9811920c46983cff5b2b6665ca850 100644
--- a/src/trusted/service_runtime/elf_util.c
+++ b/src/trusted/service_runtime/elf_util.c
@@ -32,6 +32,7 @@
#include "native_client/src/trusted/service_runtime/nacl_text.h"
#include "native_client/src/trusted/service_runtime/nacl_valgrind_hooks.h"
#include "native_client/src/trusted/service_runtime/sel_memory.h"
+#include "native_client/src/trusted/validator/validation_metadata.h"
/* private */
struct NaClElfImage {
@@ -623,9 +624,11 @@ NaClErrorCode NaClElfImageLoad(struct NaClElfImage *image,
}
-NaClErrorCode NaClElfImageLoadDynamically(struct NaClElfImage *image,
- struct NaClApp *nap,
- struct Gio *gfile) {
+NaClErrorCode NaClElfImageLoadDynamically(
+ struct NaClElfImage *image,
+ struct NaClApp *nap,
+ struct Gio *gfile,
+ struct NaClValidationMetadata *metadata) {
int segnum;
for (segnum = 0; segnum < image->ehdr.e_phnum; ++segnum) {
const Elf_Phdr *php = &image->phdrs[segnum];
@@ -678,8 +681,11 @@ NaClErrorCode NaClElfImageLoadDynamically(struct NaClElfImage *image,
"failed to read code segment\n");
return LOAD_READ_ERROR;
}
+ if (NULL != metadata) {
+ metadata->code_offset = offset;
+ }
result = NaClTextDyncodeCreate(nap, (uint32_t) vaddr,
- code_copy, (uint32_t) filesz);
+ code_copy, (uint32_t) filesz, metadata);
free(code_copy);
if (0 != result) {
NaClLog(LOG_ERROR, "NaClElfImageLoadDynamically: "

Powered by Google App Engine
This is Rietveld 408576698