Chromium Code Reviews| 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..f9d35e7fb7daaa064da2317a06fe99da8ccfbc1e 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 (metadata) { |
|
bsy
2013/03/28 00:11:49
NULL != metadata consistent w/ style here write.
y
|
| + 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: " |