[PATCH] S/390: Add even more cfi to asm files

Richard Henderson rth@twiddle.net
Thu Dec 3 18:56:00 GMT 2009


On 12/03/2009 04:15 AM, Andreas Krebbel wrote:
>   	stmg   %r2,%r6,64(%r15)		# save registers
> +	cfi_offset (r6, -96)

This saves r2 through r6, does it not?

>   	std    %f0,104(%r15)
> +	cfi_offset (f0, -56)
>   	std    %f2,112(%r15)
> +	cfi_offset (f2, -48)
>   	std    %f4,120(%r15)
> +	cfi_offset (f4, -40)
>   	std    %f6,128(%r15)
> +	cfi_offset (f6, -32)
>   	stg    %r6,16(%r15)
>   	stg    %r12,24(%r15)
> +	cfi_offset (r12, -136)
>   	stg    %r14,32(%r15)
> +	cfi_offset (r14, -128)

You can reduce the size of the unwind info if you
put all of the saves at the same location at the
end of the prologue.  This is legal so long as the
registers havn't been modified in the meantime.

>   _dl_runtime_resolve:
>   	stm    %r2,%r5,32(%r15)		# save registers
>   	st     %r14,8(%r15)
> +	cfi_offset (r14, -88)

Missing annotation for the stm.

>   	stm   %r14,%r5,96(%r15)
> +	cfi_offset (r14, 0)

r14 through r5 no?



r~



More information about the Libc-alpha mailing list