This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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] S/390: Add even more cfi to asm files


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~


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