Re: [Linux-ia64] Re: gas generates incorrect ia64 unwind rlen values

From: David Mosberger <davidm_at_napali.hpl.hp.com>
Date: 2002-12-17 13:51:53
>>>>> On Tue, 17 Dec 2002 13:34:03 +1100, Keith Owens <kaos@sgi.com> said:

  Keith> I built binutils-2.13.90.0.2-2 (from rh 8.0) on ia64.  I
  Keith> extracted the generated assembler for ia64_fault as traps.S.
  Keith> The bug still exists in 2.13.90.0.2.  traps.S has been sent
  Keith> to Jim Wilson as a test case.

Which compiler did you use?  With gcc-3.0, I get the info attached
below.  It looks correct to me (I only checked the total length, not
the individual regions).

	--david

<ia64_fault>: [0xe00000000442cd00-0xe00000000442d840], info at +0x545c80
  v1, flags=0x0 (), len=24 bytes
    R2:prologue_gr(mask=[rp,ar.pfs],grsave=r37,rlen=14)
        P7:pfs_when(t=0)
        P7:mem_stack_f(t=1,size=256)
        P7:rp_when(t=13)
    R3:body(rlen=55)
        B1:label_state(label=1)
        B2:epilogue(t=2,ecount=0)
    R3:body(rlen=471)
        B1:copy_state(label=1)

e00000000442cd00 <ia64_fault>:
e00000000442cd00:       00 30 31 0e 80 05       [MII]       alloc r38=ar.pfs,12,
7,0
e00000000442cd06:       c0 00 30 7c 46 00                   adds r12=-256,r12
e00000000442cd0c:       00 00 04 00                         nop.i 0x0
      :
e00000000442d820:       00 70 c0 03 96 26       [MII]       addl r14=-2077840,r1
e00000000442d826:       90 02 85 5e 29 60                   shr.u r41=r33,16
e00000000442d82c:       04 61 04 84                         adds r35=144,r12
e00000000442d830:       1d 00 00 00 01 00       [MFB]       nop.m 0x0
e00000000442d836:       00 00 00 02 00 00                   nop.f 0x0
e00000000442d83c:       c0 fe ff 48                         br.few e000000004426f0 <ia64_fault+0x9f0>;;
Received on Mon Dec 16 18:53:57 2002

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:11 EST