#
57626625 |
|
05-Jun-2017 |
Roland McGrath <mcgrathr@google.com> |
[ulib][musl][asan] Sanitizer support in memcpy, memmove, memset Mark the C implementations of memcpy, memmove, memset with NO_ASAN. These functions will have sanitizing wrappers provided by the sanitizer runtime library. Export aliases __unsanitized_memcpy, __unsanitized_memmove, and __unsanitized_memset that the sanitizer runtime code can call directly. In the ASan build, Define weak aliases __asan_memcpy, __asan_memmove, and __asan_memset that will satisfy references generated by the compiler without the sanitizer runtime library. Change-Id: I0a192b9f6c623e71300422ffac86d785303b11d3
|
#
01fe3baf |
|
10-Mar-2017 |
Roland McGrath <mcgrathr@google.com> |
[ulib][musl] Rewrite setjmp/longjmp The new implementation saves and restores the unsafe SP so that setjmp calls in translation units built without -fsanitize=safe-stack will be compatible with -fsanitize=safe-stack code elsewhere in their call chains. It mangles the register values that usually hold stack or code addresses stored in jmp_buf, so it's much harder to find such addresses on the heap. It includes complete CFI for longjmp so that every point unwinds correctly either to the caller of longjmp or to the caller of setjmp in the context being restored. Change-Id: I19fcb16a5e93a0219d3d840215f3695dccdb98b5
|