raw/ifpga: fix ARM build with clang
authorGavin Hu <gavin.hu@arm.com>
Thu, 17 May 2018 02:46:10 +0000 (10:46 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 20 May 2018 22:58:43 +0000 (00:58 +0200)
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 compiling
issues for the files who included it.

In file included from drivers/raw/ifpga_rawdev/base/ifpga_fme_dperf.c:5:
In file included from drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h:8:
drivers/raw/ifpga_rawdev/base/ifpga_hw.h:8:10: error:
the current #pragma pack alignment value is modified in the included file

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.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
drivers/raw/ifpga_rawdev/base/ifpga_defines.h

index 0b9622d..aa02527 100644 (file)
@@ -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_ */