[PATCH] D32214: [XRay][compiler-rt] Cleanup CFI/CFA annotations on trampolines

Martin Pelikán via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 19 18:00:10 PDT 2017


pelikan accepted this revision.
pelikan added a comment.

Third time does the charm?



================
Comment at: lib/xray/xray_trampoline_x86_64.S:101
+	subq	$56, %rsp
 	.cfi_def_cfa_offset 64
+	movq  %rbp, 48(%rsp)
----------------
kpw wrote:
> If the exit handler is jumped into,  does the exit sled explicitly push the return address onto the stack (accounting for the extra 8 bytes compared to the subq insn above)?
Either the sled (unpatched) or this trampoline (patched) will execute the RET instruction which will pop the address from the stack.  It will happen precisely once and therefore offset 8 is correct.  The push happens before the entry into the function, and has nothing to do with XRay.


https://reviews.llvm.org/D32214





More information about the llvm-commits mailing list