History log of /fuchsia/zircon/third_party/ulib/musl/src/internal/asm.h
Revision Date Author Comments
# 151f2374 05-Sep-2017 Roland McGrath <mcgrathr@google.com>

[ulib][musl] Simplify assembly alias macros

A single "sym = othersym" handles .type and .size automatically.
So these macros can be simpler.

Change-Id: I9b7b45a8f426f7d59a68f7f5089b3664bc0fd9cd


# 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


# a80712e1 05-Jun-2017 Roland McGrath <mcgrathr@google.com>

[ulib][musl][setjmp][asan] Make longjmp call __asan_handle_no_return

The ASan runtime wants to be notified when a non-local exit happens.

Change-Id: I66af86955449577595e868776073637010ad7fb3


# 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