mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00: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
1 changed files with 11 additions and 2 deletions
|
@ -670,9 +670,18 @@ err:
|
|||
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;
|
||||
|
||||
memset(s, '\0', n);
|
||||
|
|
Loading…
Reference in a new issue