[Sanitizer] Fix segfaults during unwinding on SystemZ
Every now and then SystemZ programs built with ASan crash with ERROR: AddressSanitizer: stack-overflow on address 0x040000000000 for no apparent reason. The problem is that BufferedStackTrace::UnwindFast() is specialized for SystemZ: it takes register 14 from the frame, however, IsValidFrame() is not specialized, and does not guarantee that frame[14] is going to be a valid memory access. Fix by introducing per-arch kFrameSize and using it in IsValidFrame(). Reviewed By: uweigand Differential Revision: https://reviews.llvm.org/D85822
Loading
Please sign in to comment