Revision: 2027
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2027
Author: robertmh
Date: 2009-03-11 21:27:01 +0000 (Wed, 11 Mar 2009)
Log Message:
-----------
2009-03-11 Robert Millan <[email protected]>
* loader/i386/multiboot_elfxx.c
(CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/loader/i386/multiboot_elfxx.c
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2009-03-11 08:25:22 UTC (rev 2026)
+++ trunk/grub2/ChangeLog 2009-03-11 21:27:01 UTC (rev 2027)
@@ -1,3 +1,8 @@
+2009-03-11 Robert Millan <[email protected]>
+
+ * loader/i386/multiboot_elfxx.c
+ (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
+
2009-03-11 Felix Zielcke <[email protected]>
* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
Modified: trunk/grub2/loader/i386/multiboot_elfxx.c
===================================================================
--- trunk/grub2/loader/i386/multiboot_elfxx.c 2009-03-11 08:25:22 UTC (rev
2026)
+++ trunk/grub2/loader/i386/multiboot_elfxx.c 2009-03-11 21:27:01 UTC (rev
2027)
@@ -63,10 +63,10 @@
|| ehdr->e_ident[EI_DATA] != ELFDATA2LSB
|| ehdr->e_machine != E_MACHINE)
return grub_error(GRUB_ERR_UNKNOWN_OS, "no valid ELF header found");
-
- if (ehdr->e_type != ET_EXEC)
+
+ if (ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN)
return grub_error (GRUB_ERR_UNKNOWN_OS, "invalid ELF file type");
-
+
/* FIXME: Should we support program headers at strange locations? */
if (ehdr->e_phoff + ehdr->e_phnum * ehdr->e_phentsize > MULTIBOOT_SEARCH)
return grub_error (GRUB_ERR_BAD_OS, "program header at a too high offset");