mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
UPSTREAM: scripts/sortextable: add support for ET_DYN binaries
Add support to scripts/sortextable for handling relocatable (PIE)
executables, whose ELF type is ET_DYN, not ET_EXEC. Other than adding
support for the new type, no changes are needed.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Bug: 30369029
Patchset: kaslr-arm64-4.4
(cherry picked from commit 7b957b6e60)
Signed-off-by: Jeff Vander Stoep <jeffv@google.com>
Change-Id: If55296ef4934b99c38ceb5acbd7c4a7fb23f24c1
This commit is contained in:
committed by
Jeff Vander Stoep
parent
e0357208fb
commit
eebed210c5
@@ -266,9 +266,9 @@ do_file(char const *const fname)
|
||||
break;
|
||||
} /* end switch */
|
||||
if (memcmp(ELFMAG, ehdr->e_ident, SELFMAG) != 0
|
||||
|| r2(&ehdr->e_type) != ET_EXEC
|
||||
|| (r2(&ehdr->e_type) != ET_EXEC && r2(&ehdr->e_type) != ET_DYN)
|
||||
|| ehdr->e_ident[EI_VERSION] != EV_CURRENT) {
|
||||
fprintf(stderr, "unrecognized ET_EXEC file %s\n", fname);
|
||||
fprintf(stderr, "unrecognized ET_EXEC/ET_DYN file %s\n", fname);
|
||||
fail_file();
|
||||
}
|
||||
|
||||
@@ -304,7 +304,7 @@ do_file(char const *const fname)
|
||||
if (r2(&ehdr->e_ehsize) != sizeof(Elf32_Ehdr)
|
||||
|| r2(&ehdr->e_shentsize) != sizeof(Elf32_Shdr)) {
|
||||
fprintf(stderr,
|
||||
"unrecognized ET_EXEC file: %s\n", fname);
|
||||
"unrecognized ET_EXEC/ET_DYN file: %s\n", fname);
|
||||
fail_file();
|
||||
}
|
||||
do32(ehdr, fname, custom_sort);
|
||||
@@ -314,7 +314,7 @@ do_file(char const *const fname)
|
||||
if (r2(&ghdr->e_ehsize) != sizeof(Elf64_Ehdr)
|
||||
|| r2(&ghdr->e_shentsize) != sizeof(Elf64_Shdr)) {
|
||||
fprintf(stderr,
|
||||
"unrecognized ET_EXEC file: %s\n", fname);
|
||||
"unrecognized ET_EXEC/ET_DYN file: %s\n", fname);
|
||||
fail_file();
|
||||
}
|
||||
do64(ghdr, fname, custom_sort);
|
||||
|
||||
Reference in New Issue
Block a user