[dpdk-dev,v3,3/3] raw/ifpga_rawdev: fix the clang compiling issue

Message ID 20180516060802.36181-3-gavin.hu@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Gavin Hu May 16, 2018, 6:08 a.m. UTC
  From: gavin hu <gavin.hu@arm.com>

The patch fixes the compile issue with clang on ARM64.

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.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
---
 drivers/raw/ifpga_rawdev/base/ifpga_defines.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Jerin Jacob May 16, 2018, 6:45 a.m. UTC | #1
-----Original Message-----
> Date: Wed, 16 May 2018 14:08:02 +0800
> From: Gavin Hu <gavin.hu@arm.com>
> To: dev@dpdk.org
> CC: gavin hu <gavin.hu@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.hu@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.hu@arm.com>
> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>

Acked-by: Jerin Jacob <jerin.jacob@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
>
  
Gavin Hu May 17, 2018, 1:47 a.m. UTC | #2
If the subject changes to raw/ifpga, it will get a Wrong headline prefix(can be ignored?) warning when running git-log-fixes.h

Wrong headline prefix:
        raw/ifpga: fix the clang compiling issue

-----Original Message-----
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Sent: Wednesday, May 16, 2018 2:46 PM
To: Gavin Hu <Gavin.Hu@arm.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v3 3/3] raw/ifpga_rawdev: fix the clang compiling issue

-----Original Message-----
> Date: Wed, 16 May 2018 14:08:02 +0800
> From: Gavin Hu <gavin.hu@arm.com>
> To: dev@dpdk.org
> CC: gavin hu <gavin.hu@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.hu@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.hu@arm.com>
> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>

Acked-by: Jerin Jacob <jerin.jacob@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
>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
  
Thomas Monjalon May 20, 2018, 10:28 p.m. UTC | #3
17/05/2018 03:47, Gavin Hu:
> If the subject changes to raw/ifpga, it will get a Wrong headline prefix(can be ignored?) warning when running git-log-fixes.h

Yes, this warning can be ignored.
  

Patch

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_ */