All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform
@ 2016-03-25  7:20 Michael Qiu
  2016-03-25  7:20 ` [PATCH 1/2] lib/librte_lpm: Fix anonymous union initialization issue Michael Qiu
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Michael Qiu @ 2016-03-25  7:20 UTC (permalink / raw)
  To: dev; +Cc: Michael Qiu

In SUSE11 SP3 i686 platform with gcc version 4.5.1, there is
some compile issues. This patch set is try to fix them.

Michael Qiu (2):
  lib/librte_lpm: Fix anonymous union initialization issue
  drivers/crypto: Fix anonymous union initialization in crypto

 drivers/crypto/null/null_crypto_pmd_ops.c | 16 ++++++++--------
 lib/librte_lpm/rte_lpm.c                  | 14 +++++++-------
 2 files changed, 15 insertions(+), 15 deletions(-)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2] lib/librte_lpm: Fix anonymous union initialization issue
  2016-03-25  7:20 [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform Michael Qiu
@ 2016-03-25  7:20 ` Michael Qiu
  2016-03-25 17:02   ` Stephen Hemminger
  2016-03-30  3:38   ` [PATCH 1/2 v2] " Michael Qiu
  2016-03-25  7:20 ` [PATCH 2/2] drivers/crypto: Fix anonymous union initialization in crypto Michael Qiu
  2016-03-31 19:32 ` [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform Thomas Monjalon
  2 siblings, 2 replies; 8+ messages in thread
From: Michael Qiu @ 2016-03-25  7:20 UTC (permalink / raw)
  To: dev; +Cc: Michael Qiu

In SUSE11-SP3 i686 platform, with gcc 4.5.1, there is a
compile issue:
	rte_lpm.c: In function ‘add_depth_small_v20’:
	rte_lpm.c:778:7: error: unknown field ‘next_hop’
		specified in initializer
	cc1: warnings being treated as errors
The root casue is gcc only allow anonymous union initialized
according to the field it is defined. But next_hop is defined
in different field when in different platform(Endian).

One solution is add if define in the code to avoid this issue,
but there is a simple way, initialize it separately later.

Fixes: afc5c914a083 ("lpm: fix big endian support")

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
---
 lib/librte_lpm/rte_lpm.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index af5811c..efd507e 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -744,11 +744,11 @@ add_depth_small_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth,
 				lpm->tbl24[i].depth <= depth)) {
 
 			struct rte_lpm_tbl_entry_v20 new_tbl24_entry = {
-				{ .next_hop = next_hop, },
 				.valid = VALID,
 				.valid_group = 0,
 				.depth = depth,
 			};
+			new_tbl24_entry.next_hop = next_hop;
 
 			/* Setting tbl24 entry in one go to avoid race
 			 * conditions
@@ -775,8 +775,8 @@ add_depth_small_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth,
 						.valid = VALID,
 						.valid_group = VALID,
 						.depth = depth,
-						.next_hop = next_hop,
 					};
+					new_tbl8_entry.next_hop=next_hop;
 
 					/*
 					 * Setting tbl8 entry in one go to avoid
@@ -975,10 +975,9 @@ add_depth_big_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked, uint8_t depth,
 				struct rte_lpm_tbl_entry_v20 new_tbl8_entry = {
 					.valid = VALID,
 					.depth = depth,
-					.next_hop = next_hop,
 					.valid_group = lpm->tbl8[i].valid_group,
 				};
-
+				new_tbl8_entry.next_hop = next_hop;
 				/*
 				 * Setting tbl8 entry in one go to avoid race
 				 * condition
@@ -1375,9 +1374,9 @@ delete_depth_small_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked,
 			.valid = VALID,
 			.valid_group = VALID,
 			.depth = sub_rule_depth,
-			.next_hop = lpm->rules_tbl
-			[sub_rule_index].next_hop,
 		};
+		new_tbl8_entry.next_hop =
+				lpm->rules_tbl[sub_rule_index].next_hop;
 
 		for (i = tbl24_index; i < (tbl24_index + tbl24_range); i++) {
 
@@ -1639,9 +1638,10 @@ delete_depth_big_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked,
 			.valid = VALID,
 			.depth = sub_rule_depth,
 			.valid_group = lpm->tbl8[tbl8_group_start].valid_group,
-			.next_hop = lpm->rules_tbl[sub_rule_index].next_hop,
 		};
 
+		new_tbl8_entry.next_hop =
+				lpm->rules_tbl[sub_rule_index].next_hop;
 		/*
 		 * Loop through the range of entries on tbl8 for which the
 		 * rule_to_delete must be modified.
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] drivers/crypto: Fix anonymous union initialization in crypto
  2016-03-25  7:20 [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform Michael Qiu
  2016-03-25  7:20 ` [PATCH 1/2] lib/librte_lpm: Fix anonymous union initialization issue Michael Qiu
@ 2016-03-25  7:20 ` Michael Qiu
  2016-03-25 10:48   ` Trahe, Fiona
  2016-03-30 12:49   ` [PATCH v2] drivers/crypto: Fix anonymous union initialization in crypto PMDs Fiona Trahe
  2016-03-31 19:32 ` [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform Thomas Monjalon
  2 siblings, 2 replies; 8+ messages in thread
From: Michael Qiu @ 2016-03-25  7:20 UTC (permalink / raw)
  To: dev; +Cc: Michael Qiu

In SUSE11-SP3 i686 platform, with gcc 4.5.1, there is a
compile issue:
	null_crypto_pmd_ops.c:44:3: error:
		unknown field ‘sym’ specified in initializer
	cc1: warnings being treated as errors

The member in anonymous union initialization should be inside '{}',
otherwise it will report an error.

Fixes: 26c2e4ad5ad4 ("cryptodev: add capabilities discovery")

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
---
 drivers/crypto/null/null_crypto_pmd_ops.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/crypto/null/null_crypto_pmd_ops.c b/drivers/crypto/null/null_crypto_pmd_ops.c
index 39f8088..b7470c0 100644
--- a/drivers/crypto/null/null_crypto_pmd_ops.c
+++ b/drivers/crypto/null/null_crypto_pmd_ops.c
@@ -41,9 +41,9 @@
 static const struct rte_cryptodev_capabilities null_crypto_pmd_capabilities[] = {
 	{	/* NULL (AUTH) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_NULL,
 				.block_size = 1,
 				.key_size = {
@@ -57,14 +57,14 @@ static const struct rte_cryptodev_capabilities null_crypto_pmd_capabilities[] =
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, },
+		}, },
 	},
 	{	/* NULL (CIPHER) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
-			.cipher = {
+			{.cipher = {
 				.algo = RTE_CRYPTO_CIPHER_NULL,
 				.block_size = 1,
 				.key_size = {
@@ -77,8 +77,8 @@ static const struct rte_cryptodev_capabilities null_crypto_pmd_capabilities[] =
 					.max = 0,
 					.increment = 0
 				}
-			}
-		}
+			}, },
+		}, },
 	},
 	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
 };
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] drivers/crypto: Fix anonymous union initialization in crypto
  2016-03-25  7:20 ` [PATCH 2/2] drivers/crypto: Fix anonymous union initialization in crypto Michael Qiu
@ 2016-03-25 10:48   ` Trahe, Fiona
  2016-03-30 12:49   ` [PATCH v2] drivers/crypto: Fix anonymous union initialization in crypto PMDs Fiona Trahe
  1 sibling, 0 replies; 8+ messages in thread
From: Trahe, Fiona @ 2016-03-25 10:48 UTC (permalink / raw)
  To: Qiu, Michael, dev@dpdk.org; +Cc: Qiu, Michael, Trahe, Fiona



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Michael Qiu
> Sent: Friday, March 25, 2016 7:20 AM
> To: dev@dpdk.org
> Cc: Qiu, Michael
> Subject: [dpdk-dev] [PATCH 2/2] drivers/crypto: Fix anonymous union
> initialization in crypto
> 
> In SUSE11-SP3 i686 platform, with gcc 4.5.1, there is a compile issue:
> 	null_crypto_pmd_ops.c:44:3: error:
> 		unknown field ‘sym’ specified in initializer
> 	cc1: warnings being treated as errors
> 
> The member in anonymous union initialization should be inside '{}', otherwise it
> will report an error.
> 
> Fixes: 26c2e4ad5ad4 ("cryptodev: add capabilities discovery")
> 
> Signed-off-by: Michael Qiu <michael.qiu@intel.com>


Initialisation in QAT PMD has same issue, possibly also other PMDs.
I'll extend this fix where needed.

> ---
>  drivers/crypto/null/null_crypto_pmd_ops.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/crypto/null/null_crypto_pmd_ops.c
> b/drivers/crypto/null/null_crypto_pmd_ops.c
> index 39f8088..b7470c0 100644
> --- a/drivers/crypto/null/null_crypto_pmd_ops.c
> +++ b/drivers/crypto/null/null_crypto_pmd_ops.c
> @@ -41,9 +41,9 @@
>  static const struct rte_cryptodev_capabilities null_crypto_pmd_capabilities[] = {
>  	{	/* NULL (AUTH) */
>  		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
> -		.sym = {
> +		{.sym = {
>  			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
> -			.auth = {
> +			{.auth = {
>  				.algo = RTE_CRYPTO_AUTH_NULL,
>  				.block_size = 1,
>  				.key_size = {
> @@ -57,14 +57,14 @@ static const struct rte_cryptodev_capabilities
> null_crypto_pmd_capabilities[] =
>  					.increment = 0
>  				},
>  				.aad_size = { 0 }
> -			}
> -		}
> +			}, },
> +		}, },
>  	},
>  	{	/* NULL (CIPHER) */
>  		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
> -		.sym = {
> +		{.sym = {
>  			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
> -			.cipher = {
> +			{.cipher = {
>  				.algo = RTE_CRYPTO_CIPHER_NULL,
>  				.block_size = 1,
>  				.key_size = {
> @@ -77,8 +77,8 @@ static const struct rte_cryptodev_capabilities
> null_crypto_pmd_capabilities[] =
>  					.max = 0,
>  					.increment = 0
>  				}
> -			}
> -		}
> +			}, },
> +		}, },
>  	},
>  	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
>  };
> --
> 1.9.3


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] lib/librte_lpm: Fix anonymous union initialization issue
  2016-03-25  7:20 ` [PATCH 1/2] lib/librte_lpm: Fix anonymous union initialization issue Michael Qiu
@ 2016-03-25 17:02   ` Stephen Hemminger
  2016-03-30  3:38   ` [PATCH 1/2 v2] " Michael Qiu
  1 sibling, 0 replies; 8+ messages in thread
From: Stephen Hemminger @ 2016-03-25 17:02 UTC (permalink / raw)
  To: Michael Qiu; +Cc: dev

Making code run with picky compilers is good, as long as it
doesn't break other (more modern) compilers.

> +					new_tbl8_entry.next_hop=next_hop;

Please run your patches through checkpatch, it will warn about missing whitespace like this.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2 v2] lib/librte_lpm: Fix anonymous union initialization issue
  2016-03-25  7:20 ` [PATCH 1/2] lib/librte_lpm: Fix anonymous union initialization issue Michael Qiu
  2016-03-25 17:02   ` Stephen Hemminger
@ 2016-03-30  3:38   ` Michael Qiu
  1 sibling, 0 replies; 8+ messages in thread
From: Michael Qiu @ 2016-03-30  3:38 UTC (permalink / raw)
  To: dev; +Cc: Michael Qiu

In SUSE11-SP3 i686 platform, with gcc 4.5.1, there is a
compile issue:
	rte_lpm.c: In function ‘add_depth_small_v20’:
	rte_lpm.c:778:7: error: unknown field ‘next_hop’
		specified in initializer
	cc1: warnings being treated as errors
The root casue is gcc only allow anonymous union initialized
according to the field it is defined. But next_hop is defined
in different field when in different platform(Endian).

One solution is add if define in the code to avoid this issue,
but there is a simple way, initialize it separately later.

Fixes: afc5c914a083 ("lpm: fix big endian support")

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
---
v2 --> v1:
	Fixes whilespace issue around "="

 lib/librte_lpm/rte_lpm.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index af5811c..efd507e 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -744,11 +744,11 @@ add_depth_small_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth,
 				lpm->tbl24[i].depth <= depth)) {
 
 			struct rte_lpm_tbl_entry_v20 new_tbl24_entry = {
-				{ .next_hop = next_hop, },
 				.valid = VALID,
 				.valid_group = 0,
 				.depth = depth,
 			};
+			new_tbl24_entry.next_hop = next_hop;
 
 			/* Setting tbl24 entry in one go to avoid race
 			 * conditions
@@ -775,8 +775,8 @@ add_depth_small_v20(struct rte_lpm_v20 *lpm, uint32_t ip, uint8_t depth,
 						.valid = VALID,
 						.valid_group = VALID,
 						.depth = depth,
-						.next_hop = next_hop,
 					};
+					new_tbl8_entry.next_hop = next_hop;
 
 					/*
 					 * Setting tbl8 entry in one go to avoid
@@ -975,10 +975,9 @@ add_depth_big_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked, uint8_t depth,
 				struct rte_lpm_tbl_entry_v20 new_tbl8_entry = {
 					.valid = VALID,
 					.depth = depth,
-					.next_hop = next_hop,
 					.valid_group = lpm->tbl8[i].valid_group,
 				};
-
+				new_tbl8_entry.next_hop = next_hop;
 				/*
 				 * Setting tbl8 entry in one go to avoid race
 				 * condition
@@ -1375,9 +1374,9 @@ delete_depth_small_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked,
 			.valid = VALID,
 			.valid_group = VALID,
 			.depth = sub_rule_depth,
-			.next_hop = lpm->rules_tbl
-			[sub_rule_index].next_hop,
 		};
+		new_tbl8_entry.next_hop =
+				lpm->rules_tbl[sub_rule_index].next_hop;
 
 		for (i = tbl24_index; i < (tbl24_index + tbl24_range); i++) {
 
@@ -1639,9 +1638,10 @@ delete_depth_big_v20(struct rte_lpm_v20 *lpm, uint32_t ip_masked,
 			.valid = VALID,
 			.depth = sub_rule_depth,
 			.valid_group = lpm->tbl8[tbl8_group_start].valid_group,
-			.next_hop = lpm->rules_tbl[sub_rule_index].next_hop,
 		};
 
+		new_tbl8_entry.next_hop =
+				lpm->rules_tbl[sub_rule_index].next_hop;
 		/*
 		 * Loop through the range of entries on tbl8 for which the
 		 * rule_to_delete must be modified.
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2] drivers/crypto: Fix anonymous union initialization in crypto PMDs
  2016-03-25  7:20 ` [PATCH 2/2] drivers/crypto: Fix anonymous union initialization in crypto Michael Qiu
  2016-03-25 10:48   ` Trahe, Fiona
@ 2016-03-30 12:49   ` Fiona Trahe
  1 sibling, 0 replies; 8+ messages in thread
From: Fiona Trahe @ 2016-03-30 12:49 UTC (permalink / raw)
  To: dev; +Cc: Declan.doherty, Fiona Trahe, Michael Qiu


In SUSE11-SP3 i686 platform, with gcc 4.5.1, there are compile issues, e.g:
  null_crypto_pmd_ops.c:44:3: error:
  unknown field 'sym' specified in initializer
  cc1: warnings being treated as errors

The member in anonymous union initialization should be inside '{}',
otherwise it will report an error.

Fixes: 26c2e4ad5ad4 ("cryptodev: add capabilities discovery")

v2:
 - extends fix to cover all crypto pmds.

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
---
 drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c   | 16 +++---
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 64 +++++++++++-----------
 drivers/crypto/null/null_crypto_pmd_ops.c      | 16 +++---
 drivers/crypto/qat/qat_crypto.c                | 74 +++++++++++++-------------
 drivers/crypto/snow3g/rte_snow3g_pmd_ops.c     | 16 +++---
 5 files changed, 93 insertions(+), 93 deletions(-)

diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
index 387f8d1..4dec8dd 100644
--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c
@@ -41,9 +41,9 @@
 static const struct rte_cryptodev_capabilities aesni_gcm_pmd_capabilities[] = {
 	{	/* AES GCM (AUTH) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_AES_GCM,
 				.block_size = 16,
 				.key_size = {
@@ -61,14 +61,14 @@ static const struct rte_cryptodev_capabilities aesni_gcm_pmd_capabilities[] = {
 					.max = 12,
 					.increment = 4
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* AES GCM (CIPHER) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
-			.cipher = {
+			{.cipher = {
 				.algo = RTE_CRYPTO_CIPHER_AES_GCM,
 				.block_size = 16,
 				.key_size = {
@@ -81,8 +81,8 @@ static const struct rte_cryptodev_capabilities aesni_gcm_pmd_capabilities[] = {
 					.max = 16,
 					.increment = 0
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
 };
diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
index 5a439e6..3806a66 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
@@ -42,9 +42,9 @@
 static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 	{	/* MD5 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_MD5_HMAC,
 				.block_size = 64,
 				.key_size = {
@@ -58,14 +58,14 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SHA1 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
 				.block_size = 64,
 				.key_size = {
@@ -79,14 +79,14 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SHA224 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SHA224_HMAC,
 				.block_size = 64,
 				.key_size = {
@@ -100,14 +100,14 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SHA256 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
 				.block_size = 64,
 				.key_size = {
@@ -121,14 +121,14 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SHA384 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SHA384_HMAC,
 				.block_size = 128,
 				.key_size = {
@@ -142,14 +142,14 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SHA512 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SHA512_HMAC,
 				.block_size = 128,
 				.key_size = {
@@ -163,14 +163,14 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* AES XCBC HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
 				.block_size = 16,
 				.key_size = {
@@ -184,14 +184,14 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* AES CBC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
-			.cipher = {
+			{.cipher = {
 				.algo = RTE_CRYPTO_CIPHER_AES_CBC,
 				.block_size = 16,
 				.key_size = {
@@ -204,8 +204,8 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = {
 					.max = 16,
 					.increment = 0
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
 };
diff --git a/drivers/crypto/null/null_crypto_pmd_ops.c b/drivers/crypto/null/null_crypto_pmd_ops.c
index 39f8088..cf1a519 100644
--- a/drivers/crypto/null/null_crypto_pmd_ops.c
+++ b/drivers/crypto/null/null_crypto_pmd_ops.c
@@ -41,9 +41,9 @@
 static const struct rte_cryptodev_capabilities null_crypto_pmd_capabilities[] = {
 	{	/* NULL (AUTH) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_NULL,
 				.block_size = 1,
 				.key_size = {
@@ -57,14 +57,14 @@ static const struct rte_cryptodev_capabilities null_crypto_pmd_capabilities[] =
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, },
+		}, },
 	},
 	{	/* NULL (CIPHER) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
-			.cipher = {
+			{.cipher = {
 				.algo = RTE_CRYPTO_CIPHER_NULL,
 				.block_size = 1,
 				.key_size = {
@@ -77,8 +77,8 @@ static const struct rte_cryptodev_capabilities null_crypto_pmd_capabilities[] =
 					.max = 0,
 					.increment = 0
 				}
-			}
-		}
+			}, },
+		}, }
 	},
 	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
 };
diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index 29c1fe5..5c41a89 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -71,9 +71,9 @@
 static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 	{	/* SHA1 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
 				.block_size = 64,
 				.key_size = {
@@ -87,14 +87,14 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SHA256 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
 				.block_size = 64,
 				.key_size = {
@@ -108,14 +108,14 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SHA512 HMAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SHA512_HMAC,
 				.block_size = 128,
 				.key_size = {
@@ -129,14 +129,14 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* AES XCBC MAC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
 				.block_size = 16,
 				.key_size = {
@@ -150,14 +150,14 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = { 0 }
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* AES GCM (AUTH) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_AES_GCM,
 				.block_size = 16,
 				.key_size = {
@@ -175,14 +175,14 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.max = 12,
 					.increment = 4
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SNOW3G (UIA2) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
 				.block_size = 16,
 				.key_size = {
@@ -200,14 +200,14 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.max = 16,
 					.increment = 0
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* AES GCM (CIPHER) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
-			.cipher = {
+			{.cipher = {
 				.algo = RTE_CRYPTO_CIPHER_AES_GCM,
 				.block_size = 16,
 				.key_size = {
@@ -220,15 +220,15 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.max = 16,
 					.increment = 0
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* AES CBC */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
-			.cipher = {
-				RTE_CRYPTO_CIPHER_AES_CBC,
+			{.cipher = {
+				.algo = RTE_CRYPTO_CIPHER_AES_CBC,
 				.block_size = 16,
 				.key_size = {
 					.min = 16,
@@ -240,14 +240,14 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.max = 16,
 					.increment = 0
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SNOW3G (UEA2) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
-			.cipher = {
+			{.cipher = {
 				.algo = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
 				.block_size = 16,
 				.key_size = {
@@ -260,8 +260,8 @@ static const struct rte_cryptodev_capabilities qat_pmd_capabilities[] = {
 					.max = 16,
 					.increment = 0
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
 };
diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd_ops.c b/drivers/crypto/snow3g/rte_snow3g_pmd_ops.c
index 74eee23..6f00b06 100644
--- a/drivers/crypto/snow3g/rte_snow3g_pmd_ops.c
+++ b/drivers/crypto/snow3g/rte_snow3g_pmd_ops.c
@@ -41,9 +41,9 @@
 static const struct rte_cryptodev_capabilities snow3g_pmd_capabilities[] = {
 	{	/* SNOW3G (UIA2) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH,
-			.auth = {
+			{.auth = {
 				.algo = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
 				.block_size = 16,
 				.key_size = {
@@ -61,14 +61,14 @@ static const struct rte_cryptodev_capabilities snow3g_pmd_capabilities[] = {
 					.max = 16,
 					.increment = 0
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	{	/* SNOW3G (UEA2) */
 		.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC,
-		.sym = {
+		{.sym = {
 			.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER,
-			.cipher = {
+			{.cipher = {
 				.algo = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
 				.block_size = 16,
 				.key_size = {
@@ -81,8 +81,8 @@ static const struct rte_cryptodev_capabilities snow3g_pmd_capabilities[] = {
 					.max = 16,
 					.increment = 0
 				}
-			}
-		}
+			}, }
+		}, }
 	},
 	RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
 };
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform
  2016-03-25  7:20 [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform Michael Qiu
  2016-03-25  7:20 ` [PATCH 1/2] lib/librte_lpm: Fix anonymous union initialization issue Michael Qiu
  2016-03-25  7:20 ` [PATCH 2/2] drivers/crypto: Fix anonymous union initialization in crypto Michael Qiu
@ 2016-03-31 19:32 ` Thomas Monjalon
  2 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2016-03-31 19:32 UTC (permalink / raw)
  To: Michael Qiu, Fiona Trahe; +Cc: dev

2016-03-25 15:20, Michael Qiu:
> In SUSE11 SP3 i686 platform with gcc version 4.5.1, there is
> some compile issues. This patch set is try to fix them.
> 
> Michael Qiu (2):
>   lib/librte_lpm: Fix anonymous union initialization issue
>   drivers/crypto: Fix anonymous union initialization in crypto

v2 of each patch applied, thanks

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-03-31 19:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-25  7:20 [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform Michael Qiu
2016-03-25  7:20 ` [PATCH 1/2] lib/librte_lpm: Fix anonymous union initialization issue Michael Qiu
2016-03-25 17:02   ` Stephen Hemminger
2016-03-30  3:38   ` [PATCH 1/2 v2] " Michael Qiu
2016-03-25  7:20 ` [PATCH 2/2] drivers/crypto: Fix anonymous union initialization in crypto Michael Qiu
2016-03-25 10:48   ` Trahe, Fiona
2016-03-30 12:49   ` [PATCH v2] drivers/crypto: Fix anonymous union initialization in crypto PMDs Fiona Trahe
2016-03-31 19:32 ` [PATCH 0/2] Compile fixes in SUSE11 SP3 i686 platform Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.