[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