[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