Skip to content

Instantly share code, notes, and snippets.

@Xuanwo
Last active March 28, 2019 06:46
Show Gist options
  • Save Xuanwo/1023f8dac1ecae12b44da4f64462cc2e to your computer and use it in GitHub Desktop.
Save Xuanwo/1023f8dac1ecae12b44da4f64462cc2e to your computer and use it in GitHub Desktop.
Recover logic
"".main STEXT size=112 args=0x0 locals=0x18
0x0000 00000 (main.go:3) TEXT "".main(SB), ABIInternal, $24-0
0x0000 00000 (main.go:3) MOVQ (TLS), CX
0x0009 00009 (main.go:3) CMPQ SP, 16(CX)
0x000d 00013 (main.go:3) JLS 105
0x000f 00015 (main.go:3) SUBQ $24, SP
0x0013 00019 (main.go:3) MOVQ BP, 16(SP)
0x0018 00024 (main.go:3) LEAQ 16(SP), BP
0x001d 00029 (main.go:3) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:3) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:3) FUNCDATA $3, gclocals·9fb7f0986f647f17cb53dda1484e0f7a(SB)
0x001d 00029 (main.go:4) PCDATA $2, $0
0x001d 00029 (main.go:4) PCDATA $0, $0
0x001d 00029 (main.go:4) MOVL $0, (SP)
0x0024 00036 (main.go:4) PCDATA $2, $1
0x0024 00036 (main.go:4) LEAQ "".main.func1·f(SB), AX
0x002b 00043 (main.go:4) PCDATA $2, $0
0x002b 00043 (main.go:4) MOVQ AX, 8(SP)
0x0030 00048 (main.go:4) CALL runtime.deferproc(SB)
0x0035 00053 (main.go:4) TESTL AX, AX
0x0037 00055 (main.go:4) JNE 89
0x0039 00057 (main.go:4) JMP 59
0x003b 00059 (main.go:10) PCDATA $2, $1
0x003b 00059 (main.go:10) LEAQ type.string(SB), AX
0x0042 00066 (main.go:10) PCDATA $2, $0
0x0042 00066 (main.go:10) MOVQ AX, (SP)
0x0046 00070 (main.go:10) PCDATA $2, $1
0x0046 00070 (main.go:10) LEAQ "".statictmp_0(SB), AX
0x004d 00077 (main.go:10) PCDATA $2, $0
0x004d 00077 (main.go:10) MOVQ AX, 8(SP)
0x0052 00082 (main.go:10) CALL runtime.gopanic(SB)
0x0057 00087 (main.go:10) UNDEF
0x0059 00089 (main.go:4) XCHGL AX, AX
0x005a 00090 (main.go:4) CALL runtime.deferreturn(SB)
0x005f 00095 (main.go:4) MOVQ 16(SP), BP
0x0064 00100 (main.go:4) ADDQ $24, SP
0x0068 00104 (main.go:4) RET
0x0069 00105 (main.go:4) NOP
0x0069 00105 (main.go:3) PCDATA $0, $-1
0x0069 00105 (main.go:3) PCDATA $2, $-1
0x0069 00105 (main.go:3) CALL runtime.morestack_noctxt(SB)
0x006e 00110 (main.go:3) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 5a 48 dH..%....H;a.vZH
0x0010 83 ec 18 48 89 6c 24 10 48 8d 6c 24 10 c7 04 24 ...H.l$.H.l$...$
0x0020 00 00 00 00 48 8d 05 00 00 00 00 48 89 44 24 08 ....H......H.D$.
0x0030 e8 00 00 00 00 85 c0 75 20 eb 00 48 8d 05 00 00 .......u ..H....
0x0040 00 00 48 89 04 24 48 8d 05 00 00 00 00 48 89 44 ..H..$H......H.D
0x0050 24 08 e8 00 00 00 00 0f 0b 90 e8 00 00 00 00 48 $..............H
0x0060 8b 6c 24 10 48 83 c4 18 c3 e8 00 00 00 00 eb 90 .l$.H...........
rel 5+4 t=16 TLS+0
rel 39+4 t=15 "".main.func1·f+0
rel 49+4 t=8 runtime.deferproc+0
rel 62+4 t=15 type.string+0
rel 73+4 t=15 "".statictmp_0+0
rel 83+4 t=8 runtime.gopanic+0
rel 91+4 t=8 runtime.deferreturn+0
rel 106+4 t=8 runtime.morestack_noctxt+0
"".main.func1.1 STEXT size=60 args=0x0 locals=0x20
0x0000 00000 (main.go:5) TEXT "".main.func1.1(SB), ABIInternal, $32-0
0x0000 00000 (main.go:5) MOVQ (TLS), CX
0x0009 00009 (main.go:5) CMPQ SP, 16(CX)
0x000d 00013 (main.go:5) JLS 53
0x000f 00015 (main.go:5) SUBQ $32, SP
0x0013 00019 (main.go:5) MOVQ BP, 24(SP)
0x0018 00024 (main.go:5) LEAQ 24(SP), BP
0x001d 00029 (main.go:5) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:5) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:5) FUNCDATA $3, gclocals·9fb7f0986f647f17cb53dda1484e0f7a(SB)
0x001d 00029 (main.go:6) PCDATA $2, $1
0x001d 00029 (main.go:6) PCDATA $0, $0
0x001d 00029 (main.go:6) LEAQ ""..fp+40(SP), AX
0x0022 00034 (main.go:6) PCDATA $2, $0
0x0022 00034 (main.go:6) MOVQ AX, (SP)
0x0026 00038 (main.go:6) CALL runtime.gorecover(SB)
0x002b 00043 (main.go:7) MOVQ 24(SP), BP
0x0030 00048 (main.go:7) ADDQ $32, SP
0x0034 00052 (main.go:7) RET
0x0035 00053 (main.go:7) NOP
0x0035 00053 (main.go:5) PCDATA $0, $-1
0x0035 00053 (main.go:5) PCDATA $2, $-1
0x0035 00053 (main.go:5) CALL runtime.morestack_noctxt(SB)
0x003a 00058 (main.go:5) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 26 48 dH..%....H;a.v&H
0x0010 83 ec 20 48 89 6c 24 18 48 8d 6c 24 18 48 8d 44 .. H.l$.H.l$.H.D
0x0020 24 28 48 89 04 24 e8 00 00 00 00 48 8b 6c 24 18 $(H..$.....H.l$.
0x0030 48 83 c4 20 c3 e8 00 00 00 00 eb c4 H.. ........
rel 5+4 t=16 TLS+0
rel 39+4 t=8 runtime.gorecover+0
rel 54+4 t=8 runtime.morestack_noctxt+0
"".main.func1 STEXT size=66 args=0x0 locals=0x10
0x0000 00000 (main.go:4) TEXT "".main.func1(SB), ABIInternal, $16-0
0x0000 00000 (main.go:4) MOVQ (TLS), CX
0x0009 00009 (main.go:4) CMPQ SP, 16(CX)
0x000d 00013 (main.go:4) JLS 59
0x000f 00015 (main.go:4) SUBQ $16, SP
0x0013 00019 (main.go:4) MOVQ BP, 8(SP)
0x0018 00024 (main.go:4) LEAQ 8(SP), BP
0x001d 00029 (main.go:4) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:4) FUNCDATA $1, gclocals·2a5305abe05176240e61b8620e19a815(SB)
0x001d 00029 (main.go:4) FUNCDATA $3, gclocals·ebb0e8ce1793da18f0378b883cb3e122(SB)
0x001d 00029 (main.go:5) PCDATA $2, $1
0x001d 00029 (main.go:5) PCDATA $0, $0
0x001d 00029 (main.go:5) LEAQ "".main.func1.1·f(SB), DX
0x0024 00036 (main.go:5) MOVQ DX, "".fn(SP)
0x0028 00040 (main.go:8) MOVQ "".main.func1.1·f(SB), AX
0x002f 00047 (main.go:8) PCDATA $2, $0
0x002f 00047 (main.go:8) CALL AX
0x0031 00049 (main.go:9) MOVQ 8(SP), BP
0x0036 00054 (main.go:9) ADDQ $16, SP
0x003a 00058 (main.go:9) RET
0x003b 00059 (main.go:9) NOP
0x003b 00059 (main.go:4) PCDATA $0, $-1
0x003b 00059 (main.go:4) PCDATA $2, $-1
0x003b 00059 (main.go:4) CALL runtime.morestack_noctxt(SB)
0x0040 00064 (main.go:4) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 2c 48 dH..%....H;a.v,H
0x0010 83 ec 10 48 89 6c 24 08 48 8d 6c 24 08 48 8d 15 ...H.l$.H.l$.H..
0x0020 00 00 00 00 48 89 14 24 48 8b 05 00 00 00 00 ff ....H..$H.......
0x0030 d0 48 8b 6c 24 08 48 83 c4 10 c3 e8 00 00 00 00 .H.l$.H.........
0x0040 eb be ..
rel 5+4 t=16 TLS+0
rel 32+4 t=15 "".main.func1.1·f+0
rel 43+4 t=15 "".main.func1.1·f+0
rel 47+0 t=11 +0
rel 60+4 t=8 runtime.morestack_noctxt+0
"".init STEXT size=95 args=0x0 locals=0x8
0x0000 00000 (<autogenerated>:1) TEXT "".init(SB), ABIInternal, $8-0
0x0000 00000 (<autogenerated>:1) MOVQ (TLS), CX
0x0009 00009 (<autogenerated>:1) CMPQ SP, 16(CX)
0x000d 00013 (<autogenerated>:1) JLS 88
0x000f 00015 (<autogenerated>:1) SUBQ $8, SP
0x0013 00019 (<autogenerated>:1) MOVQ BP, (SP)
0x0017 00023 (<autogenerated>:1) LEAQ (SP), BP
0x001b 00027 (<autogenerated>:1) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) FUNCDATA $3, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) PCDATA $2, $0
0x001b 00027 (<autogenerated>:1) PCDATA $0, $0
0x001b 00027 (<autogenerated>:1) CMPB "".initdone·(SB), $1
0x0022 00034 (<autogenerated>:1) JHI 38
0x0024 00036 (<autogenerated>:1) JMP 47
0x0026 00038 (<autogenerated>:1) PCDATA $2, $-2
0x0026 00038 (<autogenerated>:1) PCDATA $0, $-2
0x0026 00038 (<autogenerated>:1) MOVQ (SP), BP
0x002a 00042 (<autogenerated>:1) ADDQ $8, SP
0x002e 00046 (<autogenerated>:1) RET
0x002f 00047 (<autogenerated>:1) PCDATA $2, $0
0x002f 00047 (<autogenerated>:1) PCDATA $0, $0
0x002f 00047 (<autogenerated>:1) CMPB "".initdone·(SB), $1
0x0036 00054 (<autogenerated>:1) JEQ 58
0x0038 00056 (<autogenerated>:1) JMP 65
0x003a 00058 (<autogenerated>:1) CALL runtime.throwinit(SB)
0x003f 00063 (<autogenerated>:1) UNDEF
0x0041 00065 (<autogenerated>:1) MOVB $1, "".initdone·(SB)
0x0048 00072 (<autogenerated>:1) MOVB $2, "".initdone·(SB)
0x004f 00079 (<autogenerated>:1) MOVQ (SP), BP
0x0053 00083 (<autogenerated>:1) ADDQ $8, SP
0x0057 00087 (<autogenerated>:1) RET
0x0058 00088 (<autogenerated>:1) NOP
0x0058 00088 (<autogenerated>:1) PCDATA $0, $-1
0x0058 00088 (<autogenerated>:1) PCDATA $2, $-1
0x0058 00088 (<autogenerated>:1) CALL runtime.morestack_noctxt(SB)
0x005d 00093 (<autogenerated>:1) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 49 48 dH..%....H;a.vIH
0x0010 83 ec 08 48 89 2c 24 48 8d 2c 24 80 3d 00 00 00 ...H.,$H.,$.=...
0x0020 00 01 77 02 eb 09 48 8b 2c 24 48 83 c4 08 c3 80 ..w...H.,$H.....
0x0030 3d 00 00 00 00 01 74 02 eb 07 e8 00 00 00 00 0f =.....t.........
0x0040 0b c6 05 00 00 00 00 01 c6 05 00 00 00 00 02 48 ...............H
0x0050 8b 2c 24 48 83 c4 08 c3 e8 00 00 00 00 eb a1 .,$H...........
rel 5+4 t=16 TLS+0
rel 29+4 t=15 "".initdone·+-1
rel 49+4 t=15 "".initdone·+-1
rel 59+4 t=8 runtime.throwinit+0
rel 67+4 t=15 "".initdone·+-1
rel 74+4 t=15 "".initdone·+-1
rel 89+4 t=8 runtime.morestack_noctxt+0
go.string."err" SRODATA dupok size=3
0x0000 65 72 72 err
go.loc."".main SDWARFLOC size=0
go.info."".main SDWARFINFO size=33
0x0000 03 22 22 2e 6d 61 69 6e 00 00 00 00 00 00 00 00 ."".main........
0x0010 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 00 01 ................
0x0020 00 .
rel 9+8 t=1 "".main+0
rel 17+8 t=1 "".main+112
rel 27+4 t=29 gofile../home/xuanwo/Code/go/src/xuanwo.org/playground/common/test/main.go+0
go.range."".main SDWARFRANGE size=0
go.isstmt."".main SDWARFMISC size=0
0x0000 04 0f 04 0e 03 07 01 0c 02 07 01 04 02 07 01 10 ................
0x0010 02 07 01 01 02 16 00 .......
go.loc."".main.func1.1 SDWARFLOC size=0
go.info."".main.func1.1 SDWARFINFO size=41
0x0000 03 22 22 2e 6d 61 69 6e 2e 66 75 6e 63 31 2e 31 ."".main.func1.1
0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0020 00 01 9c 00 00 00 00 01 00 .........
rel 17+8 t=1 "".main.func1.1+0
rel 25+8 t=1 "".main.func1.1+60
rel 35+4 t=29 gofile../home/xuanwo/Code/go/src/xuanwo.org/playground/common/test/main.go+0
go.range."".main.func1.1 SDWARFRANGE size=0
go.isstmt."".main.func1.1 SDWARFMISC size=0
0x0000 04 0f 04 0e 03 05 01 04 02 16 00 ...........
go.loc."".main.func1 SDWARFLOC size=0
go.info."".main.func1 SDWARFINFO size=51
0x0000 03 22 22 2e 6d 61 69 6e 2e 66 75 6e 63 31 00 00 ."".main.func1..
0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 ................
0x0020 9c 00 00 00 00 01 0a 66 6e 00 05 00 00 00 00 02 .......fn.......
0x0030 91 68 00 .h.
rel 15+8 t=1 "".main.func1+0
rel 23+8 t=1 "".main.func1+66
rel 33+4 t=29 gofile../home/xuanwo/Code/go/src/xuanwo.org/playground/common/test/main.go+0
rel 43+4 t=28 go.info.func()+0
go.range."".main.func1 SDWARFRANGE size=0
go.isstmt."".main.func1 SDWARFMISC size=0
0x0000 04 0f 04 0e 03 07 01 04 02 1a 00 ...........
go.loc."".init SDWARFLOC size=0
go.info."".init SDWARFINFO size=33
0x0000 03 22 22 2e 69 6e 69 74 00 00 00 00 00 00 00 00 ."".init........
0x0010 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 00 01 ................
0x0020 00 .
rel 9+8 t=1 "".init+0
rel 17+8 t=1 "".init+95
rel 27+4 t=29 gofile..<autogenerated>+0
go.range."".init SDWARFRANGE size=0
go.isstmt."".init SDWARFMISC size=0
0x0000 04 0f 04 0c 03 07 01 04 02 09 01 0b 02 0e 01 10 ................
0x0010 02 07 00 ...
"".statictmp_0 SRODATA size=16
0x0000 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."err"+0
"".initdone· SNOPTRBSS size=1
"".main.func1·f SRODATA dupok size=8
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 "".main.func1+0
"".main.func1.1·f SRODATA dupok size=8
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 "".main.func1.1+0
runtime.gcbits.01 SRODATA dupok size=1
0x0000 01 .
type..namedata.*func()- SRODATA dupok size=10
0x0000 00 00 07 2a 66 75 6e 63 28 29 ...*func()
type.*func() SRODATA dupok size=56
0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ................
0x0010 9b 90 75 1b 00 08 08 36 00 00 00 00 00 00 00 00 ..u....6........
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0030 00 00 00 00 00 00 00 00 ........
rel 24+8 t=1 runtime.algarray+80
rel 32+8 t=1 runtime.gcbits.01+0
rel 40+4 t=5 type..namedata.*func()-+0
rel 48+8 t=1 type.func()+0
type.func() SRODATA dupok size=56
0x0000 08 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 ................
0x0010 f6 bc 82 f6 02 08 08 33 00 00 00 00 00 00 00 00 .......3........
0x0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0030 00 00 00 00 ....
rel 24+8 t=1 runtime.algarray+0
rel 32+8 t=1 runtime.gcbits.01+0
rel 40+4 t=5 type..namedata.*func()-+0
rel 44+4 t=6 type.*func()+0
gclocals·33cdeccccebe80329f1fdbee7f5874cb SRODATA dupok size=8
0x0000 01 00 00 00 00 00 00 00 ........
gclocals·9fb7f0986f647f17cb53dda1484e0f7a SRODATA dupok size=10
0x0000 02 00 00 00 01 00 00 00 00 01 ..........
gclocals·2a5305abe05176240e61b8620e19a815 SRODATA dupok size=9
0x0000 01 00 00 00 01 00 00 00 00 .........
gclocals·ebb0e8ce1793da18f0378b883cb3e122 SRODATA dupok size=10
0x0000 02 00 00 00 03 00 00 00 00 04 ..........
"".main STEXT size=112 args=0x0 locals=0x18
0x0000 00000 (main.go:3) TEXT "".main(SB), ABIInternal, $24-0
0x0000 00000 (main.go:3) MOVQ (TLS), CX
0x0009 00009 (main.go:3) CMPQ SP, 16(CX)
0x000d 00013 (main.go:3) JLS 105
0x000f 00015 (main.go:3) SUBQ $24, SP
0x0013 00019 (main.go:3) MOVQ BP, 16(SP)
0x0018 00024 (main.go:3) LEAQ 16(SP), BP
0x001d 00029 (main.go:3) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:3) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:3) FUNCDATA $3, gclocals·9fb7f0986f647f17cb53dda1484e0f7a(SB)
0x001d 00029 (main.go:4) PCDATA $2, $0
0x001d 00029 (main.go:4) PCDATA $0, $0
0x001d 00029 (main.go:4) MOVL $0, (SP)
0x0024 00036 (main.go:4) PCDATA $2, $1
0x0024 00036 (main.go:4) LEAQ "".main.func1·f(SB), AX
0x002b 00043 (main.go:4) PCDATA $2, $0
0x002b 00043 (main.go:4) MOVQ AX, 8(SP)
0x0030 00048 (main.go:4) CALL runtime.deferproc(SB)
0x0035 00053 (main.go:4) TESTL AX, AX
0x0037 00055 (main.go:4) JNE 89
0x0039 00057 (main.go:4) JMP 59
0x003b 00059 (main.go:7) PCDATA $2, $1
0x003b 00059 (main.go:7) LEAQ type.string(SB), AX
0x0042 00066 (main.go:7) PCDATA $2, $0
0x0042 00066 (main.go:7) MOVQ AX, (SP)
0x0046 00070 (main.go:7) PCDATA $2, $1
0x0046 00070 (main.go:7) LEAQ "".statictmp_0(SB), AX
0x004d 00077 (main.go:7) PCDATA $2, $0
0x004d 00077 (main.go:7) MOVQ AX, 8(SP)
0x0052 00082 (main.go:7) CALL runtime.gopanic(SB)
0x0057 00087 (main.go:7) UNDEF
0x0059 00089 (main.go:4) XCHGL AX, AX
0x005a 00090 (main.go:4) CALL runtime.deferreturn(SB)
0x005f 00095 (main.go:4) MOVQ 16(SP), BP
0x0064 00100 (main.go:4) ADDQ $24, SP
0x0068 00104 (main.go:4) RET
0x0069 00105 (main.go:4) NOP
0x0069 00105 (main.go:3) PCDATA $0, $-1
0x0069 00105 (main.go:3) PCDATA $2, $-1
0x0069 00105 (main.go:3) CALL runtime.morestack_noctxt(SB)
0x006e 00110 (main.go:3) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 5a 48 dH..%....H;a.vZH
0x0010 83 ec 18 48 89 6c 24 10 48 8d 6c 24 10 c7 04 24 ...H.l$.H.l$...$
0x0020 00 00 00 00 48 8d 05 00 00 00 00 48 89 44 24 08 ....H......H.D$.
0x0030 e8 00 00 00 00 85 c0 75 20 eb 00 48 8d 05 00 00 .......u ..H....
0x0040 00 00 48 89 04 24 48 8d 05 00 00 00 00 48 89 44 ..H..$H......H.D
0x0050 24 08 e8 00 00 00 00 0f 0b 90 e8 00 00 00 00 48 $..............H
0x0060 8b 6c 24 10 48 83 c4 18 c3 e8 00 00 00 00 eb 90 .l$.H...........
rel 5+4 t=16 TLS+0
rel 39+4 t=15 "".main.func1·f+0
rel 49+4 t=8 runtime.deferproc+0
rel 62+4 t=15 type.string+0
rel 73+4 t=15 "".statictmp_0+0
rel 83+4 t=8 runtime.gopanic+0
rel 91+4 t=8 runtime.deferreturn+0
rel 106+4 t=8 runtime.morestack_noctxt+0
"".main.func1 STEXT size=60 args=0x0 locals=0x20
0x0000 00000 (main.go:4) TEXT "".main.func1(SB), ABIInternal, $32-0
0x0000 00000 (main.go:4) MOVQ (TLS), CX
0x0009 00009 (main.go:4) CMPQ SP, 16(CX)
0x000d 00013 (main.go:4) JLS 53
0x000f 00015 (main.go:4) SUBQ $32, SP
0x0013 00019 (main.go:4) MOVQ BP, 24(SP)
0x0018 00024 (main.go:4) LEAQ 24(SP), BP
0x001d 00029 (main.go:4) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:4) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:4) FUNCDATA $3, gclocals·9fb7f0986f647f17cb53dda1484e0f7a(SB)
0x001d 00029 (main.go:5) PCDATA $2, $1
0x001d 00029 (main.go:5) PCDATA $0, $0
0x001d 00029 (main.go:5) LEAQ ""..fp+40(SP), AX
0x0022 00034 (main.go:5) PCDATA $2, $0
0x0022 00034 (main.go:5) MOVQ AX, (SP)
0x0026 00038 (main.go:5) CALL runtime.gorecover(SB)
0x002b 00043 (main.go:6) MOVQ 24(SP), BP
0x0030 00048 (main.go:6) ADDQ $32, SP
0x0034 00052 (main.go:6) RET
0x0035 00053 (main.go:6) NOP
0x0035 00053 (main.go:4) PCDATA $0, $-1
0x0035 00053 (main.go:4) PCDATA $2, $-1
0x0035 00053 (main.go:4) CALL runtime.morestack_noctxt(SB)
0x003a 00058 (main.go:4) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 26 48 dH..%....H;a.v&H
0x0010 83 ec 20 48 89 6c 24 18 48 8d 6c 24 18 48 8d 44 .. H.l$.H.l$.H.D
0x0020 24 28 48 89 04 24 e8 00 00 00 00 48 8b 6c 24 18 $(H..$.....H.l$.
0x0030 48 83 c4 20 c3 e8 00 00 00 00 eb c4 H.. ........
rel 5+4 t=16 TLS+0
rel 39+4 t=8 runtime.gorecover+0
rel 54+4 t=8 runtime.morestack_noctxt+0
"".init STEXT size=95 args=0x0 locals=0x8
0x0000 00000 (<autogenerated>:1) TEXT "".init(SB), ABIInternal, $8-0
0x0000 00000 (<autogenerated>:1) MOVQ (TLS), CX
0x0009 00009 (<autogenerated>:1) CMPQ SP, 16(CX)
0x000d 00013 (<autogenerated>:1) JLS 88
0x000f 00015 (<autogenerated>:1) SUBQ $8, SP
0x0013 00019 (<autogenerated>:1) MOVQ BP, (SP)
0x0017 00023 (<autogenerated>:1) LEAQ (SP), BP
0x001b 00027 (<autogenerated>:1) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) FUNCDATA $3, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) PCDATA $2, $0
0x001b 00027 (<autogenerated>:1) PCDATA $0, $0
0x001b 00027 (<autogenerated>:1) CMPB "".initdone·(SB), $1
0x0022 00034 (<autogenerated>:1) JHI 38
0x0024 00036 (<autogenerated>:1) JMP 47
0x0026 00038 (<autogenerated>:1) PCDATA $2, $-2
0x0026 00038 (<autogenerated>:1) PCDATA $0, $-2
0x0026 00038 (<autogenerated>:1) MOVQ (SP), BP
0x002a 00042 (<autogenerated>:1) ADDQ $8, SP
0x002e 00046 (<autogenerated>:1) RET
0x002f 00047 (<autogenerated>:1) PCDATA $2, $0
0x002f 00047 (<autogenerated>:1) PCDATA $0, $0
0x002f 00047 (<autogenerated>:1) CMPB "".initdone·(SB), $1
0x0036 00054 (<autogenerated>:1) JEQ 58
0x0038 00056 (<autogenerated>:1) JMP 65
0x003a 00058 (<autogenerated>:1) CALL runtime.throwinit(SB)
0x003f 00063 (<autogenerated>:1) UNDEF
0x0041 00065 (<autogenerated>:1) MOVB $1, "".initdone·(SB)
0x0048 00072 (<autogenerated>:1) MOVB $2, "".initdone·(SB)
0x004f 00079 (<autogenerated>:1) MOVQ (SP), BP
0x0053 00083 (<autogenerated>:1) ADDQ $8, SP
0x0057 00087 (<autogenerated>:1) RET
0x0058 00088 (<autogenerated>:1) NOP
0x0058 00088 (<autogenerated>:1) PCDATA $0, $-1
0x0058 00088 (<autogenerated>:1) PCDATA $2, $-1
0x0058 00088 (<autogenerated>:1) CALL runtime.morestack_noctxt(SB)
0x005d 00093 (<autogenerated>:1) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 49 48 dH..%....H;a.vIH
0x0010 83 ec 08 48 89 2c 24 48 8d 2c 24 80 3d 00 00 00 ...H.,$H.,$.=...
0x0020 00 01 77 02 eb 09 48 8b 2c 24 48 83 c4 08 c3 80 ..w...H.,$H.....
0x0030 3d 00 00 00 00 01 74 02 eb 07 e8 00 00 00 00 0f =.....t.........
0x0040 0b c6 05 00 00 00 00 01 c6 05 00 00 00 00 02 48 ...............H
0x0050 8b 2c 24 48 83 c4 08 c3 e8 00 00 00 00 eb a1 .,$H...........
rel 5+4 t=16 TLS+0
rel 29+4 t=15 "".initdone·+-1
rel 49+4 t=15 "".initdone·+-1
rel 59+4 t=8 runtime.throwinit+0
rel 67+4 t=15 "".initdone·+-1
rel 74+4 t=15 "".initdone·+-1
rel 89+4 t=8 runtime.morestack_noctxt+0
go.string."err" SRODATA dupok size=3
0x0000 65 72 72 err
go.loc."".main SDWARFLOC size=0
go.info."".main SDWARFINFO size=33
0x0000 03 22 22 2e 6d 61 69 6e 00 00 00 00 00 00 00 00 ."".main........
0x0010 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 00 01 ................
0x0020 00 .
rel 9+8 t=1 "".main+0
rel 17+8 t=1 "".main+112
rel 27+4 t=29 gofile../home/xuanwo/Code/go/src/xuanwo.org/playground/common/test/main.go+0
go.range."".main SDWARFRANGE size=0
go.isstmt."".main SDWARFMISC size=0
0x0000 04 0f 04 0e 03 07 01 0c 02 07 01 04 02 07 01 10 ................
0x0010 02 07 01 01 02 16 00 .......
go.loc."".main.func1 SDWARFLOC size=0
go.info."".main.func1 SDWARFINFO size=39
0x0000 03 22 22 2e 6d 61 69 6e 2e 66 75 6e 63 31 00 00 ."".main.func1..
0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 ................
0x0020 9c 00 00 00 00 01 00 .......
rel 15+8 t=1 "".main.func1+0
rel 23+8 t=1 "".main.func1+60
rel 33+4 t=29 gofile../home/xuanwo/Code/go/src/xuanwo.org/playground/common/test/main.go+0
go.range."".main.func1 SDWARFRANGE size=0
go.isstmt."".main.func1 SDWARFMISC size=0
0x0000 04 0f 04 0e 03 05 01 04 02 16 00 ...........
go.loc."".init SDWARFLOC size=0
go.info."".init SDWARFINFO size=33
0x0000 03 22 22 2e 69 6e 69 74 00 00 00 00 00 00 00 00 ."".init........
0x0010 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 00 01 ................
0x0020 00 .
rel 9+8 t=1 "".init+0
rel 17+8 t=1 "".init+95
rel 27+4 t=29 gofile..<autogenerated>+0
go.range."".init SDWARFRANGE size=0
go.isstmt."".init SDWARFMISC size=0
0x0000 04 0f 04 0c 03 07 01 04 02 09 01 0b 02 0e 01 10 ................
0x0010 02 07 00 ...
"".statictmp_0 SRODATA size=16
0x0000 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 ................
rel 0+8 t=1 go.string."err"+0
"".initdone· SNOPTRBSS size=1
"".main.func1·f SRODATA dupok size=8
0x0000 00 00 00 00 00 00 00 00 ........
rel 0+8 t=1 "".main.func1+0
gclocals·33cdeccccebe80329f1fdbee7f5874cb SRODATA dupok size=8
0x0000 01 00 00 00 00 00 00 00 ........
gclocals·9fb7f0986f647f17cb53dda1484e0f7a SRODATA dupok size=10
0x0000 02 00 00 00 01 00 00 00 00 01 ..........
package main
func main() {
recover()
}
"".main STEXT size=60 args=0x0 locals=0x20
0x0000 00000 (main.go:3) TEXT "".main(SB), ABIInternal, $32-0
0x0000 00000 (main.go:3) MOVQ (TLS), CX
0x0009 00009 (main.go:3) CMPQ SP, 16(CX)
0x000d 00013 (main.go:3) JLS 53
0x000f 00015 (main.go:3) SUBQ $32, SP
0x0013 00019 (main.go:3) MOVQ BP, 24(SP)
0x0018 00024 (main.go:3) LEAQ 24(SP), BP
0x001d 00029 (main.go:3) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:3) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001d 00029 (main.go:3) FUNCDATA $3, gclocals·9fb7f0986f647f17cb53dda1484e0f7a(SB)
0x001d 00029 (main.go:4) PCDATA $2, $1
0x001d 00029 (main.go:4) PCDATA $0, $0
0x001d 00029 (main.go:4) LEAQ ""..fp+40(SP), AX
0x0022 00034 (main.go:4) PCDATA $2, $0
0x0022 00034 (main.go:4) MOVQ AX, (SP)
0x0026 00038 (main.go:4) CALL runtime.gorecover(SB)
0x002b 00043 (main.go:5) MOVQ 24(SP), BP
0x0030 00048 (main.go:5) ADDQ $32, SP
0x0034 00052 (main.go:5) RET
0x0035 00053 (main.go:5) NOP
0x0035 00053 (main.go:3) PCDATA $0, $-1
0x0035 00053 (main.go:3) PCDATA $2, $-1
0x0035 00053 (main.go:3) CALL runtime.morestack_noctxt(SB)
0x003a 00058 (main.go:3) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 26 48 dH..%....H;a.v&H
0x0010 83 ec 20 48 89 6c 24 18 48 8d 6c 24 18 48 8d 44 .. H.l$.H.l$.H.D
0x0020 24 28 48 89 04 24 e8 00 00 00 00 48 8b 6c 24 18 $(H..$.....H.l$.
0x0030 48 83 c4 20 c3 e8 00 00 00 00 eb c4 H.. ........
rel 5+4 t=16 TLS+0
rel 39+4 t=8 runtime.gorecover+0
rel 54+4 t=8 runtime.morestack_noctxt+0
"".init STEXT size=95 args=0x0 locals=0x8
0x0000 00000 (<autogenerated>:1) TEXT "".init(SB), ABIInternal, $8-0
0x0000 00000 (<autogenerated>:1) MOVQ (TLS), CX
0x0009 00009 (<autogenerated>:1) CMPQ SP, 16(CX)
0x000d 00013 (<autogenerated>:1) JLS 88
0x000f 00015 (<autogenerated>:1) SUBQ $8, SP
0x0013 00019 (<autogenerated>:1) MOVQ BP, (SP)
0x0017 00023 (<autogenerated>:1) LEAQ (SP), BP
0x001b 00027 (<autogenerated>:1) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) FUNCDATA $3, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (<autogenerated>:1) PCDATA $2, $0
0x001b 00027 (<autogenerated>:1) PCDATA $0, $0
0x001b 00027 (<autogenerated>:1) CMPB "".initdone·(SB), $1
0x0022 00034 (<autogenerated>:1) JHI 38
0x0024 00036 (<autogenerated>:1) JMP 47
0x0026 00038 (<autogenerated>:1) PCDATA $2, $-2
0x0026 00038 (<autogenerated>:1) PCDATA $0, $-2
0x0026 00038 (<autogenerated>:1) MOVQ (SP), BP
0x002a 00042 (<autogenerated>:1) ADDQ $8, SP
0x002e 00046 (<autogenerated>:1) RET
0x002f 00047 (<autogenerated>:1) PCDATA $2, $0
0x002f 00047 (<autogenerated>:1) PCDATA $0, $0
0x002f 00047 (<autogenerated>:1) CMPB "".initdone·(SB), $1
0x0036 00054 (<autogenerated>:1) JEQ 58
0x0038 00056 (<autogenerated>:1) JMP 65
0x003a 00058 (<autogenerated>:1) CALL runtime.throwinit(SB)
0x003f 00063 (<autogenerated>:1) UNDEF
0x0041 00065 (<autogenerated>:1) MOVB $1, "".initdone·(SB)
0x0048 00072 (<autogenerated>:1) MOVB $2, "".initdone·(SB)
0x004f 00079 (<autogenerated>:1) MOVQ (SP), BP
0x0053 00083 (<autogenerated>:1) ADDQ $8, SP
0x0057 00087 (<autogenerated>:1) RET
0x0058 00088 (<autogenerated>:1) NOP
0x0058 00088 (<autogenerated>:1) PCDATA $0, $-1
0x0058 00088 (<autogenerated>:1) PCDATA $2, $-1
0x0058 00088 (<autogenerated>:1) CALL runtime.morestack_noctxt(SB)
0x005d 00093 (<autogenerated>:1) JMP 0
0x0000 64 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 49 48 dH..%....H;a.vIH
0x0010 83 ec 08 48 89 2c 24 48 8d 2c 24 80 3d 00 00 00 ...H.,$H.,$.=...
0x0020 00 01 77 02 eb 09 48 8b 2c 24 48 83 c4 08 c3 80 ..w...H.,$H.....
0x0030 3d 00 00 00 00 01 74 02 eb 07 e8 00 00 00 00 0f =.....t.........
0x0040 0b c6 05 00 00 00 00 01 c6 05 00 00 00 00 02 48 ...............H
0x0050 8b 2c 24 48 83 c4 08 c3 e8 00 00 00 00 eb a1 .,$H...........
rel 5+4 t=16 TLS+0
rel 29+4 t=15 "".initdone·+-1
rel 49+4 t=15 "".initdone·+-1
rel 59+4 t=8 runtime.throwinit+0
rel 67+4 t=15 "".initdone·+-1
rel 74+4 t=15 "".initdone·+-1
rel 89+4 t=8 runtime.morestack_noctxt+0
go.loc."".main SDWARFLOC size=0
go.info."".main SDWARFINFO size=33
0x0000 03 22 22 2e 6d 61 69 6e 00 00 00 00 00 00 00 00 ."".main........
0x0010 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 00 01 ................
0x0020 00 .
rel 9+8 t=1 "".main+0
rel 17+8 t=1 "".main+60
rel 27+4 t=29 gofile../home/xuanwo/Code/go/src/xuanwo.org/playground/common/test/main.go+0
go.range."".main SDWARFRANGE size=0
go.isstmt."".main SDWARFMISC size=0
0x0000 04 0f 04 0e 03 05 01 04 02 16 00 ...........
go.loc."".init SDWARFLOC size=0
go.info."".init SDWARFINFO size=33
0x0000 03 22 22 2e 69 6e 69 74 00 00 00 00 00 00 00 00 ."".init........
0x0010 00 00 00 00 00 00 00 00 00 01 9c 00 00 00 00 01 ................
0x0020 00 .
rel 9+8 t=1 "".init+0
rel 17+8 t=1 "".init+95
rel 27+4 t=29 gofile..<autogenerated>+0
go.range."".init SDWARFRANGE size=0
go.isstmt."".init SDWARFMISC size=0
0x0000 04 0f 04 0c 03 07 01 04 02 09 01 0b 02 0e 01 10 ................
0x0010 02 07 00 ...
"".initdone· SNOPTRBSS size=1
gclocals·33cdeccccebe80329f1fdbee7f5874cb SRODATA dupok size=8
0x0000 01 00 00 00 00 00 00 00 ........
gclocals·9fb7f0986f647f17cb53dda1484e0f7a SRODATA dupok size=10
0x0000 02 00 00 00 01 00 00 00 00 01 ..........
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment