mirror of
https://github.com/golang/go
synced 2024-10-06 07:31:22 -06:00
17eba6e6b7
Trivial merging of 5g, 6g, ... into go tool compile, and similarlly 5l, 6l, ... into go tool link. The files compile/main.go and link/main.go are new. Everything else in those directories is a move followed by change of imports and package name. This CL breaks the build. Manual fixups are in the next CL. See golang-dev thread titled "go tool compile, etc" for background. Change-Id: Id35ff5a5859ad9037c61275d637b1bd51df6828b Reviewed-on: https://go-review.googlesource.com/10287 Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Rob Pike <r@golang.org>
94 lines
2.3 KiB
Go
94 lines
2.3 KiB
Go
// Copyright 2009 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package arm64
|
|
|
|
import (
|
|
"cmd/compile/internal/gc"
|
|
"cmd/internal/obj"
|
|
"cmd/internal/obj/arm64"
|
|
)
|
|
|
|
var thechar int = '7'
|
|
|
|
var thestring string = "arm64"
|
|
|
|
var thelinkarch *obj.LinkArch = &arm64.Linkarm64
|
|
|
|
func linkarchinit() {
|
|
}
|
|
|
|
var MAXWIDTH int64 = 1 << 50
|
|
|
|
/*
|
|
* go declares several platform-specific type aliases:
|
|
* int, uint, and uintptr
|
|
*/
|
|
var typedefs = []gc.Typedef{
|
|
gc.Typedef{"int", gc.TINT, gc.TINT64},
|
|
gc.Typedef{"uint", gc.TUINT, gc.TUINT64},
|
|
gc.Typedef{"uintptr", gc.TUINTPTR, gc.TUINT64},
|
|
}
|
|
|
|
func betypeinit() {
|
|
gc.Widthptr = 8
|
|
gc.Widthint = 8
|
|
gc.Widthreg = 8
|
|
}
|
|
|
|
func Main() {
|
|
gc.Thearch.Thechar = thechar
|
|
gc.Thearch.Thestring = thestring
|
|
gc.Thearch.Thelinkarch = thelinkarch
|
|
gc.Thearch.Typedefs = typedefs
|
|
gc.Thearch.REGSP = arm64.REGSP
|
|
gc.Thearch.REGCTXT = arm64.REGCTXT
|
|
gc.Thearch.REGCALLX = arm64.REGRT1
|
|
gc.Thearch.REGCALLX2 = arm64.REGRT2
|
|
gc.Thearch.REGRETURN = arm64.REG_R0
|
|
gc.Thearch.REGMIN = arm64.REG_R0
|
|
gc.Thearch.REGMAX = arm64.REG_R31
|
|
gc.Thearch.REGZERO = arm64.REGZERO
|
|
gc.Thearch.FREGMIN = arm64.REG_F0
|
|
gc.Thearch.FREGMAX = arm64.REG_F31
|
|
gc.Thearch.MAXWIDTH = MAXWIDTH
|
|
gc.Thearch.ReservedRegs = resvd
|
|
|
|
gc.Thearch.Betypeinit = betypeinit
|
|
gc.Thearch.Cgen_hmul = cgen_hmul
|
|
gc.Thearch.Cgen_shift = cgen_shift
|
|
gc.Thearch.Clearfat = clearfat
|
|
gc.Thearch.Defframe = defframe
|
|
gc.Thearch.Dodiv = dodiv
|
|
gc.Thearch.Excise = excise
|
|
gc.Thearch.Expandchecks = expandchecks
|
|
gc.Thearch.Getg = getg
|
|
gc.Thearch.Gins = gins
|
|
gc.Thearch.Ginscmp = ginscmp
|
|
gc.Thearch.Ginscon = ginscon
|
|
gc.Thearch.Ginsnop = ginsnop
|
|
gc.Thearch.Gmove = gmove
|
|
gc.Thearch.Linkarchinit = linkarchinit
|
|
gc.Thearch.Peep = peep
|
|
gc.Thearch.Proginfo = proginfo
|
|
gc.Thearch.Regtyp = regtyp
|
|
gc.Thearch.Sameaddr = sameaddr
|
|
gc.Thearch.Smallindir = smallindir
|
|
gc.Thearch.Stackaddr = stackaddr
|
|
gc.Thearch.Blockcopy = blockcopy
|
|
gc.Thearch.Sudoaddable = sudoaddable
|
|
gc.Thearch.Sudoclean = sudoclean
|
|
gc.Thearch.Excludedregs = excludedregs
|
|
gc.Thearch.RtoB = RtoB
|
|
gc.Thearch.FtoB = RtoB
|
|
gc.Thearch.BtoR = BtoR
|
|
gc.Thearch.BtoF = BtoF
|
|
gc.Thearch.Optoas = optoas
|
|
gc.Thearch.Doregbits = doregbits
|
|
gc.Thearch.Regnames = regnames
|
|
|
|
gc.Main()
|
|
gc.Exit(0)
|
|
}
|