umbim: fix compilation with GCC 10
authorStijn Tintel <stijn@linux-ipv6.be>
Wed, 18 Aug 2021 17:27:40 +0000 (20:27 +0300)
committerStijn Tintel <stijn@linux-ipv6.be>
Wed, 18 Aug 2021 17:33:25 +0000 (20:33 +0300)
When building umbim with GCC 10, a bunch of these errors appear:

cli.c: In function 'mbim_device_caps_response':
cli.c:55:29: error: taking address of packed member of 'struct mbim_basic_connect_device_caps_r' may result in an unaligned pointer value [-Werror=address-of-packed-member]
   55 |  deviceid = mbim_get_string(&caps->deviceid, buffer);
      |                             ^~~~~~~~~~~~~~~

Fix them by disabling padding between fields of struct mbim_string.

Acked-by: John Crispin <john@phrozen.org>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
mbim-type.h

index ddc36fabaa3680c8665a0cc105f1fc90ef9dfa17..fdbe68488948918d01b468cbd335a8e2e4083aca 100644 (file)
@@ -18,7 +18,7 @@
 struct mbim_string {
        uint32_t offset;
        uint32_t length;
-};
+} __attribute__((packed));
 
 struct mbim_enum {
        uint32_t key;