#
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
|