[Gems-users] TM workload setup - handler address offset


Date: 04 Sep 2009 14:55:58 -0500
From: holey003@xxxxxxx
Subject: [Gems-users] TM workload setup - handler address offset
Hi,

I tried to find if default offset of 16 for handler is correct.
Disassemble command dump in GDB for transaction_manager_stub is given below.

(gdb) disassemble transaction_manager_stub
Dump of assembler code for function transaction_manager_stub:
0x000126a4 <transaction_manager_stub+0>: popf 0x000126a5 <transaction_manager_stub+1>: jecxz 0x12666 <tm_trap_handler+310> 0x000126a7 <transaction_manager_stub+3>: nop 0x000126a8 <transaction_manager_stub+4>: andb $0x0,-0x7fedffe0(%esi)
0x000126af <transaction_manager_stub+11>:	adc    %bl,0x1002010(%edx)
0x000126b5 <transaction_manager_stub+17>:	add    %al,(%eax)
0x000126b7 <transaction_manager_stub+19>:	push   %es
0x000126b8 <transaction_manager_stub+20>:	add    (%eax),%eax
0x000126ba <transaction_manager_stub+22>:	add    %cl,-0x50(%ecx)
0x000126bd <transaction_manager_stub+25>:	adc    %ah,0x30(%ecx)
0x000126c0 <transaction_manager_stub+28>: lahf 0x000126c1 <transaction_manager_stub+29>: movb $0x0,(%eax) 0x000126c4 <transaction_manager_stub+32>: nop 0x000126c5 <transaction_manager_stub+33>: adc %al,(%eax)
0x000126c7 <transaction_manager_stub+35>:	add    -0x7ffcfff0(%edx),%al
0x000126cd <transaction_manager_stub+41>:	mov    0x80020060,%al
0x000126d2 <transaction_manager_stub+46>:	add    %al,0x2010b0
0x000126d8 <transaction_manager_stub+52>:	add    %eax,(%eax)
0x000126da <transaction_manager_stub+54>:	add    %al,(%edi)
0x000126dc <transaction_manager_stub+56>:	add    %eax,(%eax)
0x000126de <transaction_manager_stub+58>:	add    %cl,(%ebx)
0x000126e0 <transaction_manager_stub+60>:	xor    %al,0x10300(%eax)
0x000126e6 <transaction_manager_stub+66>:	add    %al,(%edi)
0x000126e8 <transaction_manager_stub+68>:	add    %eax,(%eax)
0x000126ea <transaction_manager_stub+70>:	add    %bl,(%ecx,%eax,4)
0x000126ed <transaction_manager_stub+73>: (bad) 0x000126ee <transaction_manager_stub+74>: loopne 0x126f8 <touch_log+4>
0x000126f0 <transaction_manager_stub+76>:	sub    $0x190000,%eax
End of assembler dump.

Looking at above dump, what should be actual offset??
What can happen if the offset is incorrect?

Thanks,
Anup
[← Prev in Thread] Current Thread [Next in Thread→]