diff mbox

[PULL,v2,17/17] User mode support for Linux ELF files with no section header

Message ID d3606f07440ee2c2bebea2b9932938e08b66d90b.1403016610.git.riku.voipio@linaro.org
State Accepted
Commit d3606f07440ee2c2bebea2b9932938e08b66d90b
Headers show

Commit Message

Riku Voipio June 17, 2014, 2:57 p.m. UTC
From: Craig Heffner <cheffner@tacnetsol.com>

In user mode Linux, Qemu currently refuses to load ELF files that do not
contain section headers (ehdr->e_shentsize == 0). Since section headers are not
required in order to load an ELF file, simply removing the e_shentsize check in
elf_check_ehdr() allows ELF binaries with no section headers to be run properly
in user mode:

Signed-off-by: Craig Heffner <cheffner@tacnetsol.com>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
---
 linux-user/elfload.c | 1 -
 1 file changed, 1 deletion(-)
diff mbox

Patch

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index c123244..1248eda 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1292,7 +1292,6 @@  static bool elf_check_ehdr(struct elfhdr *ehdr)
     return (elf_check_arch(ehdr->e_machine)
             && ehdr->e_ehsize == sizeof(struct elfhdr)
             && ehdr->e_phentsize == sizeof(struct elf_phdr)
-            && ehdr->e_shentsize == sizeof(struct elf_shdr)
             && (ehdr->e_type == ET_EXEC || ehdr->e_type == ET_DYN));
 }