81987f4958
- Try to fix things for new compiler madness. I really don't know why gcc decided __attribute__((packed)) on a "typedef struct" should imply __attribute__((align (1))) and that it should have a warning that it does so. The obvious behavior would be to keep the alignment of the first element unless it's used in another object or type that /also/ hask the packed attribute. Why should it change the default alignment at all? - Merge in the BLS patches Javier and I wrote. - Attempt to fix pmtimer initialization failures to not be super duper slow. Signed-off-by: Peter Jones <pjones@redhat.com>
45 lines
1.3 KiB
Diff
45 lines
1.3 KiB
Diff
From ecb06a3cb18f13882faeef81011396fac5594d71 Mon Sep 17 00:00:00 2001
|
|
From: Peter Jones <pjones@redhat.com>
|
|
Date: Mon, 1 May 2017 11:19:40 -0400
|
|
Subject: [PATCH 172/206] print more debug info in our module loader.
|
|
|
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
|
---
|
|
grub-core/kern/efi/efi.c | 16 +++++++++++++---
|
|
1 file changed, 13 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
|
|
index 684ca93f8f4..1f3ac5e1d08 100644
|
|
--- a/grub-core/kern/efi/efi.c
|
|
+++ b/grub-core/kern/efi/efi.c
|
|
@@ -304,13 +304,23 @@ grub_efi_modules_addr (void)
|
|
}
|
|
|
|
if (i == coff_header->num_sections)
|
|
- return 0;
|
|
+ {
|
|
+ grub_dprintf("sections", "section %d is last section; invalid.\n", i);
|
|
+ return 0;
|
|
+ }
|
|
|
|
info = (struct grub_module_info *) ((char *) image->image_base
|
|
+ section->virtual_address);
|
|
- if (info->magic != GRUB_MODULE_MAGIC)
|
|
- return 0;
|
|
+ if (section->name[0] != '.' && info->magic != GRUB_MODULE_MAGIC)
|
|
+ {
|
|
+ grub_dprintf("sections",
|
|
+ "section %d has bad magic %08lx, should be %08lx\n",
|
|
+ i, info->magic, GRUB_MODULE_MAGIC);
|
|
+ return 0;
|
|
+ }
|
|
|
|
+ grub_dprintf("sections", "returning section info for section %d: \"%s\"\n",
|
|
+ i, section->name);
|
|
return (grub_addr_t) info;
|
|
}
|
|
|
|
--
|
|
2.15.0
|
|
|