mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-12 15:03:41 +00:00
all: add linux/mipsle support
This adds linux/mipsle (little endian Mips) support to TinyGo. It also adds experimental linux/mips (big-endian) support. It doesn't quite work yet, some parts of the standard library (like the reflect package) currently seem to assume a little-endian system.
This commit is contained in:
committed by
Ron Evans
parent
04d1261f8a
commit
725518f007
@@ -0,0 +1,21 @@
|
||||
package runtime
|
||||
|
||||
const GOARCH = "mips"
|
||||
|
||||
// The bitness of the CPU (e.g. 8, 32, 64).
|
||||
const TargetBits = 32
|
||||
|
||||
const deferExtraRegs = 0
|
||||
|
||||
const callInstSize = 8 // "jal someFunc" is 4 bytes, plus a MIPS delay slot
|
||||
|
||||
const linux_MAP_ANONYMOUS = 0x800
|
||||
|
||||
// It appears that MIPS has a maximum alignment of 8 bytes.
|
||||
func align(ptr uintptr) uintptr {
|
||||
return (ptr + 7) &^ 7
|
||||
}
|
||||
|
||||
func getCurrentStackPointer() uintptr {
|
||||
return uintptr(stacksave())
|
||||
}
|
||||
Reference in New Issue
Block a user