This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, libitm]: GTM_longjmp: Jump indirect from memory address


On 02/13/2012 11:54 PM, Uros Bizjak wrote:
>  	movq	48(%rsi), %r15
> -	movq	56(%rsi), %rdx
>  	movl	%edi, %eax
> +	cfi_offset(%rip, 56)
>  	cfi_def_cfa(%rcx, 0)
> -	cfi_register(%rip, %rdx)
>  	movq	%rcx, %rsp
> -	jmp	*%rdx
> +	jmp	*56(%rsi)

I'm sorry, I was mistaken earlier.  The rip value is not at CFA+56, it's at RSI+56.
The way to describe this is

	cfi_def_cfa(%rsi, 0)
	cfi_offset(%rip, 56)
	cfi_register(%rsp, %rcx)


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]