mbox

[PING,0/3] _FORTIFY_SOURCE=3 improvements

Message ID 71028ec7-ccb4-ac67-8581-a74ff245832f@gotplt.org
Headers show

Message

Siddhesh Poyarekar Oct. 18, 2021, 1:14 p.m. UTC
Ping!

On 10/12/21 21:46, Siddhesh Poyarekar via Libc-alpha wrote:
> This patchset changes the layout of fortified functions to make them
> _FORTIFY_SOURCE=3 friendly and at the same time, continue working the
> same for _FORTIFY_SOURCE=2 and lower.  At a high level it makes sure
> that no branches are emitted at compile time and only one of either the
> regular or _chk version of the function is called.  The conditions are
> also reworked to make them more readable and foldable even in cases
> where the compiler doesn't know the exact values of the operation length
> and size, but can make decisions based on ranges of their values.
> 
> The changeset also adds some _FORTIFY_SOURCE=3 testing coverage on
> compilers that are able to set that fortification level.
> 
> Siddhesh Poyarekar (3):
>    Don't add access size hints to fortifiable functions
>    Make sure that the fortified function conditionals are constant
>    debug: Add tests for _FORTIFY_SOURCE=3
> 
>   debug/Makefile                 |  13 +-
>   debug/tst-chk1.c               | 102 ++++++++-------
>   debug/tst-chk7.c               |   2 +
>   debug/tst-chk8.cc              |   2 +
>   io/bits/poll2.h                |  31 ++---
>   io/sys/poll.h                  |   6 +-
>   libio/bits/stdio2.h            | 110 +++++++----------
>   libio/stdio.h                  |   4 +-
>   misc/sys/cdefs.h               |  71 +++++++++++
>   posix/bits/unistd.h            | 174 ++++++--------------------
>   posix/unistd.h                 |  28 +++--
>   socket/bits/socket2.h          |  34 ++---
>   stdlib/bits/stdlib.h           |  57 +++------
>   stdlib/stdlib.h                |   5 +-
>   string/bits/string_fortified.h |   5 +-
>   string/string.h                |   2 +-
>   wcsmbs/bits/wchar2.h           | 219 +++++++++------------------------
>   17 files changed, 351 insertions(+), 514 deletions(-)
>   create mode 100644 debug/tst-chk7.c
>   create mode 100644 debug/tst-chk8.cc
>