History log of /fuchsia/zircon/third_party/ulib/musl/src/setjmp/x86_64/longjmp.S
Revision Date Author Comments
# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 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


# 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


# cb5898a3 20-Mar-2017 Roland McGrath <mcgrathr@google.com>

[ulib][musl] Make sigsetjmp/siglongjmp aliases for setjmp/longjmp

Since we don't have any kind of signal support, there is nothing that
sigsetjmp/siglongjmp need to do beyond what plain setjmp/longjmp do.
The old assembly implementations had bad assumptions about the
implementation details of the underlying setjmp/longjmp assembly code.

MG-619 #done

Change-Id: Ie1524b655f2eee24bada77bfdcdc6c83a4298bf4


# 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