mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-05 19:43:44 +00:00
725518f007
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.
24 lines
484 B
Go
24 lines
484 B
Go
//go:build (arm && !baremetal && !tinygo.wasm) || (arm && arm7tdmi)
|
|
|
|
package runtime
|
|
|
|
const GOARCH = "arm"
|
|
|
|
// The bitness of the CPU (e.g. 8, 32, 64).
|
|
const TargetBits = 32
|
|
|
|
const deferExtraRegs = 0
|
|
|
|
const callInstSize = 4 // "bl someFunction" is 4 bytes
|
|
|
|
const linux_MAP_ANONYMOUS = 0x20
|
|
|
|
// Align on the maximum alignment for this platform (double).
|
|
func align(ptr uintptr) uintptr {
|
|
return (ptr + 7) &^ 7
|
|
}
|
|
|
|
func getCurrentStackPointer() uintptr {
|
|
return uintptr(stacksave())
|
|
}
|