summaryrefslogtreecommitdiff
path: root/src/cmd/internal/objfile/disasm.go
Commit message (Collapse)AuthorAgeFilesLines
* cmd/objdump: print Go code alongside assemblyLorenzo Masini2017-04-051-3/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added -S flag to print go source file line above corresponding disassembly: $ go tool objdump -S -s main.main fmthello TEXT main.main(SB) /home/rugginoso/Documents/src/go/src/cmd/objdump/testdata/fmthello.go func main() { 0x47d450 64488b0c25f8ffffff FS MOVQ FS:0xfffffff8, CX 0x47d459 483b6110 CMPQ 0x10(CX), SP 0x47d45d 7631 JBE 0x47d490 0x47d45f 4883ec18 SUBQ $0x18, SP 0x47d463 48896c2410 MOVQ BP, 0x10(SP) 0x47d468 488d6c2410 LEAQ 0x10(SP), BP Println("hello, world") 0x47d46d 488d0563b00200 LEAQ 0x2b063(IP), AX 0x47d474 48890424 MOVQ AX, 0(SP) 0x47d478 48c74424080c000000 MOVQ $0xc, 0x8(SP) 0x47d481 e81a000000 CALL main.Println(SB) } 0x47d486 488b6c2410 MOVQ 0x10(SP), BP 0x47d48b 4883c418 ADDQ $0x18, SP 0x47d48f c3 RET func main() { 0x47d490 e8ebf1fcff CALL runtime.morestack_noctxt(SB) 0x47d495 ebb9 JMP main.main(SB) Execution time: $ time go tool objdump testdata/fmthello > /dev/null real 0m0.430s user 0m0.440s sys 0m0.000s $ time go tool objdump -S testdata/fmthello > /dev/null real 0m0.471s user 0m0.476s sys 0m0.012s Fixes #18245 Change-Id: I9b2f8338f9ee443c1352efd270d3ba85e3dd9b78 Reviewed-on: https://go-review.googlesource.com/37953 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
* cmd/internal/objfile: remove debugging printRuss Cox2016-10-241-1/+0
| | | | | | | | | | Crept into CL 9682, committed last week. Change-Id: I5b8e9119dbfeb0bc3005623ab74dbd29311d17ae Reviewed-on: https://go-review.googlesource.com/31814 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
* cmd/internal/objfile: add ppc64/ppc64le disassembler supportShenghou Ma2016-10-131-8/+25
| | | | | | | | Change-Id: I7d213b4f8e4cda73ea7687fb97dbd22e58163948 Reviewed-on: https://go-review.googlesource.com/9682 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
* cmd/objdump: implement objdump of .o filesKeith Randall2016-08-241-3/+21
| | | | | | | | | | | | | | | | | | | Update goobj reader so it can provide all the information necessary to disassemble .o (and .a) files. Grab architecture of .o files from header. .o files have relocations in them. This CL also contains a simple mechanism to disassemble relocations and add relocation info as an extra column in the output. Fixes #13862 Change-Id: I608fd253ff1522ea47f18be650b38d528dae9054 Reviewed-on: https://go-review.googlesource.com/24818 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/vendor: move cmd/internal/unvendor packages to cmd/vendorKonstantin Shaposhnikov2016-05-141-2/+2
| | | | | | | | | | Updates #14047 Change-Id: I4b150533393bfb90e840497095ac32bcca4f04c2 Reviewed-on: https://go-review.googlesource.com/23114 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* cmd/internal/objfile: add s390x supportMichael Munday2016-03-211-0/+1
| | | | | | | | Change-Id: I39aa6569c9a6f327f7aaa01f8b4ace814fd5b766 Reviewed-on: https://go-review.googlesource.com/20943 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* all: make copyright headers consistent with one space after periodBrad Fitzpatrick2016-03-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | This is a subset of https://golang.org/cl/20022 with only the copyright header lines, so the next CL will be smaller and more reviewable. Go policy has been single space after periods in comments for some time. The copyright header template at: https://golang.org/doc/contribute.html#copyright also uses a single space. Make them all consistent. Change-Id: Icc26c6b8495c3820da6b171ca96a74701b4a01b0 Reviewed-on: https://go-review.googlesource.com/20111 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
* build: mv cmd/vendor cmd/internal/unvendorRuss Cox2016-02-091-2/+2
| | | | | | | | | | | | | | And update two imports in cmd/internal/objfile/disasm.go. This makes GO15VENDOREXPERIMENT=0 ./make.bash work. For Go 1.7 we will move it back. Fixes #14236. Change-Id: I429c9af4baff8496f83d113b1b03b90e309f4f48 Reviewed-on: https://go-review.googlesource.com/19384 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/internal/objfile: use golang.org/x/arch instead of rsc.ioRuss Cox2015-08-281-4/+4
| | | | | | Change-Id: I5348774ff01a5f0f706a1dba4aa9500661841f47 Reviewed-on: https://go-review.googlesource.com/14020 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* all: power64 is now ppc64Russ Cox2014-12-051-5/+5
| | | | | | | | | Fixes #8654. LGTM=austin R=austin CC=golang-codereviews https://golang.org/cl/180600043
* cmd/internal/objfile: minor editsRuss Cox2014-11-091-9/+14
| | | | | | | | | | Follow-up in response to comments on TBR'ed CL 171260043. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/172080043
* cmd/internal/objfile: add DisasmRuss Cox2014-11-061-0/+243
This was missing from CL 167320043. Happy to apply comments in a followup. TBR to fix build. TBR=r CC=golang-codereviews https://golang.org/cl/171260043