From: gavin hu <gavin...@arm.com> The patch fixes the compile issue with clang on ARM64, as well as clang + X86 builing hosts.
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> Reviewed-by: Jerin Jacob <jerin.ja...@caviumnetworks.com> --- 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