牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Mac と MacPorts で objdump

Install

sudo port install binutils

Command

objdump ではなく gobjdump になる。
binutils で入れるとコマンドの頭にgがつくらしい)

test

$ gcc helloworld.c
$ ls -l a.out
$ gobjdump -M intel -D a.out | grep -A20 main.:
unable to read unknown load command 0x24
unable to read unknown load command 0x26
0000000100000ee0 <_main>:
   100000ee0:	55                   	push   rbp
   100000ee1:	48 89 e5             	mov    rbp,rsp
   100000ee4:	48 83 ec 10          	sub    rsp,0x10
   100000ee8:	c7 45 f4 00 00 00 00 	mov    DWORD PTR [rbp-0xc],0x0
   100000eef:	eb 18                	jmp    100000f09 <_main+0x29>
   100000ef1:	48 8d 05 60 00 00 00 	lea    rax,[rip+0x60]        # 100000f58 <_puts$stub+0x2a>
   100000ef8:	48 89 c7             	mov    rdi,rax
   100000efb:	e8 2e 00 00 00       	call   100000f2e <_puts$stub>
   100000f00:	8b 45 f4             	mov    eax,DWORD PTR [rbp-0xc]
   100000f03:	83 c0 01             	add    eax,0x1
   100000f06:	89 45 f4             	mov    DWORD PTR [rbp-0xc],eax
   100000f09:	8b 45 f4             	mov    eax,DWORD PTR [rbp-0xc]
   100000f0c:	83 f8 09             	cmp    eax,0x9
   100000f0f:	7e e0                	jle    100000ef1 <_main+0x11>
   100000f11:	c7 45 f8 00 00 00 00 	mov    DWORD PTR [rbp-0x8],0x0
   100000f18:	8b 45 f8             	mov    eax,DWORD PTR [rbp-0x8]
   100000f1b:	89 45 fc             	mov    DWORD PTR [rbp-0x4],eax
   100000f1e:	8b 45 fc             	mov    eax,DWORD PTR [rbp-0x4]
   100000f21:	48 83 c4 10          	add    rsp,0x10
   100000f25:	5d                   	pop    rbp

若干書籍と異なる。