buserror on osx.4

Franklin Kingma franklin at fourdigits.nl
Tue Dec 19 11:44:34 MSK 2006


On Dec 19, 2006, at 9:38 AM, Igor Sysoev wrote:

> disassble ngx_time_update

(gdb) disassemble ngx_time_update
Dump of assembler code for function ngx_time_update:
0x0000a6ac <ngx_time_update+0>: mflr    r0
0x0000a6b0 <ngx_time_update+4>: stmw    r25,-28(r1)
0x0000a6b4 <ngx_time_update+8>: stw     r0,8(r1)
0x0000a6b8 <ngx_time_update+12>:        stwu    r1,-208(r1)
0x0000a6bc <ngx_time_update+16>:        bcl-    20,4*cr7+so,0xa6c0  
<ngx_time_update+20>
0x0000a6c0 <ngx_time_update+20>:        mflr    r31
0x0000a6c4 <ngx_time_update+24>:        mr      r30,r3
0x0000a6c8 <ngx_time_update+28>:        addis   r2,r31,5
0x0000a6cc <ngx_time_update+32>:        addi    r11,r2,3200
0x0000a6d0 <ngx_time_update+36>:        lwz     r9,3200(r2)
0x0000a6d4 <ngx_time_update+40>:        cmpwi   cr7,r9,0
0x0000a6d8 <ngx_time_update+44>:        bne-    cr7,0xa9ec  
<ngx_time_update+832>
0x0000a6dc <ngx_time_update+48>:        li      r2,1
0x0000a6e0 <ngx_time_update+52>:        li      r8,0
0x0000a6e4 <ngx_time_update+56>:        lwarx   r10,0,r11
0x0000a6e8 <ngx_time_update+60>:        cmpw    r10,r9
0x0000a6ec <ngx_time_update+64>:        bne-    0xa6fc  
<ngx_time_update+80>
0x0000a6f0 <ngx_time_update+68>:        stwcx.  r2,0,r11
0x0000a6f4 <ngx_time_update+72>:        bne-    0xa6fc  
<ngx_time_update+80>
0x0000a6f8 <ngx_time_update+76>:        li      r8,1
0x0000a6fc <ngx_time_update+80>:        cmpwi   cr7,r8,0
0x0000a700 <ngx_time_update+84>:        beq-    cr7,0xa9ec  
<ngx_time_update+832>
0x0000a704 <ngx_time_update+88>:        cmpwi   cr7,r3,0
0x0000a708 <ngx_time_update+92>:        bne-    cr7,0xa738  
<ngx_time_update+140>
0x0000a70c <ngx_time_update+96>:        addi    r3,r1,160
0x0000a710 <ngx_time_update+100>:       li      r4,0
0x0000a714 <ngx_time_update+104>:       bl      0x53da0  
<dyld_stub_gettimeofday>
0x0000a718 <ngx_time_update+108>:       lwz     r30,160(r1)
0x0000a71c <ngx_time_update+112>:       lwz     r2,164(r1)
0x0000a720 <ngx_time_update+116>:       lis     r0,4194
0x0000a724 <ngx_time_update+120>:       ori     r0,r0,19923
0x0000a728 <ngx_time_update+124>:       mulhw   r0,r2,r0
0x0000a72c <ngx_time_update+128>:       srawi   r0,r0,6
0x0000a730 <ngx_time_update+132>:       srawi   r2,r2,31
0x0000a734 <ngx_time_update+136>:       subf    r4,r2,r0
0x0000a738 <ngx_time_update+140>:       mulli   r0,r30,1000
0x0000a73c <ngx_time_update+144>:       add     r0,r4,r0
0x0000a740 <ngx_time_update+148>:       addis   r2,r31,5
0x0000a744 <ngx_time_update+152>:       lwz     r2,1400(r2)
0x0000a748 <ngx_time_update+156>:       stw     r0,0(r2)
0x0000a74c <ngx_time_update+160>:       addis   r2,r31,5
0x0000a750 <ngx_time_update+164>:       lwz     r9,3196(r2)
0x0000a754 <ngx_time_update+168>:       mulli   r0,r9,12
0x0000a758 <ngx_time_update+172>:       addis   r2,r31,5
0x0000a75c <ngx_time_update+176>:       addi    r2,r2,3204
0x0000a760 <ngx_time_update+180>:       add     r11,r0,r2
0x0000a764 <ngx_time_update+184>:       lwzx    r0,r2,r0
0x0000a768 <ngx_time_update+188>:       cmpw    cr7,r30,r0
0x0000a76c <ngx_time_update+192>:       bne-    cr7,0xa784  
<ngx_time_update+216>
0x0000a770 <ngx_time_update+196>:       stw     r4,4(r11)
0x0000a774 <ngx_time_update+200>:       li      r0,0
0x0000a778 <ngx_time_update+204>:       addis   r2,r31,5
0x0000a77c <ngx_time_update+208>:       stw     r0,3200(r2)
0x0000a780 <ngx_time_update+212>:       b       0xa9ec  
<ngx_time_update+832>
0x0000a784 <ngx_time_update+216>:       cmpwi   cr7,r9,64
0x0000a788 <ngx_time_update+220>:       bne-    cr7,0xa79c  
<ngx_time_update+240>
0x0000a78c <ngx_time_update+224>:       li      r0,0
0x0000a790 <ngx_time_update+228>:       addis   r2,r31,5
0x0000a794 <ngx_time_update+232>:       stw     r0,3196(r2)
0x0000a798 <ngx_time_update+236>:       b       0xa7a8  
<ngx_time_update+252>
0x0000a79c <ngx_time_update+240>:       addi    r0,r9,1
0x0000a7a0 <ngx_time_update+244>:       addis   r2,r31,5
0x0000a7a4 <ngx_time_update+248>:       stw     r0,3196(r2)
0x0000a7a8 <ngx_time_update+252>:       addis   r29,r31,5
0x0000a7ac <ngx_time_update+256>:       lwz     r0,3196(r29)
0x0000a7b0 <ngx_time_update+260>:       rlwinm  r2,r0,2,0,29
0x0000a7b4 <ngx_time_update+264>:       rlwinm  r0,r0,4,0,27
0x0000a7b8 <ngx_time_update+268>:       subf    r0,r2,r0
0x0000a7bc <ngx_time_update+272>:       addis   r2,r31,5
0x0000a7c0 <ngx_time_update+276>:       addi    r2,r2,3204
0x0000a7c4 <ngx_time_update+280>:       add     r27,r0,r2
0x0000a7c8 <ngx_time_update+284>:       stwx    r30,r2,r0
0x0000a7cc <ngx_time_update+288>:       stw     r4,4(r27)
0x0000a7d0 <ngx_time_update+292>:       mr      r3,r30
0x0000a7d4 <ngx_time_update+296>:       addi    r4,r1,116
0x0000a7d8 <ngx_time_update+300>:       bl      0xab5c <ngx_gmtime>
0x0000a7dc <ngx_time_update+304>:       lwz     r0,3196(r29)
0x0000a7e0 <ngx_time_update+308>:       rlwinm  r2,r0,1,0,30
0x0000a7e4 <ngx_time_update+312>:       rlwinm  r0,r0,5,0,26
0x0000a7e8 <ngx_time_update+316>:       subf    r0,r2,r0
0x0000a7ec <ngx_time_update+320>:       addis   r2,r31,5
0x0000a7f0 <ngx_time_update+324>:       addi    r2,r2,5252
0x0000a7f4 <ngx_time_update+328>:       add     r25,r0,r2
0x0000a7f8 <ngx_time_update+332>:       lwz     r0,140(r1)
0x0000a7fc <ngx_time_update+336>:       rlwinm  r0,r0,2,0,29
0x0000a800 <ngx_time_update+340>:       addis   r2,r31,5
0x0000a804 <ngx_time_update+344>:       addi    r2,r2,-19792
0x0000a808 <ngx_time_update+348>:       lwzx    r5,r2,r0
0x0000a80c <ngx_time_update+352>:       addis   r28,r31,5
0x0000a810 <ngx_time_update+356>:       addi    r28,r28,-19764
0x0000a814 <ngx_time_update+360>:       lwz     r2,132(r1)
0x0000a818 <ngx_time_update+364>:       rlwinm  r2,r2,2,0,29
0x0000a81c <ngx_time_update+368>:       add     r2,r2,r28
0x0000a820 <ngx_time_update+372>:       lwz     r7,-4(r2)
0x0000a824 <ngx_time_update+376>:       lwz     r0,116(r1)
0x0000a828 <ngx_time_update+380>:       stw     r0,56(r1)
0x0000a82c <ngx_time_update+384>:       mr      r3,r25
0x0000a830 <ngx_time_update+388>:       addis   r4,r31,4
0x0000a834 <ngx_time_update+392>:       addi    r4,r4,10924
0x0000a838 <ngx_time_update+396>:       lwz     r6,128(r1)
0x0000a83c <ngx_time_update+400>:       lwz     r8,136(r1)
0x0000a840 <ngx_time_update+404>:       lwz     r9,124(r1)
0x0000a844 <ngx_time_update+408>:       lwz     r10,120(r1)
0x0000a848 <ngx_time_update+412>:       bl      0x5d44 <ngx_sprintf>
0x0000a84c <ngx_time_update+416>:       mr      r3,r30
0x0000a850 <ngx_time_update+420>:       addi    r4,r1,72
0x0000a854 <ngx_time_update+424>:       bl      0x12ec8 <ngx_localtime>
0x0000a858 <ngx_time_update+428>:       lwz     r2,108(r1)
0x0000a85c <ngx_time_update+432>:       lis     r0,-30584
0x0000a860 <ngx_time_update+436>:       ori     r0,r0,34953
0x0000a864 <ngx_time_update+440>:       mulhw   r0,r2,r0
0x0000a868 <ngx_time_update+444>:       add     r0,r0,r2
0x0000a86c <ngx_time_update+448>:       srawi   r0,r0,5
0x0000a870 <ngx_time_update+452>:       srawi   r2,r2,31
0x0000a874 <ngx_time_update+456>:       subf    r0,r2,r0
0x0000a878 <ngx_time_update+460>:       stw     r0,8(r27)
0x0000a87c <ngx_time_update+464>:       lwz     r0,3196(r29)
0x0000a880 <ngx_time_update+468>:       rlwinm  r9,r0,2,0,29
0x0000a884 <ngx_time_update+472>:       rlwinm  r0,r0,4,0,27
0x0000a888 <ngx_time_update+476>:       add     r9,r9,r0
0x0000a88c <ngx_time_update+480>:       addis   r2,r31,5
0x0000a890 <ngx_time_update+484>:       addi    r2,r2,3972
0x0000a894 <ngx_time_update+488>:       add     r26,r9,r2
0x0000a898 <ngx_time_update+492>:       mr      r3,r26
0x0000a89c <ngx_time_update+496>:       addis   r4,r31,4
0x0000a8a0 <ngx_time_update+500>:       addi    r4,r4,10960
0x0000a8a4 <ngx_time_update+504>:       lwz     r5,92(r1)
0x0000a8a8 <ngx_time_update+508>:       lwz     r6,88(r1)
0x0000a8ac <ngx_time_update+512>:       lwz     r7,84(r1)
0x0000a8b0 <ngx_time_update+516>:       lwz     r8,80(r1)
0x0000a8b4 <ngx_time_update+520>:       lwz     r9,76(r1)
0x0000a8b8 <ngx_time_update+524>:       lwz     r10,72(r1)
0x0000a8bc <ngx_time_update+528>:       bl      0x5d44 <ngx_sprintf>
0x0000a8c0 <ngx_time_update+532>:       lwz     r29,3196(r29)
0x0000a8c4 <ngx_time_update+536>:       rlwinm  r2,r29,2,0,29
0x0000a8c8 <ngx_time_update+540>:       rlwinm  r0,r29,5,0,26
0x0000a8cc <ngx_time_update+544>:       subf    r0,r2,r0
0x0000a8d0 <ngx_time_update+548>:       subf    r0,r29,r0
0x0000a8d4 <ngx_time_update+552>:       addis   r2,r31,5
0x0000a8d8 <ngx_time_update+556>:       addi    r2,r2,7172
0x0000a8dc <ngx_time_update+560>:       add     r30,r0,r2
0x0000a8e0 <ngx_time_update+564>:       lwz     r5,84(r1)
0x0000a8e4 <ngx_time_update+568>:       lwz     r2,88(r1)
0x0000a8e8 <ngx_time_update+572>:       rlwinm  r2,r2,2,0,29
0x0000a8ec <ngx_time_update+576>:       add     r2,r2,r28
0x0000a8f0 <ngx_time_update+580>:       lwz     r6,-4(r2)
0x0000a8f4 <ngx_time_update+584>:       lwz     r7,92(r1)
0x0000a8f8 <ngx_time_update+588>:       lwz     r8,80(r1)
0x0000a8fc <ngx_time_update+592>:       lwz     r9,76(r1)
0x0000a900 <ngx_time_update+596>:       lwz     r10,72(r1)
0x0000a904 <ngx_time_update+600>:       lwz     r11,8(r27)
0x0000a908 <ngx_time_update+604>:       li      r4,43
0x0000a90c <ngx_time_update+608>:       cmpwi   cr7,r11,0
0x0000a910 <ngx_time_update+612>:       bge-    cr7,0xa920  
<ngx_time_update+628>
0x0000a914 <ngx_time_update+616>:       cmpwi   cr7,r11,-59
0x0000a918 <ngx_time_update+620>:       blt-    cr7,0xa940  
<ngx_time_update+660>
0x0000a91c <ngx_time_update+624>:       li      r4,45
0x0000a920 <ngx_time_update+628>:       lis     r0,-30584
0x0000a924 <ngx_time_update+632>:       ori     r0,r0,34953
0x0000a928 <ngx_time_update+636>:       mulhw   r0,r11,r0
0x0000a92c <ngx_time_update+640>:       add     r0,r0,r11
0x0000a930 <ngx_time_update+644>:       srawi   r0,r0,5
0x0000a934 <ngx_time_update+648>:       srawi   r2,r11,31
0x0000a938 <ngx_time_update+652>:       subf    r0,r2,r0
0x0000a93c <ngx_time_update+656>:       b       0xa960  
<ngx_time_update+692>
0x0000a940 <ngx_time_update+660>:       lis     r0,-30584
0x0000a944 <ngx_time_update+664>:       ori     r0,r0,34953
0x0000a948 <ngx_time_update+668>:       mulhw   r0,r11,r0
0x0000a94c <ngx_time_update+672>:       add     r0,r0,r11
0x0000a950 <ngx_time_update+676>:       srawi   r0,r0,5
0x0000a954 <ngx_time_update+680>:       srawi   r2,r11,31
0x0000a958 <ngx_time_update+684>:       subf    r0,r0,r2
0x0000a95c <ngx_time_update+688>:       li      r4,45
0x0000a960 <ngx_time_update+692>:       stw     r4,56(r1)
0x0000a964 <ngx_time_update+696>:       stw     r0,60(r1)
0x0000a968 <ngx_time_update+700>:       lis     r0,-30584
0x0000a96c <ngx_time_update+704>:       ori     r0,r0,34953
0x0000a970 <ngx_time_update+708>:       mulhw   r0,r11,r0
0x0000a974 <ngx_time_update+712>:       add     r0,r0,r11
0x0000a978 <ngx_time_update+716>:       srawi   r0,r0,5
0x0000a97c <ngx_time_update+720>:       srawi   r2,r11,31
0x0000a980 <ngx_time_update+724>:       subf    r0,r2,r0
0x0000a984 <ngx_time_update+728>:       mulli   r0,r0,60
0x0000a988 <ngx_time_update+732>:       subf    r0,r0,r11
0x0000a98c <ngx_time_update+736>:       srawi   r2,r0,31
0x0000a990 <ngx_time_update+740>:       xor     r0,r2,r0
0x0000a994 <ngx_time_update+744>:       subf    r0,r2,r0
0x0000a998 <ngx_time_update+748>:       stw     r0,64(r1)
0x0000a99c <ngx_time_update+752>:       mr      r3,r30
0x0000a9a0 <ngx_time_update+756>:       addis   r4,r31,4
0x0000a9a4 <ngx_time_update+760>:       addi    r4,r4,10992
0x0000a9a8 <ngx_time_update+764>:       bl      0x5d44 <ngx_sprintf>
0x0000a9ac <ngx_time_update+768>:       sync
0x0000a9b0 <ngx_time_update+772>:       addis   r2,r31,5
0x0000a9b4 <ngx_time_update+776>:       lwz     r2,1392(r2)
0x0000a9b8 <ngx_time_update+780>:       stw     r27,0(r2)
0x0000a9bc <ngx_time_update+784>:       addis   r2,r31,5
0x0000a9c0 <ngx_time_update+788>:       lwz     r2,1396(r2)
0x0000a9c4 <ngx_time_update+792>:       stw     r25,4(r2)
0x0000a9c8 <ngx_time_update+796>:       addis   r2,r31,5
0x0000a9cc <ngx_time_update+800>:       lwz     r2,1372(r2)
0x0000a9d0 <ngx_time_update+804>:       stw     r26,4(r2)
0x0000a9d4 <ngx_time_update+808>:       addis   r2,r31,5
0x0000a9d8 <ngx_time_update+812>:       lwz     r2,1404(r2)
0x0000a9dc <ngx_time_update+816>:       stw     r30,4(r2)
0x0000a9e0 <ngx_time_update+820>:       li      r0,0
0x0000a9e4 <ngx_time_update+824>:       addis   r2,r31,5
0x0000a9e8 <ngx_time_update+828>:       stw     r0,3200(r2)
0x0000a9ec <ngx_time_update+832>:       addi    r1,r1,208
0x0000a9f0 <ngx_time_update+836>:       lwz     r0,8(r1)
0x0000a9f4 <ngx_time_update+840>:       mtlr    r0
0x0000a9f8 <ngx_time_update+844>:       lmw     r25,-28(r1)
0x0000a9fc <ngx_time_update+848>:       blr
End of assembler dump.







More information about the nginx mailing list