platform_bionic/libc/include/bits/fortify
George Burgess IV 2f7876596e fortify: remove 'optimizations' for functions that LLVM knows about
Over the last year, LLVM apparently learned how to optimize many
FORTIFY'ed functions. I went through the list of functions it optimizes,
and simplified their implementations here.

This is more than a code health thing; __bos_trivially_ge expands to a
branch that's not eliminated until after inlining, so it can actually
cause some functions (like one of std::string's ctors) to become
uninlineable.

Bug: 148189733
Test: hand-checked the IR we get for each of the changed functions. Many
      get optimized to their non-_chk variant when appropriate. Others
      will get optimized to non-_chk versions when bos == -1. Bug repro
      also now shows all 'inline's.

Change-Id: Ic360818ad9daaeda3958e1282af41087f85122a3
2020-02-04 21:52:36 -08:00
..
fcntl.h Stop using the __ANDROID_API_x__ constants. 2019-12-20 13:26:14 -08:00
poll.h Stop using the __ANDROID_API_x__ constants. 2019-12-20 13:26:14 -08:00
socket.h versioner: Fix fortified sendto 2019-12-23 07:14:05 -08:00
stat.h Stop using the __ANDROID_API_x__ constants. 2019-12-20 13:26:14 -08:00
stdio.h Stop using the __ANDROID_API_x__ constants. 2019-12-20 13:26:14 -08:00
stdlib.h fortify: fix up a few diagnostics; add __wur to realpath 2019-06-13 23:26:02 -07:00
string.h fortify: remove 'optimizations' for functions that LLVM knows about 2020-02-04 21:52:36 -08:00
strings.h Stop using the __ANDROID_API_x__ constants. 2019-12-20 13:26:14 -08:00
unistd.h Stop using the __ANDROID_API_x__ constants. 2019-12-20 13:26:14 -08:00