Skip to content

Instantly share code, notes, and snippets.

@agentzh
Created December 22, 2013 05:38
Show Gist options
  • Select an option

  • Save agentzh/8078803 to your computer and use it in GitHub Desktop.

Select an option

Save agentzh/8078803 to your computer and use it in GitHub Desktop.
(gdb) p $pc
$1 = (void (*)()) 0x7f73905374cc <lj_debug_funcname+204>
(gdb) disas
Dump of assembler code for function lj_debug_funcname:
0x00007f7390537400 <lj_debug_funcname+0>: mov %rbp,-0x18(%rsp)
0x00007f7390537405 <lj_debug_funcname+5>: mov %rbx,-0x20(%rsp)
0x00007f739053740a <lj_debug_funcname+10>: mov %rdi,%rbp
0x00007f739053740d <lj_debug_funcname+13>: mov %r12,-0x10(%rsp)
0x00007f7390537412 <lj_debug_funcname+18>: mov %r13,-0x8(%rsp)
0x00007f7390537417 <lj_debug_funcname+23>: sub $0x28,%rsp
0x00007f739053741b <lj_debug_funcname+27>: mov 0x24(%rdi),%eax
0x00007f739053741e <lj_debug_funcname+30>: cmp %rax,%rsi
0x00007f7390537421 <lj_debug_funcname+33>: jbe 0x7f7390537560 <lj_debug_funcname+352>
0x00007f7390537427 <lj_debug_funcname+39>: mov 0x4(%rsi),%eax
0x00007f739053742a <lj_debug_funcname+42>: mov %rdx,%r13
0x00007f739053742d <lj_debug_funcname+45>: mov %eax,%edx
0x00007f739053742f <lj_debug_funcname+47>: and $0x7,%edx
0x00007f7390537432 <lj_debug_funcname+50>: cmp $0x3,%edx
0x00007f7390537435 <lj_debug_funcname+53>: je 0x7f7390537520 <lj_debug_funcname+288>
0x00007f739053743b <lj_debug_funcname+59>: mov 0x4(%rsi),%eax
0x00007f739053743e <lj_debug_funcname+62>: test $0x3,%al
0x00007f7390537440 <lj_debug_funcname+64>: je 0x7f7390537480 <lj_debug_funcname+128>
0x00007f7390537442 <lj_debug_funcname+66>: and $0xfffffffffffffff8,%eax
0x00007f7390537445 <lj_debug_funcname+69>: mov %rsi,%rdx
0x00007f7390537448 <lj_debug_funcname+72>: xor %r12d,%r12d
0x00007f739053744b <lj_debug_funcname+75>: cltq
0x00007f739053744d <lj_debug_funcname+77>: sub %rax,%rdx
0x00007f7390537450 <lj_debug_funcname+80>: mov %rdx,%rax
0x00007f7390537453 <lj_debug_funcname+83>: mov (%rax),%ebx
0x00007f7390537455 <lj_debug_funcname+85>: cmpb $0x0,0x6(%rbx)
0x00007f7390537459 <lj_debug_funcname+89>: je 0x7f73905374a0 <lj_debug_funcname+160>
0x00007f739053745b <lj_debug_funcname+91>: mov %r12,%rax
0x00007f739053745e <lj_debug_funcname+94>: mov 0x8(%rsp),%rbx
0x00007f7390537463 <lj_debug_funcname+99>: mov 0x10(%rsp),%rbp
---Type <return> to continue, or q <return> to quit---
0x00007f7390537468 <lj_debug_funcname+104>: mov 0x18(%rsp),%r12
0x00007f739053746d <lj_debug_funcname+109>: mov 0x20(%rsp),%r13
0x00007f7390537472 <lj_debug_funcname+114>: add $0x28,%rsp
0x00007f7390537476 <lj_debug_funcname+118>: retq
0x00007f7390537477 <lj_debug_funcname+119>: nopw 0x0(%rax,%rax,1)
0x00007f7390537480 <lj_debug_funcname+128>: movzbl -0x3(%rax),%eax
0x00007f7390537484 <lj_debug_funcname+132>: mov %rsi,%rdx
0x00007f7390537487 <lj_debug_funcname+135>: xor %r12d,%r12d
0x00007f739053748a <lj_debug_funcname+138>: lea 0x8(,%rax,8),%rax
0x00007f7390537492 <lj_debug_funcname+146>: sub %rax,%rdx
0x00007f7390537495 <lj_debug_funcname+149>: mov %rdx,%rax
0x00007f7390537498 <lj_debug_funcname+152>: mov (%rax),%ebx
0x00007f739053749a <lj_debug_funcname+154>: cmpb $0x0,0x6(%rbx)
0x00007f739053749e <lj_debug_funcname+158>: jne 0x7f739053745b <lj_debug_funcname+91>
0x00007f73905374a0 <lj_debug_funcname+160>: lea 0x10(%rbx),%rax
0x00007f73905374a4 <lj_debug_funcname+164>: mov %rsi,%rdx
0x00007f73905374a7 <lj_debug_funcname+167>: mov %rbp,%rdi
0x00007f73905374aa <lj_debug_funcname+170>: mov %rax,%rsi
0x00007f73905374ad <lj_debug_funcname+173>: callq 0x7f7390536be0 <debug_framepc>
0x00007f73905374b2 <lj_debug_funcname+178>: cmp $0xffffffffffffffff,%eax
0x00007f73905374b5 <lj_debug_funcname+181>: mov %eax,%r9d
0x00007f73905374b8 <lj_debug_funcname+184>: je 0x7f739053745b <lj_debug_funcname+91>
0x00007f73905374ba <lj_debug_funcname+186>: mov 0x10(%rbx),%r8d
0x00007f73905374be <lj_debug_funcname+190>: mov %eax,%eax
0x00007f73905374c0 <lj_debug_funcname+192>: cmp %r9d,-0x38(%r8)
0x00007f73905374c4 <lj_debug_funcname+196>: lea -0x40(%r8),%rdi
0x00007f73905374c8 <lj_debug_funcname+200>: lea 0x40(%rdi,%rax,4),%rsi
0x00007f73905374cd <lj_debug_funcname+205>: jbe 0x7f739053745b <lj_debug_funcname+91>
0x00007f73905374cf <lj_debug_funcname+207>: mov (%rsi),%edx
0x00007f73905374d1 <lj_debug_funcname+209>: lea 0x4d1e8(%rip),%rcx # 0x7f73905846c0 <lj_bc_mode>
0x00007f73905374d8 <lj_debug_funcname+216>: movzbl %dl,%eax
---Type <return> to continue, or q <return> to quit---
0x00007f73905374db <lj_debug_funcname+219>: mov %eax,%r8d
0x00007f73905374de <lj_debug_funcname+222>: movzwl (%rcx,%r8,2),%r8d
0x00007f73905374e3 <lj_debug_funcname+227>: shr $0xb,%r8w
0x00007f73905374e8 <lj_debug_funcname+232>: movzwl %r8w,%r8d
0x00007f73905374ec <lj_debug_funcname+236>: cmp $0x9,%r8d
0x00007f73905374f0 <lj_debug_funcname+240>: je 0x7f7390537530 <lj_debug_funcname+304>
0x00007f73905374f2 <lj_debug_funcname+242>: cmp $0x16,%r8d
0x00007f73905374f6 <lj_debug_funcname+246>: je 0x7f739053745b <lj_debug_funcname+91>
0x00007f73905374fc <lj_debug_funcname+252>: mov 0x8(%rbp),%eax
0x00007f73905374ff <lj_debug_funcname+255>: lea 0x4d55e(%rip),%r12 # 0x7f7390584a64
0x00007f7390537506 <lj_debug_funcname+262>: mov 0x104(%rax,%r8,4),%eax
0x00007f739053750e <lj_debug_funcname+270>: add $0x10,%rax
0x00007f7390537512 <lj_debug_funcname+274>: mov %rax,0x0(%r13)
0x00007f7390537516 <lj_debug_funcname+278>: jmpq 0x7f739053745b <lj_debug_funcname+91>
0x00007f739053751b <lj_debug_funcname+283>: nopl 0x0(%rax,%rax,1)
0x00007f7390537520 <lj_debug_funcname+288>: and $0xfffffffffffffff8,%eax
0x00007f7390537523 <lj_debug_funcname+291>: cltq
0x00007f7390537525 <lj_debug_funcname+293>: sub %rax,%rsi
0x00007f7390537528 <lj_debug_funcname+296>: jmpq 0x7f739053743b <lj_debug_funcname+59>
0x00007f739053752d <lj_debug_funcname+301>: nopl (%rax)
0x00007f7390537530 <lj_debug_funcname+304>: movzbl %dh,%edx
0x00007f7390537533 <lj_debug_funcname+307>: cmp $0x45,%eax
0x00007f7390537536 <lj_debug_funcname+310>: mov 0x8(%rsp),%rbx
0x00007f739053753b <lj_debug_funcname+315>: lea -0x3(%rdx),%ecx
0x00007f739053753e <lj_debug_funcname+318>: mov 0x10(%rsp),%rbp
0x00007f7390537543 <lj_debug_funcname+323>: mov 0x18(%rsp),%r12
0x00007f7390537548 <lj_debug_funcname+328>: cmove %ecx,%edx
0x00007f739053754b <lj_debug_funcname+331>: mov %r13,%rcx
0x00007f739053754e <lj_debug_funcname+334>: mov 0x20(%rsp),%r13
0x00007f7390537553 <lj_debug_funcname+339>: add $0x28,%rsp
0x00007f7390537557 <lj_debug_funcname+343>: jmpq 0x7f7390537230 <lj_debug_slotname>
---Type <return> to continue, or q <return> to quit---
0x00007f739053755c <lj_debug_funcname+348>: nopl 0x0(%rax)
0x00007f7390537560 <lj_debug_funcname+352>: xor %r12d,%r12d
0x00007f7390537563 <lj_debug_funcname+355>: jmpq 0x7f739053745b <lj_debug_funcname+91>
End of assembler dump.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment