llvm-project/libc/src
Guillaume Chatelet 77d81c2270 [libc] Fix msan/asan memcpy reentrancy
This is needed to prevent asan/msan instrumentation to redirect CopyBlock to `__asan_memcpy` (resp. `__msan_memcpy`).
These functions would then differ operation to `memcpy` which leads to reentrancy issues.

With this patch, `memcpy` is fully instrumented and covered by asan/msan.

If this turns out to be too expensive, instrumentation can be selectively or fully disabled through the use of the `__attribute__((no_sanitize(address, memory)))` annotation.

Differential Revision: https://reviews.llvm.org/D99598
2021-03-30 15:28:47 +00:00
..
__support [libc] Fix msan/asan memcpy reentrancy 2021-03-30 15:28:47 +00:00
assert [libc] Switch to use a macro which does not insert a section for every libc function. 2021-01-08 23:52:35 +00:00
ctype [libc] Use #undef isascii in specific header 2021-01-14 13:25:05 -08:00
errno [libc] Switch to use a macro which does not insert a section for every libc function. 2021-01-08 23:52:35 +00:00
fenv [libc][Obvious] Fix except flags reading overflow detected by asan. 2021-03-13 16:30:33 -08:00
math [libc] Remove redundant header files included from internal paths. 2021-03-03 21:29:46 -08:00
signal [libc] Switch to use a macro which does not insert a section for every libc function. 2021-01-08 23:52:35 +00:00
stdio [libc] Add very basic stdio FILE and fwrite 2020-04-14 04:02:27 -04:00
stdlib [libc][NFC] Move the template implementation of integer_abs to __support. 2021-03-11 20:20:18 -08:00
string [libc] Fix msan/asan memcpy reentrancy 2021-03-30 15:28:47 +00:00
sys [libc] Switch to use a macro which does not insert a section for every libc function. 2021-01-08 23:52:35 +00:00
threads [libc][NFC] add includes for internal headers to all libc functions 2021-01-09 00:39:18 +00:00
time [libc] Introduces gmtime_r to LLVM libc, based on C99/C2X/Single Unix Sp. 2021-03-22 14:04:05 -07:00
unistd [libc] Switch to use a macro which does not insert a section for every libc function. 2021-01-08 23:52:35 +00:00
.clang-tidy [libc] Fix accidental inclusion of system libc headers. 2020-05-21 01:21:37 -07:00
CMakeLists.txt [libc] Introduce a full build mode CMake option. 2021-03-12 13:28:40 -08:00