diff mbox

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

Message ID b4032ebd7dbfdc38430878c557c9c83c9f4ec2d0.1402317549.git.riku.voipio@linaro.org
State Superseded
Headers show

Commit Message

Riku Voipio June 9, 2014, 12:46 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 03a8719..b405b7f 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1272,7 +1272,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));
 }