diff options
Diffstat (limited to 'contrib/python/cryptography/next/rust/msan.cpp')
| -rw-r--r-- | contrib/python/cryptography/next/rust/msan.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/contrib/python/cryptography/next/rust/msan.cpp b/contrib/python/cryptography/next/rust/msan.cpp new file mode 100644 index 00000000000..c653958f4b0 --- /dev/null +++ b/contrib/python/cryptography/next/rust/msan.cpp @@ -0,0 +1,23 @@ +#include <stdint.h> +#include <cstddef> + +typedef size_t uptr; +typedef uint32_t u32; + +// defined in clang{XX}-rt/msan +extern "C" void __msan_set_alloca_origin_with_descr(void *a, uptr size, u32 *id_ptr, char *descr); +extern "C" void __msan_unpoison(void *a, uptr size); + + +extern "C" void __safe_msan_set_alloca_origin_with_descr(void *a, uptr size, u32 *id_ptr, char *descr) { + __msan_set_alloca_origin_with_descr(a, size, id_ptr, descr); + __msan_unpoison(a, size); +} + + +extern "C" void* malloc(size_t size); +extern "C" void *__safe_malloc(size_t size) { + void* ret = malloc(size); + __msan_unpoison(ret, size); + return ret; +} |
