On Tue, Dec 17, 2019 at 06:54:01AM -0500, Brian Foster wrote: > On Tue, Dec 17, 2019 at 08:52:45AM +1100, Dave Chinner wrote: > > From: Dave Chinner <dchinner@xxxxxxxxxx> > > > > gcc 9.2.1 throws lots of new warnings during the build like this: > > > > xfs_format.h:790:3: warning: taking address of packed member of ‘struct xfs_agfl’ may result in an unaligned pointer value [-Waddress-of-packed-member] > > 790 | &(XFS_BUF_TO_AGFL(bp)->agfl_bno[0]) : \ > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > xfs_alloc.c:3149:13: note: in expansion of macro ‘XFS_BUF_TO_AGFL_BNO’ > > 3149 | agfl_bno = XFS_BUF_TO_AGFL_BNO(mp, agflbp); > > | ^~~~~~~~~~~~~~~~~~~ > > > > We know this packed structure aligned correctly, so turn off this > > warning to shut gcc up. > > > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > > --- > > I'm wondering if we could just use offsetof() in this case so we don't > have to disable a warning for the entire project, particularly if this > is triggered by a small number of macros.. ...and maybe kill the shouty macro while we're at it. :) --D > Brian > > > include/builddefs.in | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/include/builddefs.in b/include/builddefs.in > > index 4700b52706a7..6fdc9ebb70c7 100644 > > --- a/include/builddefs.in > > +++ b/include/builddefs.in > > @@ -13,7 +13,7 @@ OPTIMIZER = @opt_build@ > > MALLOCLIB = @malloc_lib@ > > LOADERFLAGS = @LDFLAGS@ > > LTLDFLAGS = @LDFLAGS@ > > -CFLAGS = @CFLAGS@ -D_FILE_OFFSET_BITS=64 > > +CFLAGS = @CFLAGS@ -D_FILE_OFFSET_BITS=64 -Wno-address-of-packed-member > > BUILD_CFLAGS = @BUILD_CFLAGS@ -D_FILE_OFFSET_BITS=64 > > > > LIBRT = @librt@ > > -- > > 2.24.0.rc0 > > >