Skip to content
  • Andy Shevchenko's avatar
    3fabf7d6
    gcc-9: silence 'address-of-packed-member' warning · 3fabf7d6
    Andy Shevchenko authored
    
    
    commit 53dc8ae6 upstream.
    
    GCC 9.x starts complaining about potential misalignment of the pointer to
    the array (in this case alignment=2) in the packed (alignment=1) structures.
    
    Repeating Linus' Torvalds commit 6f303d60534c in the Linux kernel.
    
    Original commit message:
    
      We already did this for clang, but now gcc has that warning too.
      Yes, yes, the address may be unaligned.  And that's kind of the point.
    
    This in particular hides the warnings like
    
    drivers/usb/gadget/composite.c:545:23: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
      545 |    collect_langs(sp, s->wData);
    
    drivers/usb/gadget/composite.c:550:24: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
      550 |     collect_langs(sp, s->wData);
    
    drivers/usb/gadget/composite.c:555:25: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
      555 |      collect_langs(sp, s->wData);
    
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
    3fabf7d6
    gcc-9: silence 'address-of-packed-member' warning
    Andy Shevchenko authored
    
    
    commit 53dc8ae6 upstream.
    
    GCC 9.x starts complaining about potential misalignment of the pointer to
    the array (in this case alignment=2) in the packed (alignment=1) structures.
    
    Repeating Linus' Torvalds commit 6f303d60534c in the Linux kernel.
    
    Original commit message:
    
      We already did this for clang, but now gcc has that warning too.
      Yes, yes, the address may be unaligned.  And that's kind of the point.
    
    This in particular hides the warnings like
    
    drivers/usb/gadget/composite.c:545:23: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
      545 |    collect_langs(sp, s->wData);
    
    drivers/usb/gadget/composite.c:550:24: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
      550 |     collect_langs(sp, s->wData);
    
    drivers/usb/gadget/composite.c:555:25: warning: taking address of packed member of ‘struct usb_string_descriptor’ may result in an unaligned pointer value [-Waddress-of-packed-member]
      555 |      collect_langs(sp, s->wData);
    
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
Loading