diff options
| author | Rob Pike <r@golang.org> | 2015-02-26 10:58:48 -0800 |
|---|---|---|
| committer | Rob Pike <r@golang.org> | 2015-02-26 22:03:21 +0000 |
| commit | 940f22eea2ac57f5f41848c62d6d1c82d94828ee (patch) | |
| tree | 7feacf9a10ccf0e2c45952bd8539b405bb5ceaa0 /src/cmd | |
| parent | fb75f856df0c3ad5f4df861ab6ff3cab8a73a129 (diff) | |
| download | go-940f22eea2ac57f5f41848c62d6d1c82d94828ee.tar.xz | |
cmd/internal/obj: implement Dconv for TYPE_INDIR
It was just missing, and apparently always was.
Change-Id: I84c057bb0ec72940201075f3e6078262fe4bce05
Reviewed-on: https://go-review.googlesource.com/6120
Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/cmd')
| -rw-r--r-- | src/cmd/asm/internal/asm/operand_test.go | 4 | ||||
| -rw-r--r-- | src/cmd/asm/internal/asm/testdata/386.out | 2 | ||||
| -rw-r--r-- | src/cmd/internal/obj/util.go | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/src/cmd/asm/internal/asm/operand_test.go b/src/cmd/asm/internal/asm/operand_test.go index a02e5bfdb3..e1deea3985 100644 --- a/src/cmd/asm/internal/asm/operand_test.go +++ b/src/cmd/asm/internal/asm/operand_test.go @@ -244,8 +244,8 @@ var x86OperandTests = []operandTest{ {"(BP*8)", "0(BP*8)"}, {"(BX)", "(BX)"}, {"(SP)", "(SP)"}, - {"*AX", "AX"}, // TODO: Should make * illegal here; a simple alias for JMP AX. - {"*runtimeĀ·_GetStdHandle(SB)", "type=16"}, // TODO: bizarre + {"*AX", "AX"}, // TODO: Should make * illegal here; a simple alias for JMP AX. + {"*runtimeĀ·_GetStdHandle(SB)", "*runtime._GetStdHandle(SB)"}, {"-(4+12)(DI)", "-16(DI)"}, {"-1(DI)(BX*1)", "-1(DI)(BX*1)"}, {"-96(DI)(BX*1)", "-96(DI)(BX*1)"}, diff --git a/src/cmd/asm/internal/asm/testdata/386.out b/src/cmd/asm/internal/asm/testdata/386.out index 6578f3e2b6..59c7f89e92 100644 --- a/src/cmd/asm/internal/asm/testdata/386.out +++ b/src/cmd/asm/internal/asm/testdata/386.out @@ -17,7 +17,7 @@ 32 00017 (testdata/386.s:32) JCS ,16(PC) 35 00018 (testdata/386.s:35) CALL ,AX 36 00019 (testdata/386.s:36) JMP ,AX -37 00020 (testdata/386.s:37) CALL ,type=16 +37 00020 (testdata/386.s:37) CALL ,*foo(SB) 38 00021 (testdata/386.s:38) JMP ,$4 39 00022 (testdata/386.s:39) JMP ,16 40 00023 (testdata/386.s:40) CALL ,foo(SB) diff --git a/src/cmd/internal/obj/util.go b/src/cmd/internal/obj/util.go index 740f664479..4dad7904db 100644 --- a/src/cmd/internal/obj/util.go +++ b/src/cmd/internal/obj/util.go @@ -312,6 +312,9 @@ func Dconv(p *Prog, Rconv func(int) string, a *Addr) string { str = fmt.Sprintf("%d(PC)", a.Offset) } + case TYPE_INDIR: + str = fmt.Sprintf("*%s", Mconv(Rconv, a)) + case TYPE_MEM: str = Mconv(Rconv, a) if a.Index != REG_NONE { |
