mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-06-09 23:36:03 +09:00
disk: efi: avoid unaligned pointer error
When building with GCC 9.1 an error occurs: disk/part_efi.c: In function ‘gpt_verify_partitions’: disk/part_efi.c:737:49: error: taking address of packed member of ‘struct _gpt_entry’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 737 | gpt_convert_efi_name_to_char(efi_str, gpt_e[i].partition_name, | ~~~~~~~~^~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[1]: *** [scripts/Makefile.build:279: disk/part_efi.o] Error 1 make: *** [Makefile:1594: disk] Error 2 Adjust gpt_convert_efi_name_to_char() to accept unaligned strings. Reported-by: Ramon Fried <rfried.dev@gmail.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
c0b352ec92
commit
06e921b185
|
@ -670,9 +670,18 @@ err:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gpt_convert_efi_name_to_char(char *s, efi_char16_t *es, int n)
|
/**
|
||||||
|
* gpt_convert_efi_name_to_char() - convert u16 string to char string
|
||||||
|
*
|
||||||
|
* TODO: this conversion only supports ANSI characters
|
||||||
|
*
|
||||||
|
* @s: target buffer
|
||||||
|
* @es: u16 string to be converted
|
||||||
|
* @n: size of target buffer
|
||||||
|
*/
|
||||||
|
static void gpt_convert_efi_name_to_char(char *s, void *es, int n)
|
||||||
{
|
{
|
||||||
char *ess = (char *)es;
|
char *ess = es;
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
memset(s, '\0', n);
|
memset(s, '\0', n);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user