[v5,0/6] more replacement of zero length array

Message ID 1709756036-24068-1-git-send-email-roretzla@linux.microsoft.com (mailing list archive)
Headers
Series more replacement of zero length array |

Message

Tyler Retzlaff March 6, 2024, 8:13 p.m. UTC
Replace some missed zero length arrays not captured in the
original series.
https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=*

Zero length arrays are a GNU extension that has been
superseded by flex arrays.

https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html

v5:
  * no changes, rebase for upstream merge / conflicts.

v4:
  * add another temporary suppression of libabigail bug
    for rte_rcu_qsbr. As with pipeline i cannot see that
    rte_rcu_qsbr is nested in any other struct.

v3:
  * add temporary suppression of libabigail bug
    https://sourceware.org/bugzilla/show_bug.cgi?id=31377
  * add 2 more patches covering lpm and table
    (series ack has not been extended)
  * add another zero length array missed in rcu and pipeline

v2:
  * added additional patches for fib & pipeline libs.
    series-acks have been placed only against original
    hash and rcu patches.

Tyler Retzlaff (6):
  hash: replace zero length array with flex array
  rcu: replace zero length array with flex array
  fib: replace zero length array with flex array
  pipeline: replace zero length array with flex array
  lpm: replace zero length array with flex array
  table: replace zero length array with flex array

 devtools/libabigail.abignore      | 5 +++++
 lib/fib/dir24_8.h                 | 2 +-
 lib/fib/trie.h                    | 2 +-
 lib/hash/rte_thash.c              | 4 ++--
 lib/lpm/rte_lpm6.c                | 2 +-
 lib/pipeline/rte_pipeline.h       | 2 +-
 lib/pipeline/rte_port_in_action.c | 2 +-
 lib/rcu/rcu_qsbr_pvt.h            | 2 +-
 lib/rcu/rte_rcu_qsbr.h            | 2 +-
 lib/table/rte_table_acl.c         | 2 +-
 lib/table/rte_table_array.c       | 2 +-
 lib/table/rte_table_hash_cuckoo.c | 2 +-
 lib/table/rte_table_hash_ext.c    | 2 +-
 lib/table/rte_table_hash_key16.c  | 2 +-
 lib/table/rte_table_hash_key32.c  | 2 +-
 lib/table/rte_table_hash_key8.c   | 2 +-
 lib/table/rte_table_hash_lru.c    | 2 +-
 lib/table/rte_table_lpm.c         | 2 +-
 lib/table/rte_table_lpm_ipv6.c    | 2 +-
 19 files changed, 24 insertions(+), 19 deletions(-)
  

Comments

David Marchand June 11, 2024, 3:15 p.m. UTC | #1
On Wed, Mar 6, 2024 at 9:14 PM Tyler Retzlaff
<roretzla@linux.microsoft.com> wrote:
>
> Replace some missed zero length arrays not captured in the
> original series.
> https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=*
>
> Zero length arrays are a GNU extension that has been
> superseded by flex arrays.
>
> https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
>
> v5:
>   * no changes, rebase for upstream merge / conflicts.
>
> v4:
>   * add another temporary suppression of libabigail bug
>     for rte_rcu_qsbr. As with pipeline i cannot see that
>     rte_rcu_qsbr is nested in any other struct.
>
> v3:
>   * add temporary suppression of libabigail bug
>     https://sourceware.org/bugzilla/show_bug.cgi?id=31377
>   * add 2 more patches covering lpm and table
>     (series ack has not been extended)
>   * add another zero length array missed in rcu and pipeline
>
> v2:
>   * added additional patches for fib & pipeline libs.
>     series-acks have been placed only against original
>     hash and rcu patches.
>
> Tyler Retzlaff (6):
>   hash: replace zero length array with flex array
>   rcu: replace zero length array with flex array
>   fib: replace zero length array with flex array
>   pipeline: replace zero length array with flex array
>   lpm: replace zero length array with flex array
>   table: replace zero length array with flex array
>
>  devtools/libabigail.abignore      | 5 +++++
>  lib/fib/dir24_8.h                 | 2 +-
>  lib/fib/trie.h                    | 2 +-
>  lib/hash/rte_thash.c              | 4 ++--
>  lib/lpm/rte_lpm6.c                | 2 +-
>  lib/pipeline/rte_pipeline.h       | 2 +-
>  lib/pipeline/rte_port_in_action.c | 2 +-
>  lib/rcu/rcu_qsbr_pvt.h            | 2 +-
>  lib/rcu/rte_rcu_qsbr.h            | 2 +-
>  lib/table/rte_table_acl.c         | 2 +-
>  lib/table/rte_table_array.c       | 2 +-
>  lib/table/rte_table_hash_cuckoo.c | 2 +-
>  lib/table/rte_table_hash_ext.c    | 2 +-
>  lib/table/rte_table_hash_key16.c  | 2 +-
>  lib/table/rte_table_hash_key32.c  | 2 +-
>  lib/table/rte_table_hash_key8.c   | 2 +-
>  lib/table/rte_table_hash_lru.c    | 2 +-
>  lib/table/rte_table_lpm.c         | 2 +-
>  lib/table/rte_table_lpm_ipv6.c    | 2 +-
>  19 files changed, 24 insertions(+), 19 deletions(-)

libabigail 2.5 got released.
I had a try with it in GHA, and the false positive errors around
lib/pipeline and lib/rcu are gone.
Yet there may still be people using older version, so let's take this
series as is with the temporary exceptions.

Series applied, thanks.