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