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>
37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
From c4369d658d7a0f372e7378e119f7a16dc7d93624 Mon Sep 17 00:00:00 2001
|
|
From: Peter Jones <pjones@redhat.com>
|
|
Date: Tue, 27 Feb 2018 13:55:35 -0500
|
|
Subject: [PATCH 199/206] align struct efi_variable better...
|
|
|
|
---
|
|
include/grub/efiemu/runtime.h | 2 +-
|
|
include/grub/types.h | 1 +
|
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h
|
|
index 9b6b729f4cc..856774a7c34 100644
|
|
--- a/include/grub/efiemu/runtime.h
|
|
+++ b/include/grub/efiemu/runtime.h
|
|
@@ -33,5 +33,5 @@ struct efi_variable
|
|
grub_uint32_t namelen;
|
|
grub_uint32_t size;
|
|
grub_efi_uint32_t attributes;
|
|
-} GRUB_PACKED;
|
|
+} GRUB_PACKED GRUB_ALIGNED(8);
|
|
#endif /* ! GRUB_EFI_EMU_RUNTIME_HEADER */
|
|
diff --git a/include/grub/types.h b/include/grub/types.h
|
|
index b93e4820194..f6a9723971d 100644
|
|
--- a/include/grub/types.h
|
|
+++ b/include/grub/types.h
|
|
@@ -29,6 +29,7 @@
|
|
#else
|
|
#define GRUB_PACKED __attribute__ ((packed))
|
|
#endif
|
|
+#define GRUB_ALIGNED(x) __attribute__((aligned (x)))
|
|
|
|
#ifdef GRUB_BUILD
|
|
# define GRUB_CPU_SIZEOF_VOID_P BUILD_SIZEOF_VOID_P
|
|
--
|
|
2.15.0
|
|
|