34 lines
946 B
Diff
34 lines
946 B
Diff
From 364351b4448ff20730250e89ad09088d6aeafc72 Mon Sep 17 00:00:00 2001
|
|
From: Peter Jones <pjones@cutlet.install.bos.redhat.com>
|
|
Date: Fri, 3 Oct 2008 14:40:56 -0400
|
|
Subject: [PATCH] Fix the case where there are no relocations.
|
|
|
|
diff --git a/gnuefi/reloc_ia32.c b/gnuefi/reloc_ia32.c
|
|
index 9bf4a8d..0b461cf 100644
|
|
--- a/gnuefi/reloc_ia32.c
|
|
+++ b/gnuefi/reloc_ia32.c
|
|
@@ -76,6 +76,9 @@ EFI_STATUS _relocate (long ldbase, ElfW(Dyn) *dyn, EFI_HANDLE image, EFI_SYSTEM_
|
|
}
|
|
}
|
|
|
|
+ if (!rel && relent == 0)
|
|
+ return EFI_SUCCESS;
|
|
+
|
|
if (!rel || relent == 0)
|
|
return EFI_LOAD_ERROR;
|
|
|
|
diff --git a/gnuefi/reloc_x86_64.c b/gnuefi/reloc_x86_64.c
|
|
index 9906084..3f94f47 100644
|
|
--- a/gnuefi/reloc_x86_64.c
|
|
+++ b/gnuefi/reloc_x86_64.c
|
|
@@ -76,6 +76,9 @@ EFI_STATUS _relocate (long ldbase, ElfW(Dyn) *dyn, EFI_HANDLE image, EFI_SYSTEM_
|
|
}
|
|
}
|
|
|
|
+ if (!rel && relent == 0)
|
|
+ return EFI_SUCCESS;
|
|
+
|
|
if (!rel || relent == 0)
|
|
return EFI_LOAD_ERROR;
|
|
|