diff options
author | Vivek Goyal <vgoyal@in.ibm.com> | 2006-09-21 14:51:05 -0400 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2006-10-06 12:46:16 +0900 |
commit | dd3f52d4668938b9b3ad91607d7df3cf337b0863 (patch) | |
tree | 7b3b51e254421e8b08d48f68b87685c706946498 /kexec/kexec-elf-rel.c | |
parent | 46ecc6c6c77b1fab20b08286209631a00eb1049e (diff) |
kexec-tools: Add a new parameter to generic elf parsing functions
o Adding a new parameter to elf functions. This flag can be used to alter
the function behaviour. Currently only one bit is being used for skipping
the elf file len check while builing the elf info.
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/kexec-elf-rel.c')
-rw-r--r-- | kexec/kexec-elf-rel.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/kexec/kexec-elf-rel.c b/kexec/kexec-elf-rel.c index ae78a09..4419937 100644 --- a/kexec/kexec-elf-rel.c +++ b/kexec/kexec-elf-rel.c @@ -135,10 +135,11 @@ static struct mem_rela elf_rela(struct mem_ehdr *ehdr, const unsigned char *ptr) return rela; } -int build_elf_rel_info(const char *buf, off_t len, struct mem_ehdr *ehdr) +int build_elf_rel_info(const char *buf, off_t len, struct mem_ehdr *ehdr, + uint32_t flags) { int result; - result = build_elf_info(buf, len, ehdr); + result = build_elf_info(buf, len, ehdr, flags); if (result < 0) { return result; } @@ -419,12 +420,12 @@ int elf_rel_load(struct mem_ehdr *ehdr, struct kexec_info *info, void elf_rel_build_load(struct kexec_info *info, struct mem_ehdr *ehdr, const char *buf, off_t len, unsigned long min, unsigned long max, - int end) + int end, uint32_t flags) { int result; /* Parse the Elf file */ - result = build_elf_rel_info(buf, len, ehdr); + result = build_elf_rel_info(buf, len, ehdr, flags); if (result < 0) { die("ELF rel parse failed\n"); } |