[parisc-linux] glibc 2.2.3: setjmp/longjmp
Matthew Wilcox
matthew@wil.cx
Fri, 4 May 2001 23:57:11 +0100
taking a somewhat different approach:
ea44: e8 42 11 d4 b,l 14334 <_setjmp>,rp
00014334 <_setjmp>:
14334: 6b c2 3f d9 stw rp,-14(sr0,sp)
14338: 34 19 00 00 ldi 0,r25
1433c: 37 de 00 80 ldo 40(sp),sp
14340: 6b d3 3f c1 stw r19,-20(sr0,sp)
14344: e8 41 00 d8 b,l 163b8 <__sigsetjmp>,rp
14348: 6b d3 3f 91 stw r19,-38(sr0,sp)
1434c: 4b d3 3f 91 ldw -38(sr0,sp),r19
14350: 4b c2 3f 59 ldw -54(sr0,sp),rp
14354: e8 40 c0 00 bv r0(rp)
14358: 37 de 3f 81 ldo -40(sp),sp
000163b8 <__sigsetjmp>:
163b8: 0f 43 12 80 stw r3,0(sr0,r26)
163bc: 0f 44 12 90 stw r4,8(sr0,r26)
163c0: 0f 45 12 98 stw r5,c(sr0,r26)
163c4: 6b 46 00 20 stw r6,10(sr0,r26)
163c8: 6b 47 00 28 stw r7,14(sr0,r26)
163cc: 6b 48 00 30 stw r8,18(sr0,r26)
163d0: 6b 49 00 38 stw r9,1c(sr0,r26)
163d4: 6b 4a 00 40 stw r10,20(sr0,r26)
163d8: 6b 4b 00 48 stw r11,24(sr0,r26)
163dc: 6b 4c 00 50 stw r12,28(sr0,r26)
163e0: 6b 4d 00 58 stw r13,2c(sr0,r26)
163e4: 6b 4e 00 60 stw r14,30(sr0,r26)
163e8: 6b 4f 00 68 stw r15,34(sr0,r26)
163ec: 6b 50 00 70 stw r16,38(sr0,r26)
163f0: 6b 51 00 78 stw r17,3c(sr0,r26)
163f4: 6b 52 00 80 stw r18,40(sr0,r26)
163f8: 6b 53 00 88 stw r19,44(sr0,r26)
163fc: 6b 5b 00 90 stw dp,48(sr0,r26)
16400: 6b 5e 00 98 stw sp,4c(sr0,r26)
16404: 6b 42 00 a0 stw rp,50(sr0,r26)
16408: 37 53 00 b0 ldo 58(r26),r19
1640c: 2e 70 12 2c fstd,ma fr12,8(sr0,r19)
16410: 2e 70 12 2d fstd,ma fr13,8(sr0,r19)
16414: 2e 70 12 2e fstd,ma fr14,8(sr0,r19)
16418: 2e 70 12 2f fstd,ma fr15,8(sr0,r19)
1641c: 2e 70 12 30 fstd,ma fr16,8(sr0,r19)
16420: 2e 70 12 31 fstd,ma fr17,8(sr0,r19)
16424: 2e 70 12 32 fstd,ma fr18,8(sr0,r19)
16428: 2e 70 12 33 fstd,ma fr19,8(sr0,r19)
1642c: 2e 70 12 34 fstd,ma fr20,8(sr0,r19)
16430: 2e 60 12 15 fstd fr21,0(sr0,r19)
16434: e8 1e 0a d5 b,l 139a4 <__sigjmp_save>,r0
16438: 08 00 02 40 nop
000139a4 <__sigjmp_save>:
139a4: 6b 40 01 50 stw r0,a8(sr0,r26)
139a8: e8 40 c0 00 bv r0(rp)
139ac: 34 1c 00 00 ldi 0,ret0
oh. wait. 1434F is exactly where it should be. *sigh*. So why the hell
is it returning to the wrong place?
--
Revolutions do not require corporate support.