llvm-project/libc/utils/FPUtil
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
..
aarch64 [libc] Add implementations of the remaining fenv functions. 2021-02-18 13:29:40 -08:00
x86_64 [libc] Fix msan/asan memcpy reentrancy 2021-03-30 15:28:47 +00:00
BasicOperations.h [libc] Add implementations of fdim[f|l]. 2020-11-10 18:48:11 -05:00
BitPatterns.h [libc] Add implementation of few floating point manipulation functions. 2020-06-11 12:23:11 -07:00
CMakeLists.txt [libc][NFC] Make x86_64 fenv functions msan safe. 2021-03-08 15:20:08 -08:00
ClassificationFunctions.h [lib][NFC] Split the floating point util functions into multiple files. 2020-06-15 23:12:00 -07:00
DivisionAndRemainderOperations.h [libc] Fix couple of corner cases in remquo. 2020-12-02 11:48:49 -08:00
DummyFEnv.h [libc] Add implementations of the remaining fenv functions. 2021-02-18 13:29:40 -08:00
FEnv.h [libc] Extend the current fenv functions to aarch64. 2021-01-19 12:47:54 -08:00
FPBits.h [libc] Add implementation of fmaf. 2021-01-06 17:14:20 -05:00
FloatOperations.h [libc] Add implementations long double fabsl and truncl functions. 2020-06-18 11:08:26 -07:00
FloatProperties.h [libc] Add implementations of ceil[f], floor[f] and trunc[f] from math.h. 2020-06-01 08:36:59 -07:00
Hypot.h [libc] Add implementation of hypot. 2020-12-03 11:08:20 -05:00
LongDoubleBitsX86.h [libc] Add implementations of nextafter[f|l] functions. 2021-01-05 22:32:39 -08:00
ManipulationFunctions.h [libc] Add implementations of nextafter[f|l] functions. 2021-01-05 22:32:39 -08:00
NearestIntegerOperations.h [libc][NFC] Make few maths functions buildable outside of LLVM libc build. 2021-02-16 09:14:29 -08:00
NextAfterLongDoubleX86.h [libc] Add implementations of nextafter[f|l] functions. 2021-01-05 22:32:39 -08:00
NormalFloat.h [libc] Add implementations of ldexp[f|l]. 2020-11-17 15:05:42 -08:00
Sqrt.h [libc] Add implementations for sqrt, sqrtf, and sqrtl. 2020-08-26 09:46:18 -04:00
SqrtLongDoubleX86.h [libc][obvious] Include Sqrt.h in SqrtLongDoubleX86.h. 2020-09-10 13:25:54 -07:00
TestHelpers.cpp [libc][NFC] Eliminate couple of dependencies on llvm/ADT/StringExtras.h. 2021-02-22 21:41:24 -08:00
TestHelpers.h [libc][NFC] Rename global `nan` in tests to `aNaN`. 2020-12-15 22:37:02 -08:00