[PING][PATCH v5 0/4] __builtin_dynamic_object_size

2022-01-03 Thread Siddhesh Poyarekar

Happy new year, and ping!

On 12/18/21 18:05, Siddhesh Poyarekar wrote:

This patchset enhances the __builtin_dynamic_object_size builtin to
produce dynamic expressions for object sizes to improve coverage of
_FORTIFY_SOURCE.

Testing:


This series has been tested with build and test for i686, bootstrap with
ubsan and full bootstrap and test with x86_64.  I also tested the
toolchain with a glibc build and testsuite run for x86_64 and i686 with
_FORTIFY_SOURCE=3 enabled for gcc12.

Additional testing plans (i.e. I've already started to do some of this):

- Build packages to compare values returned by __builtin_object_size
   with the older pass and this new one.  Also compare with
   __builtin_dynamic_object_size.

- Expand the list of packages to get more coverage metrics.

- Explore performance impact on applications on building with
   _FORTIFY_SOURCE=3.

Siddhesh Poyarekar (4):
   tree-object-size: Support dynamic sizes in conditions
   tree-object-size: Handle function parameters
   tree-object-size: Handle GIMPLE_CALL
   tree-object-size: Dynamic sizes for ADDR_EXPR

  gcc/builtins.c|   6 +-
  .../gcc.dg/builtin-dynamic-object-size-0.c| 495 +
  .../gcc.dg/builtin-dynamic-object-size-10.c   |   2 +
  .../builtin-dynamic-object-size-5-main.c  |  32 +
  .../gcc.dg/builtin-dynamic-object-size-5.c|   7 +-
  gcc/testsuite/gcc.dg/builtin-object-size-1.c  | 154 +++-
  gcc/testsuite/gcc.dg/builtin-object-size-2.c  | 133 
  gcc/testsuite/gcc.dg/builtin-object-size-3.c  | 151 
  gcc/testsuite/gcc.dg/builtin-object-size-4.c  |  93 +++
  gcc/testsuite/gcc.dg/builtin-object-size-5.c  |  22 +-
  gcc/tree-object-size.c| 670 +++---
  11 files changed, 1677 insertions(+), 88 deletions(-)
  create mode 100644 gcc/testsuite/gcc.dg/builtin-dynamic-object-size-0.c
  create mode 100644 gcc/testsuite/gcc.dg/builtin-dynamic-object-size-5-main.c





[PATCH v5 0/4] __builtin_dynamic_object_size

2021-12-18 Thread Siddhesh Poyarekar
This patchset enhances the __builtin_dynamic_object_size builtin to
produce dynamic expressions for object sizes to improve coverage of
_FORTIFY_SOURCE.

Testing:


This series has been tested with build and test for i686, bootstrap with
ubsan and full bootstrap and test with x86_64.  I also tested the
toolchain with a glibc build and testsuite run for x86_64 and i686 with
_FORTIFY_SOURCE=3 enabled for gcc12.

Additional testing plans (i.e. I've already started to do some of this):

- Build packages to compare values returned by __builtin_object_size
  with the older pass and this new one.  Also compare with
  __builtin_dynamic_object_size.

- Expand the list of packages to get more coverage metrics.

- Explore performance impact on applications on building with
  _FORTIFY_SOURCE=3.

Siddhesh Poyarekar (4):
  tree-object-size: Support dynamic sizes in conditions
  tree-object-size: Handle function parameters
  tree-object-size: Handle GIMPLE_CALL
  tree-object-size: Dynamic sizes for ADDR_EXPR

 gcc/builtins.c|   6 +-
 .../gcc.dg/builtin-dynamic-object-size-0.c| 495 +
 .../gcc.dg/builtin-dynamic-object-size-10.c   |   2 +
 .../builtin-dynamic-object-size-5-main.c  |  32 +
 .../gcc.dg/builtin-dynamic-object-size-5.c|   7 +-
 gcc/testsuite/gcc.dg/builtin-object-size-1.c  | 154 +++-
 gcc/testsuite/gcc.dg/builtin-object-size-2.c  | 133 
 gcc/testsuite/gcc.dg/builtin-object-size-3.c  | 151 
 gcc/testsuite/gcc.dg/builtin-object-size-4.c  |  93 +++
 gcc/testsuite/gcc.dg/builtin-object-size-5.c  |  22 +-
 gcc/tree-object-size.c| 670 +++---
 11 files changed, 1677 insertions(+), 88 deletions(-)
 create mode 100644 gcc/testsuite/gcc.dg/builtin-dynamic-object-size-0.c
 create mode 100644 gcc/testsuite/gcc.dg/builtin-dynamic-object-size-5-main.c

-- 
2.31.1