| Disable address-of-packed-member warnings with gcc9 |
| |
| gcc9 has turned this warning into error when -Werror is used, lets paper |
| it over by turning it into a warning for now |
| |
| Fixes |
| error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member] |
| |
| Upstream-Status: Pending |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- a/grub-core/commands/lsacpi.c |
| +++ b/grub-core/commands/lsacpi.c |
| @@ -26,6 +26,9 @@ |
| #include <grub/dl.h> |
| |
| #pragma GCC diagnostic ignored "-Wcast-align" |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| |
| GRUB_MOD_LICENSE ("GPLv3+"); |
| |
| --- a/grub-core/commands/lspci.c |
| +++ b/grub-core/commands/lspci.c |
| @@ -26,6 +26,9 @@ |
| |
| GRUB_MOD_LICENSE ("GPLv3+"); |
| |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| struct grub_pci_classname |
| { |
| int class; |
| @@ -171,7 +174,7 @@ grub_lspci_iter (grub_pci_device_t dev, |
| |
| if (space == 0) |
| continue; |
| - |
| + |
| switch (space & GRUB_PCI_ADDR_SPACE_MASK) |
| { |
| case GRUB_PCI_ADDR_SPACE_IO: |
| @@ -195,13 +198,13 @@ grub_lspci_iter (grub_pci_device_t dev, |
| (space & GRUB_PCI_ADDR_MEM_MASK), |
| space & GRUB_PCI_ADDR_MEM_PREFETCH |
| ? "prefetchable" : "non-prefetchable"); |
| - |
| + |
| } |
| else |
| grub_printf ("\t32-bit memory space %d at 0x%016llx [%s]\n", |
| (unsigned) ((reg - GRUB_PCI_REG_ADDRESSES) |
| / sizeof (grub_uint32_t)) - 1, |
| - (unsigned long long) |
| + (unsigned long long) |
| (space & GRUB_PCI_ADDR_MEM_MASK), |
| space & GRUB_PCI_ADDR_MEM_PREFETCH |
| ? "prefetchable" : "non-prefetchable"); |
| --- a/grub-core/fs/cpio_common.c |
| +++ b/grub-core/fs/cpio_common.c |
| @@ -26,7 +26,9 @@ |
| #include <grub/archelp.h> |
| |
| GRUB_MOD_LICENSE ("GPLv3+"); |
| - |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| struct grub_archelp_data |
| { |
| grub_disk_t disk; |
| @@ -108,7 +110,7 @@ grub_cpio_get_link_target (struct grub_a |
| if (!ret) |
| return NULL; |
| |
| - err = grub_disk_read (data->disk, 0, data->dofs, data->size, |
| + err = grub_disk_read (data->disk, 0, data->dofs, data->size, |
| ret); |
| if (err) |
| { |
| --- a/grub-core/fs/hfs.c |
| +++ b/grub-core/fs/hfs.c |
| @@ -32,6 +32,9 @@ |
| #include <grub/fshelp.h> |
| |
| GRUB_MOD_LICENSE ("GPLv3+"); |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| |
| #define GRUB_HFS_SBLOCK 2 |
| #define GRUB_HFS_EMBED_HFSPLUS_SIG 0x482B |
| @@ -882,7 +885,7 @@ grub_hfs_iterate_dir_it_dir (struct grub |
| { |
| struct grub_hfs_catalog_key *ckey = rec->key; |
| struct grub_hfs_iterate_dir_node_found_ctx *ctx = hook_arg; |
| - |
| + |
| /* Stop when the entries do not match anymore. */ |
| if (ckey->parent_dir != ctx->dir_be) |
| return 1; |
| @@ -1076,7 +1079,7 @@ macroman_to_utf8 (char *to, const grub_u |
| { |
| *optr++ = ':'; |
| continue; |
| - } |
| + } |
| if (!(*iptr & 0x80)) |
| { |
| *optr++ = *iptr; |
| @@ -1093,7 +1096,7 @@ utf8_to_macroman (grub_uint8_t *to, cons |
| grub_uint8_t *end = to + 31; |
| grub_uint8_t *optr = to; |
| const char *iptr = from; |
| - |
| + |
| while (*iptr && optr < end) |
| { |
| int i, clen; |
| @@ -1103,7 +1106,7 @@ utf8_to_macroman (grub_uint8_t *to, cons |
| *optr++ = '/'; |
| iptr++; |
| continue; |
| - } |
| + } |
| if (!(*iptr & 0x80)) |
| { |
| *optr++ = *iptr++; |
| @@ -1164,7 +1167,7 @@ lookup_file (grub_fshelp_node_t dir, |
| *foundnode = grub_malloc (sizeof (struct grub_fshelp_node)); |
| if (!*foundnode) |
| return grub_errno; |
| - |
| + |
| (*foundnode)->inode = grub_be_to_cpu32 (fdrec.dir.dirid); |
| (*foundnode)->fdrec = fdrec; |
| (*foundnode)->data = dir->data; |
| @@ -1265,7 +1268,7 @@ grub_hfs_dir (grub_device_t device, cons |
| .hook_data = hook_data |
| }; |
| grub_fshelp_node_t found = NULL; |
| - |
| + |
| grub_dl_ref (my_mod); |
| |
| data = grub_hfs_mount (device->disk); |
| @@ -1294,7 +1297,7 @@ grub_hfs_open (struct grub_file *file, c |
| { |
| struct grub_hfs_data *data; |
| grub_fshelp_node_t found = NULL; |
| - |
| + |
| grub_dl_ref (my_mod); |
| |
| data = grub_hfs_mount (file->device->disk); |
| --- a/grub-core/fs/hfsplus.c |
| +++ b/grub-core/fs/hfsplus.c |
| @@ -19,7 +19,7 @@ |
| |
| /* HFS+ is documented at http://developer.apple.com/technotes/tn/tn1150.html */ |
| |
| -#define grub_fshelp_node grub_hfsplus_file |
| +#define grub_fshelp_node grub_hfsplus_file |
| #include <grub/err.h> |
| #include <grub/file.h> |
| #include <grub/mm.h> |
| @@ -34,6 +34,9 @@ |
| |
| GRUB_MOD_LICENSE ("GPLv3+"); |
| |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| /* The type of node. */ |
| enum grub_hfsplus_btnode_type |
| { |
| @@ -145,7 +148,7 @@ grub_hfsplus_read_block (grub_fshelp_nod |
| { |
| struct grub_hfsplus_btnode *nnode = 0; |
| grub_disk_addr_t blksleft = fileblock; |
| - struct grub_hfsplus_extent *extents = node->compressed |
| + struct grub_hfsplus_extent *extents = node->compressed |
| ? &node->resource_extents[0] : &node->extents[0]; |
| |
| while (1) |
| @@ -461,7 +464,7 @@ grub_hfsplus_cmp_extkey (struct grub_hfs |
| |
| if (extkey_a->type < extkey_b->type) |
| return -1; |
| - |
| + |
| akey = grub_be_to_cpu32 (extkey_a->start); |
| if (akey > extkey_b->start) |
| return 1; |
| @@ -548,7 +551,7 @@ grub_hfsplus_btree_search (struct grub_h |
| struct grub_hfsplus_key_internal *key, |
| int (*compare_keys) (struct grub_hfsplus_key *keya, |
| struct grub_hfsplus_key_internal *keyb), |
| - struct grub_hfsplus_btnode **matchnode, |
| + struct grub_hfsplus_btnode **matchnode, |
| grub_off_t *keyoffset) |
| { |
| grub_uint64_t currnode; |
| --- a/grub-core/fs/jfs.c |
| +++ b/grub-core/fs/jfs.c |
| @@ -28,6 +28,9 @@ |
| #include <grub/i18n.h> |
| |
| GRUB_MOD_LICENSE ("GPLv3+"); |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| |
| #define GRUB_JFS_MAX_SYMLNK_CNT 8 |
| #define GRUB_JFS_FILETYPE_MASK 0170000 |
| --- a/grub-core/kern/efi/efi.c |
| +++ b/grub-core/kern/efi/efi.c |
| @@ -29,6 +29,9 @@ |
| #include <grub/mm.h> |
| #include <grub/loader.h> |
| |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| /* The handle of GRUB itself. Filled in by the startup code. */ |
| grub_efi_handle_t grub_efi_image_handle; |
| |
| @@ -201,7 +204,7 @@ grub_efi_set_variable(const char *var, c |
| |
| r = grub_efi_system_table->runtime_services; |
| |
| - status = efi_call_5 (r->set_variable, var16, guid, |
| + status = efi_call_5 (r->set_variable, var16, guid, |
| (GRUB_EFI_VARIABLE_NON_VOLATILE |
| | GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS |
| | GRUB_EFI_VARIABLE_RUNTIME_ACCESS), |
| --- a/grub-core/loader/efi/chainloader.c |
| +++ b/grub-core/loader/efi/chainloader.c |
| @@ -41,6 +41,9 @@ |
| #endif |
| |
| GRUB_MOD_LICENSE ("GPLv3+"); |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| |
| static grub_dl_t my_mod; |
| |
| --- a/grub-core/commands/usbtest.c |
| +++ b/grub-core/commands/usbtest.c |
| @@ -63,6 +63,10 @@ static const char *usb_devspeed[] = |
| "High" |
| }; |
| |
| +#if __GNUC__ >= 9 |
| +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" |
| +#endif |
| + |
| static grub_usb_err_t |
| grub_usb_get_string (grub_usb_device_t dev, grub_uint8_t index, int langid, |
| char **string) |