-----Original Message----- > Date: Wed, 16 May 2018 14:08:02 +0800 > From: Gavin Hu <gavin...@arm.com> > To: dev@dpdk.org > CC: gavin hu <gavin...@arm.com> > Subject: [dpdk-dev] [PATCH v3 3/3] raw/ifpga_rawdev: fix the clang > compiling issue > X-Mailer: git-send-email 2.17.0 > > From: gavin hu <gavin...@arm.com> > > The patch fixes the compile issue with clang on ARM64.
Even ARM64 gcc 8.1 could detect this as an error and this patch fixes too. > > Newly introduced #pragma pack(1) in the header file caused comipiling > issues for the files who included it. > > In file included from ~/dpdk/drivers/raw/ifpga_rawdev/base/ > ifpga_fme_dperf.c:5: > In file included from ~/dpdk/drivers/raw/ifpga_rawdev/base/ > ifpga_feature_dev.h:8: > ~/dpdk/drivers/raw/ifpga_rawdev/base/ifpga_hw.h:8:10: error: > the current #pragma > pack alignment value is modified in the included file [-Werror, > -Wpragma-pack] > ~/dpdk/drivers/raw/ifpga_rawdev/base/ifpga_defines.h:100:9: note: > previous '#pragma pack' directive that modifies alignment is here. > > The fix is to change the #pragma pack alignment locally and not have > effect on other files who included this header file. > > Fixes: 56bb54ea1bdf ("raw/ifpga/base: add Intel FPGA OPAE share code") > > Signed-off-by: Gavin Hu <gavin...@arm.com> > Reviewed-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> Acked-by: Jerin Jacob <jerin.ja...@caviumnetworks.com> The subject could change to raw/ifpga: if Maintainer wishes to do so to maintain the consistency. > --- > drivers/raw/ifpga_rawdev/base/ifpga_defines.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/raw/ifpga_rawdev/base/ifpga_defines.h > b/drivers/raw/ifpga_rawdev/base/ifpga_defines.h > index 0b9622d5f..aa0252720 100644 > --- a/drivers/raw/ifpga_rawdev/base/ifpga_defines.h > +++ b/drivers/raw/ifpga_rawdev/base/ifpga_defines.h > @@ -97,7 +97,7 @@ enum port_feature_id { > /* > * All headers and structures must be byte-packed to match the spec. > */ > -#pragma pack(1) > +#pragma pack(push, 1) > > struct feature_header { > union { > @@ -1659,4 +1659,5 @@ struct bts_header { > (((bts_hdr)->guid_h == GBS_GUID_H) && \ > ((bts_hdr)->guid_l == GBS_GUID_L)) > > +#pragma pack(pop) > #endif /* _BASE_IFPGA_DEFINES_H_ */ > -- > 2.17.0 >