summaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2021-12-17 16:06:06 +0000
committerAda Christine <adachristine18@gmail.com>2021-12-17 16:06:06 +0000
commitd5f485a4f6801f58cbb2bc9d8e80c955c79ff044 (patch)
treee49757ff0b076fe9f0088de92e5691d362e769a0 /loader
parentec1233b4fcd61a8d1eccbf030cede36e9848e06c (diff)
R_AMD64_RELATIVE relocations implemented for EFI shim
Diffstat (limited to 'loader')
-rw-r--r--loader/main_efi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/loader/main_efi.c b/loader/main_efi.c
index 7edb44d..4c9c9a0 100644
--- a/loader/main_efi.c
+++ b/loader/main_efi.c
@@ -145,7 +145,8 @@ EFI_STATUS open_image(struct efi_loader_image *image)
&ehdr_size,
&ehdr))))
{
- if (elf_validate(&ehdr, ET_EXEC, EM_X86_64))
+ if (elf_validate(&ehdr, ET_EXEC, EM_X86_64) ||
+ elf_validate(&ehdr, ET_DYN, EM_X86_64))
{
phdrs_size = ehdr.e_phentsize * ehdr.e_phnum;
phdrs = AllocatePool(phdrs_size);