[ping2][PATCH 0/2] __bos and flex arrays

Siddhesh Poyarekar siddhesh@gotplt.org
Wed Jan 11 13:14:45 GMT 2023


Ping!

On 2022-12-21 17:25, Siddhesh Poyarekar wrote:
> Hi,
> 
> The first patch in the series is just a minor test cleanup that I did to
> make sure all tests in a test case run (instead of aborting at first
> failure) and print the ones that failed.  The second patch is the actual
> fix.
> 
> The patch intends to make __bos/__bdos do the right thing with structs
> containing flex arrays, either directly or within nested structs and
> unions.  This should improve minimum object size estimation in some
> cases and also bail out more consistently so that flex arrays don't
> cause false positives in fortification.
> 
> I've tested this with a bootstrap on x86_64 and also with
> --with-build-config=bootstrap-ubsan to make sure that there are no new
> failures due to this change.
> 
> Siddhesh Poyarekar (2):
>    testsuite: Run __bos tests to completion
>    tree-object-size: More consistent behaviour with flex arrays
> 
>   .../g++.dg/ext/builtin-object-size1.C         | 267 ++++++++--------
>   .../g++.dg/ext/builtin-object-size2.C         | 267 ++++++++--------
>   .../gcc.dg/builtin-dynamic-object-size-0.c    |  14 +-
>   gcc/testsuite/gcc.dg/builtin-object-size-1.c  | 263 ++++++++--------
>   gcc/testsuite/gcc.dg/builtin-object-size-12.c |  12 +-
>   gcc/testsuite/gcc.dg/builtin-object-size-13.c |  17 +-
>   gcc/testsuite/gcc.dg/builtin-object-size-15.c |  11 +-
>   gcc/testsuite/gcc.dg/builtin-object-size-2.c  | 287 +++++++++---------
>   gcc/testsuite/gcc.dg/builtin-object-size-3.c  | 263 ++++++++--------
>   gcc/testsuite/gcc.dg/builtin-object-size-4.c  | 267 ++++++++--------
>   gcc/testsuite/gcc.dg/builtin-object-size-6.c  | 267 ++++++++--------
>   gcc/testsuite/gcc.dg/builtin-object-size-7.c  |  52 ++--
>   gcc/testsuite/gcc.dg/builtin-object-size-8.c  |  17 +-
>   .../gcc.dg/builtin-object-size-common.h       |  12 +
>   .../gcc.dg/builtin-object-size-flex-common.h  |  90 ++++++
>   ...n-object-size-flex-nested-struct-nonzero.c |   6 +
>   ...ltin-object-size-flex-nested-struct-zero.c |   6 +
>   .../builtin-object-size-flex-nested-struct.c  |  22 ++
>   ...in-object-size-flex-nested-union-nonzero.c |   6 +
>   ...iltin-object-size-flex-nested-union-zero.c |   6 +
>   .../builtin-object-size-flex-nested-union.c   |  28 ++
>   .../gcc.dg/builtin-object-size-flex-nonzero.c |   6 +
>   .../gcc.dg/builtin-object-size-flex-zero.c    |   6 +
>   .../gcc.dg/builtin-object-size-flex.c         |  18 ++
>   gcc/testsuite/gcc.dg/pr101836.c               |  11 +-
>   gcc/testsuite/gcc.dg/strict-flex-array-3.c    |  11 +-
>   gcc/tree-object-size.cc                       | 150 ++++-----
>   27 files changed, 1275 insertions(+), 1107 deletions(-)
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-common.h
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-common.h
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-struct-nonzero.c
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-struct-zero.c
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-struct.c
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-union-nonzero.c
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-union-zero.c
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nested-union.c
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-nonzero.c
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex-zero.c
>   create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-flex.c
> 


More information about the Gcc-patches mailing list