Skip to content
  • Andy Shevchenko's avatar
    gcc-9: silence 'address-of-packed-member' warning · 53dc8ae6
    Andy Shevchenko authored and Tom Rini's avatar Tom Rini committed
    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 ...
    53dc8ae6