aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/objdump
AgeCommit message (Collapse)Author
2019-04-24cmd: re-enable tests with external linking on openbsd/armJoel Sing
Go on openbsd/arm has supported external linking for a while now, so re-enable the external linking related tests that were previously disabled. Fixes #10619 Change-Id: I304eeabf3b462d53b7feda17ae390bbe2fa22069 Reviewed-on: https://go-review.googlesource.com/c/go/+/173597 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-03-08internal/testenv: remove SetModVendorBryan C. Mills
It turns out not to be necessary. Russ expressed a preference for avoiding module fetches over making 'go mod tidy' work within std and cmd right away, so for now we will make the loader use the vendor directory for the standard library even if '-mod=vendor' is not set explicitly. Updates #30228 Change-Id: Idf7208e63da8cb7bfe281b93ec21b61d40334947 Reviewed-on: https://go-review.googlesource.com/c/go/+/166357 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
2019-03-05all: add -mod=vendor to GOFLAGS in tests that execute 'go' commands within ↵Bryan C. Mills
std or cmd Updates #30228 Updates #30240 Updates #30241 Change-Id: Idc311ba77e99909318b5b86f8ef82d4878f73e47 Reviewed-on: https://go-review.googlesource.com/c/go/+/165378 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
2018-08-21cmd/objdump: defer closing the file after openingMuhammad Falak R Wani
Remove the os.Exit(0) to honor the deferred closing of the file. Change-Id: Iaa9304d8203c8fec0ec728af669a94eadd36905c Reviewed-on: https://go-review.googlesource.com/118915 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-10cmd/objdump: pass the correct execution mode to x86asm.Decode in disasm_x86 ↵Hiroshi Ioka
on 386 Fixes #22093 Fixes #19988 Change-Id: Ibd8ec89e091fd527f363999e484676931d7aa6e2 Reviewed-on: https://go-review.googlesource.com/67450 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-11-01cmd/internal/goobj: accept int64 in readIntCherry Zhang
The counter part, writeInt in cmd/internal/obj, writes int64s. So the reader side should also read int64s. This may cause a larger range of values being accepted, some of which should not be that large. This is probably ok: for example, for size/index/length, the very large value (due to corruption) may be well past the end and causes other errors. And we did not do much bound check anyway. One exmaple where this matters is ARM32's object file. For one type of relocation it encodes the instruction into Reloc.Add field (which itself may be problematic and worth fix) and the instruction encoding overflows int32, causing ARM32 object file being rejected by goobj (and so objdump and nm) before. Unskip ARM32 object file tests in goobj, nm, and objdump. Updates #19811. Change-Id: Ia46c2b68df5f1c5204d6509ceab6416ad6372315 Reviewed-on: https://go-review.googlesource.com/69010 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
2017-10-02cmd/objdump: fix and re-enable arm testAlberto Donizetti
Fixes #9021 Change-Id: Id4465857c765342aa8c4b5bc2fdc06754a290025 Reviewed-on: https://go-review.googlesource.com/67530 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-08-28cmd/internal/objfile: add arm64 disassembler supportWei Xiao
Fixes #19157 Change-Id: Ieea286e8dc03929c3645f3113c33df569f8e26f3 Reviewed-on: https://go-review.googlesource.com/58930 Reviewed-by: Cherry Zhang <cherryyz@google.com>
2017-05-16cmd/internal/objabi: fix the bug of shrinking SymType down to a uint8Wei Xiao
Previous CL (cmd/internal/objabi: shrink SymType down to a uint8) shrinks SymType down to a uint8 but forgot making according change in goobj. Fixes #20296 Also add a test to catch such Goobj format inconsistency bug Change-Id: Ib43dd7122cfcacf611a643814e95f8c5a924941f Reviewed-on: https://go-review.googlesource.com/42971 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
2017-04-23cmd/objdump: remove two unused typesDamien Lespiau
The last mention of those types in this package are in: commit 6bd0d0542ee15fda0da545c16af43fcfd34d6334 Author: Russ Cox <rsc@golang.org> Date: Thu Nov 6 19:56:55 2014 -0500 cmd/objdump, cmd/pprof: factor disassembly into cmd/internal/objfile Found with honnef.co/go/tools/cmd/unused. Change-Id: Iacc2902f7d0784ac0efdd92da239f3e97491469a Reviewed-on: https://go-review.googlesource.com/41472 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-04-05cmd/objdump: print Go code alongside assemblyLorenzo Masini
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>
2017-02-19cmd/objdump: make test independent of inliningDavid Lazar
Fixes #19189. Change-Id: Ice69216c7fc2eaeb3dbbdcd08a8284204c7f52ef Reviewed-on: https://go-review.googlesource.com/37237 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
2016-12-15cmd/objdump: disable objdump_test with external linking on GOARCH=mips{,le}Vladimir Stefanovic
Updates #12559. Change-Id: I5e8f4cf7071d0d71618527a6b6096e771d5eeb28 Reviewed-on: https://go-review.googlesource.com/34317 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-11-16all: call flag.Parse from TestMain only if usedDaniel Martí
These don't use any flags in TestMain itself, so the call is redundant as M.Run will do it. Change-Id: I00f2ac7f846dc2c3ad3535eb8177616b2d900149 Reviewed-on: https://go-review.googlesource.com/33275 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-11-04cmd/objdump: speed up testsJosh Bleecher Snyder
Rebuild cmd/objdump once instead of twice. Speeds up standalone 'go test cmd/objdump' on my machine from ~1.4s to ~1s. Updates #17751 Change-Id: I15fd79cf18c310f892bc28a9e9ca47ee010c989a Reviewed-on: https://go-review.googlesource.com/32673 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-10-27cmd/objdump: skip tests for GOARCH=mips{,le}Vladimir Stefanovic
Change-Id: I8111ceb6960364166aa8a445f4d6d8b0581d371e Reviewed-on: https://go-review.googlesource.com/31513 Reviewed-by: Cherry Zhang <cherryyz@google.com>
2016-10-25cmd/objdump: updates from golang.org/x/arch/ppc64/ppc64asmLynn Boger
Update the ppc64x disassembly code for use by objdump from golang.org/x/arch/ppc64/ppc64asm commit fcea5ea. Enable the objdump testcase for external linking on ppc64le make a minor fix to the expected output. Fixes #17447 Change-Id: I769cc7f8bfade594690a476dfe77ab33677ac03b Reviewed-on: https://go-review.googlesource.com/32015 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-10-13cmd/objdump: enable tests on ppc64/ppc64leShenghou Ma
Fixes #9039. Change-Id: I7d213b4f8e4cda73ea7687fb97dbd22e58163949 Reviewed-on: https://go-review.googlesource.com/9683 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
2016-08-30all: use testing.GoToolPath instead of "go"Keith Randall
This change makes sure that tests are run with the correct version of the go tool. The correct version is the one that we invoked with "go test", not the one that is first in our path. Fixes #16577 Change-Id: If22c8f8c3ec9e7c35d094362873819f2fbb8559b Reviewed-on: https://go-review.googlesource.com/28089 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-04-12cmd/objdump: skip TestDisasm* on s390xMichael Munday
The disassembler is not yet implemented on s390x. Updates #15255. Change-Id: Ibab319c8c087b1a619baa1529398305c1e721877 Reviewed-on: https://go-review.googlesource.com/21894 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-10cmd/objdump: skip TestDisasm* for mips64{,le}Yao Zhang
Disassembler for mips64 is not supported yet. Change-Id: Ie923dd1e37fed47fc395b9d1cd9194e55020bee5 Reviewed-on: https://go-review.googlesource.com/14459 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-07-31cmd/objdump: don't run TestDisasmExtld if cgo is not enabledIan Lance Taylor
The test uses external linking mode, which is probably not available if cgo does not work. Fixes #11969. Change-Id: Id1c2828cd2540391e16b422bf51674ba6ff084b0 Reviewed-on: https://go-review.googlesource.com/13005 Reviewed-by: Russ Cox <rsc@golang.org>
2015-06-16all: extract "can I exec?" check from tests into internal/testenvRuss Cox
Change-Id: I7b54be9d8b50b39e01c6be21f310ae9a10404e9d Reviewed-on: https://go-review.googlesource.com/10753 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-06-11all: fix misprints in commentsAinar Garipov
These were found by grepping the comments from the go code and feeding the output to aspell. Change-Id: Id734d6c8d1938ec3c36bd94a4dbbad577e3ad395 Reviewed-on: https://go-review.googlesource.com/10941 Reviewed-by: Aamir Khan <syst3m.w0rm@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-04-29cmd/objdump: disable external linking test on openbsd/armJoel Sing
Disable disassembly with external linking test on openbsd/arm, since this platform does not currently support cgo/external linking. Change-Id: I6eab6fcaac21407ce05075a4a1407fbfe0e6142b Reviewed-on: https://go-review.googlesource.com/9481 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-04-13cmd/objdump: skip fork test on darwin/arm64David Crawshaw
Just like darwin/arm. Change-Id: Ibaba67980db6e05aa71568199b2dac2fcaa86fd6 Reviewed-on: https://go-review.googlesource.com/8824 Reviewed-by: Minux Ma <minux@golang.org>
2015-03-16cmd/objdump: disable TestDisasm.* on arm64Aram Hăvărneanu
ARM64 doesn't have disassembler yet. Change-Id: I016fa013b5ff50dc49d38ade42351b79be023d80 Reviewed-on: https://go-review.googlesource.com/7149 Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-27cmd/objdump: skip fork test on darwin/armDavid Crawshaw
Change-Id: I1d1eb71014381452d1ef368431cb2556245a35ab Reviewed-on: https://go-review.googlesource.com/6250 Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2014-12-09cmd/objdump: Fix error loggingKeith Randall
Change-Id: I6b1b4d3e8c039ba3198cb4b9765de75859ea8c32 Reviewed-on: https://go-review.googlesource.com/1214 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-05all: power64 is now ppc64Russ Cox
Fixes #8654. LGTM=austin R=austin CC=golang-codereviews https://golang.org/cl/180600043
2014-11-14[dev.cc] all: merge dev.power64 (7667e41f3ced) into dev.ccRuss Cox
This is to reduce the delta between dev.cc and dev.garbage to just garbage collector changes. These are the files that had merge conflicts and have been edited by hand: malloc.go mem_linux.go mgc.go os1_linux.go proc1.go panic1.go runtime1.go LGTM=austin R=austin CC=golang-codereviews https://golang.org/cl/174180043
2014-11-06cmd/objdump, cmd/pprof: factor disassembly into cmd/internal/objfileRuss Cox
Moving so that new Go 1.4 pprof can use it. The old 'GNU objdump workalike' mode for 'go tool objdump' is now gone, as are the tests for that mode. It was used only by pre-Go 1.4 pprof. You can still specify an address range on the command line; you just get the same output format as you do when dumping the entire binary (without an address limitation). LGTM=r R=r CC=golang-codereviews, iant https://golang.org/cl/167320043
2014-11-03[dev.power64] all: merge default into dev.power64Austin Clements
Trivial merge except for src/runtime/asm_power64x.s and src/runtime/signal_power64x.c LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/168950044
2014-11-02[dev.power64] cmd/objdump: disable tests on power64/power64leDave Cheney
LGTM=rsc, austin R=austin, rsc, bradfitz CC=golang-codereviews https://golang.org/cl/164300043
2014-10-29cmd/objdump: disable test failing on arm5go1.4beta1Russ Cox
TBR=adg CC=golang-codereviews https://golang.org/cl/167890043
2014-10-29cmd/objdump: use cmd/internal/objfileRuss Cox
This removes a bunch of ugly duplicate code. The end goal is to factor the disassembly code into cmd/internal/objfile too, so that pprof can use it, but one step at a time. LGTM=r, iant R=r, alex.brainman, iant CC=golang-codereviews https://golang.org/cl/149400043
2014-10-29cmd/objdump: skip extld test on plan9Russ Cox
TBR=iant CC=golang-codereviews https://golang.org/cl/164180043
2014-10-28cmd/objdump: disassemble local text symbolsIan Lance Taylor
Fixes #8803. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/169720043
2014-09-30cmd/objdump: move armasm, x86asm into internal packagesRuss Cox
For Go 1.3 these external packages were collapsed into large single-file implementations stored in the cmd/objdump directory. For Go 1.4 we want pprof to be able to link against them too, so move them into cmd/internal, where they can be shared. The new files are copied from the repo in the file path (rsc.io/...). Those repos were code reviewed during development (mainly by crawshaw and minux), because we knew the main repo would use them. Update #8798 LGTM=bradfitz R=crawshaw, bradfitz CC=golang-codereviews https://golang.org/cl/153750044
2014-08-27cmd/{addr2line,objdump}: fix finding pclntab and symtab for pe and plan9objMatthew Dempsky
Broken by 8b5fc7c59d05. Update #8092 LGTM=iant, alex.brainman R=rsc, iant, alex.brainman CC=golang-codereviews https://golang.org/cl/138770043
2014-08-27cmd/{ld,link,objdump}, runtime, debug/gosym: move linker-defined symbols ↵Matthew Dempsky
into runtime package Fixes #8092. LGTM=rsc R=iant, rsc CC=golang-codereviews https://golang.org/cl/126790043
2014-07-19cmd/addr2line, cmd/objdump: fix on amd64 Plan 9David du Colombier
Fix virtual address of the start of the text segment on amd64 Plan 9. This issue has been partially fixed in cmd/add2line, as part of CL 106460044, but we forgot to report the change to cmd/objdump. In the meantime, we also fixed the textStart address in both cmd/add2line and cmd/objdump. LGTM=aram, ality, mischief R=rsc, mischief, aram, ality CC=golang-codereviews, jas https://golang.org/cl/117920043
2014-07-15objdump: remove out-of-date commentMatthew Dempsky
LGTM=iant R=rsc, iant CC=golang-codereviews https://golang.org/cl/112320043
2014-07-09cmd/objdump: set goarch properly on non-386 Plan 9 systemsAram Hăvărneanu
LGTM=0intro, r R=0intro, r CC=ality, golang-codereviews, jas, mischief https://golang.org/cl/108420043
2014-07-08cmd/objdump: skip test on android (no Go tool)David Crawshaw
LGTM=minux, iant R=golang-codereviews, minux, iant CC=golang-codereviews https://golang.org/cl/109570043
2014-06-01cmd/objdump: add arm disassemblerRuss Cox
Fixes #7452. LGTM=minux, iant R=minux, iant CC=golang-codereviews https://golang.org/cl/104770046
2014-05-21cmd/objdump: fix dissasembly of Plan 9 object filesAnthony Martin
Ignore symbols that aren't text, data, or bss since they cause problems when dissassembling instructions with small immediate values. Before: build.go:142 0x10ee 83ec50 SUBL $text/template/parse.autotmp_1293(SB), SP After: build.go:142 0x10ee 83ec50 SUBL $0x50, SP Fixes #7947. LGTM=rsc R=rsc, 0intro CC=golang-codereviews https://golang.org/cl/93520045
2014-05-20build: make nacl passRuss Cox
Add nacl.bash, the NaCl version of all.bash. It's a separate script because it builds a variant of package syscall with a large zip file embedded in it, containing all the input files needed for tests. Disable various tests new since the last round, mostly the ones using os/exec. Fixes #7945. LGTM=dave R=golang-codereviews, remyoudompheng, dave, bradfitz CC=golang-codereviews https://golang.org/cl/100590044
2014-05-16cmd/addr2line, cmd/objdump: handle Plan 9 a.out object filesDavid du Colombier
Update #7947. LGTM=iant R=rsc, iant CC=golang-codereviews https://golang.org/cl/91500044
2014-05-15cmd/addr2line,cmd/objdump: test that commands accept addresses with 0x ↵Alex Brainman
prefix and without LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/100440045