> Not sure if it's still important, but this is how it looks for me: Thank you, Nikolaus. Your disassembly proves that our guess was correct.
Pavel On Fri, May 14, 2010 at 9:45 AM, Nikolaus Rath <nikol...@rath.org> wrote: > Pavel Ivanov <paiva...@gmail.com> writes: >>>> Yeah, I'm around. I don't know what an "exact disassembly" is or how to >>>> provide one, but if someone tells me what to do then I'm most likely >>>> willing to do it. >> >> Nikolaus, you can do it like this: >>> gdb your_application >> (gdb) disassemble pthreadMutexEnter >> >> I made that for my application and see this: >> >> Dump of assembler code for function pthreadMutexEnter: >> 0x00000000005d60c0 <pthreadMutexEnter+0>: push %rbx >> 0x00000000005d60c1 <pthreadMutexEnter+1>: mov %rdi,%rbx >> 0x00000000005d60c4 <pthreadMutexEnter+4>: callq 0x472750 >> <pthread_mutex_l...@plt> >> 0x00000000005d60c9 <pthreadMutexEnter+9>: callq 0x471dc0 >> <pthread_s...@plt> >> 0x00000000005d60ce <pthreadMutexEnter+14>: incl 0x2c(%rbx) >> 0x00000000005d60d1 <pthreadMutexEnter+17>: mov %rax,0x30(%rbx) >> 0x00000000005d60d5 <pthreadMutexEnter+21>: pop %rbx >> 0x00000000005d60d6 <pthreadMutexEnter+22>: retq >> End of assembler dump. > > Not sure if it's still important, but this is how it looks for me: > > (gdb) disassemble pthreadMutexEnter > Dump of assembler code for function pthreadMutexEnter: > 0x002f3090 <+0>: push %ebp > 0x002f3091 <+1>: mov %esp,%ebp > 0x002f3093 <+3>: push %esi > 0x002f3094 <+4>: push %ebx > 0x002f3095 <+5>: sub $0x20,%esp > 0x002f3098 <+8>: mov 0x8(%ebp),%esi > 0x002f309b <+11>: call 0x2dbd67 <__i686.get_pc_thunk.bx> > 0x002f30a0 <+16>: add $0xb9f54,%ebx > 0x002f30a6 <+22>: cmpl $0x1,0x18(%esi) > 0x002f30aa <+26>: je 0x2f30b8 <pthreadMutexEnter+40> > 0x002f30ac <+28>: mov %esi,(%esp) > 0x002f30af <+31>: call 0x2f2e10 <pthreadMutexNotheld> > 0x002f30b4 <+36>: test %eax,%eax > 0x002f30b6 <+38>: je 0x2f3101 <pthreadMutexEnter+113> > 0x002f30b8 <+40>: mov %esi,(%esp) > 0x002f30bb <+43>: call 0x2db980 <pthread_mutex_l...@plt> > 0x002f30c0 <+48>: call 0x2dbc60 <pthread_s...@plt> > 0x002f30c5 <+53>: mov 0x1c(%esi),%edx > 0x002f30c8 <+56>: add $0x1,%edx > 0x002f30cb <+59>: mov %edx,0x1c(%esi) > 0x002f30ce <+62>: mov %eax,0x20(%esi) > 0x002f30d1 <+65>: mov 0x24(%esi),%eax > 0x002f30d4 <+68>: test %eax,%eax > 0x002f30d6 <+70>: je 0x2f30fa <pthreadMutexEnter+106> > 0x002f30d8 <+72>: mov %eax,0xc(%esp) > 0x002f30dc <+76>: lea -0x23258(%ebx),%eax > 0x002f30e2 <+82>: mov %edx,0x10(%esp) > 0x002f30e6 <+86>: mov %esi,0x8(%esp) > 0x002f30ea <+90>: mov %eax,0x4(%esp) > 0x002f30ee <+94>: movl $0x1,(%esp) > 0x002f30f5 <+101>: call 0x2db410 <__printf_...@plt> > 0x002f30fa <+106>: add $0x20,%esp > 0x002f30fd <+109>: pop %ebx > 0x002f30fe <+110>: pop %esi > 0x002f30ff <+111>: pop %ebp > 0x002f3100 <+112>: ret > 0x002f3101 <+113>: lea -0x2b207(%ebx),%eax > 0x002f3107 <+119>: mov %eax,0xc(%esp) > 0x002f310b <+123>: lea -0x24b18(%ebx),%eax > 0x002f3111 <+129>: mov %eax,0x4(%esp) > 0x002f3115 <+133>: lea -0x2327c(%ebx),%eax > 0x002f311b <+139>: movl $0x3d0f,0x8(%esp) > 0x002f3123 <+147>: mov %eax,(%esp) > 0x002f3126 <+150>: call 0x2db530 <__assert_f...@plt> > End of assembler dump. > > > -Nikolaus > > -- > »Time flies like an arrow, fruit flies like a Banana.« > > PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6 02CF A9AD B7F8 AE4E 425C > > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users