mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-06 03:53:42 +00:00
54169c714f
This simplifies adding more baremetal targets, like a GameBoy Advance, or baremetal x86 for unikernels.
31 lines
661 B
Go
31 lines
661 B
Go
// +build baremetal
|
|
|
|
package runtime
|
|
|
|
import (
|
|
"unsafe"
|
|
)
|
|
|
|
//go:extern _heap_start
|
|
var heapStartSymbol unsafe.Pointer
|
|
|
|
//go:extern _heap_end
|
|
var heapEndSymbol unsafe.Pointer
|
|
|
|
//go:extern _globals_start
|
|
var globalsStartSymbol unsafe.Pointer
|
|
|
|
//go:extern _globals_end
|
|
var globalsEndSymbol unsafe.Pointer
|
|
|
|
//go:extern _stack_top
|
|
var stackTopSymbol unsafe.Pointer
|
|
|
|
var (
|
|
heapStart = uintptr(unsafe.Pointer(&heapStartSymbol))
|
|
heapEnd = uintptr(unsafe.Pointer(&heapEndSymbol))
|
|
globalsStart = uintptr(unsafe.Pointer(&globalsStartSymbol))
|
|
globalsEnd = uintptr(unsafe.Pointer(&globalsEndSymbol))
|
|
stackTop = uintptr(unsafe.Pointer(&stackTopSymbol))
|
|
)
|