Message ID | alpine.DEB.2.21.1911271437420.27669@sstabellini-ThinkPad-T480s (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | RFC disable GCC 9 -Waddress-of-packed-member | expand |
On 27/11/2019 22:44, Stefano Stabellini wrote: > Hi all, > > GCC 9 introduced a new warning: address-of-packed-member. It warns when > a pointer points to a member of a packed struct, leading to a build > failure in Xen (cross compiling Xen on Arm with GCC 9.2): > > 556 trace.c: In function '__trace_hypercall': > 557 trace.c:826:19: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value > [-Werror=address-of-packed-member] > 558 826 | uint32_t *a = d.args; > > Looking at the code, I cannot see anything wrong with what we are doing. > At least on Arm, it looks OK? Anything I am missing? c/s 3fd3b266d4 at a guess. ~Andrew
On Wed, 27 Nov 2019, Andrew Cooper wrote: > On 27/11/2019 22:44, Stefano Stabellini wrote: > > Hi all, > > > > GCC 9 introduced a new warning: address-of-packed-member. It warns when > > a pointer points to a member of a packed struct, leading to a build > > failure in Xen (cross compiling Xen on Arm with GCC 9.2): > > > > 556 trace.c: In function '__trace_hypercall': > > 557 trace.c:826:19: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value > > [-Werror=address-of-packed-member] > > 558 826 | uint32_t *a = d.args; > > > > Looking at the code, I cannot see anything wrong with what we are doing. > > At least on Arm, it looks OK? Anything I am missing? > > c/s 3fd3b266d4 at a guess. Thank you! I missed it :-/
diff --git a/xen/Rules.mk b/xen/Rules.mk index 5337e20..8d5c77c 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -86,6 +86,9 @@ CFLAGS += $(CFLAGS-y) # allow extra CFLAGS externally via EXTRA_CFLAGS_XEN_CORE CFLAGS += $(EXTRA_CFLAGS_XEN_CORE) +# Disable GCC 9 warning about pointers to members of a packed struct +CFLAGS += -Wno-address-of-packed-member + # Most CFLAGS are safe for assembly files: # -std=gnu{89,99} gets confused by #-prefixed end-of-line comments # -flto makes no sense and annoys clang