]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/mips: added support for GOARCH=mips64{,le}
authorYao Zhang <lunaria21@gmail.com>
Thu, 10 Sep 2015 15:13:00 +0000 (11:13 -0400)
committerMinux Ma <minux@golang.org>
Thu, 12 Nov 2015 04:42:44 +0000 (04:42 +0000)
commitfa6a1ecd6327ffbedc7dd117e0fba819f6f4faf1
tree23f170aca2eac99230d8ab5c594831430056e099
parenta9bebd91c986b3bcd96fae02e54357365b0097d2
cmd/internal/obj/mips: added support for GOARCH=mips64{,le}

MIPS64 has 32 general purpose 64-bit integer registers (R0-R31), 32
64-bit floating point registers (F0-F31). Instructions are fixed-width,
and are 32-bit wide. Instructions are all in standard 1-, 2-, 3-operand
forms.

MIPS64-specific relocations are added. For this reason, test data of
cmd/newlink are regenerated.

No other changes are made to portable structures.

Branch delay slots are current filled with NOP instructions. The function
for instruction scheduling (try to fill the delay slot with a useful
instruction) is implemented but disabled for now.

Change-Id: Ic364999c7a33245260c1381fc26a2fa8972d38b3
Reviewed-on: https://go-review.googlesource.com/14442
Reviewed-by: Minux Ma <minux@golang.org>
14 files changed:
src/cmd/internal/obj/link.go
src/cmd/internal/obj/mips/a.out.go
src/cmd/internal/obj/mips/anames.go
src/cmd/internal/obj/mips/anames0.go
src/cmd/internal/obj/mips/asm0.go
src/cmd/internal/obj/mips/list0.go
src/cmd/internal/obj/mips/obj0.go
src/cmd/internal/obj/util.go
src/cmd/newlink/testdata/autosection.6
src/cmd/newlink/testdata/autoweak.6
src/cmd/newlink/testdata/dead.6
src/cmd/newlink/testdata/hello.6
src/cmd/newlink/testdata/layout.6
src/cmd/newlink/testdata/pclntab.6