
This is not very useful in itself, but makes it possible to detect this address in the output. See the next commit. This adds around 50 bytes to each binary (except for AVR and wasm). This is unfortunate, but I think this feature is quite useful still. A future enhancement might be to create a build tag for extended panic information that's not set by default.
21 строка
464 Б
Go
21 строка
464 Б
Go
//go:build xtensa
|
|
|
|
package runtime
|
|
|
|
const GOARCH = "arm" // xtensa pretends to be arm
|
|
|
|
// The bitness of the CPU (e.g. 8, 32, 64).
|
|
const TargetBits = 32
|
|
|
|
const deferExtraRegs = 0
|
|
|
|
const callInstSize = 3 // "callx0 someFunction" (and similar) is 3 bytes
|
|
|
|
// The largest alignment according to the Xtensa ABI is 8 (long long, double).
|
|
func align(ptr uintptr) uintptr {
|
|
return (ptr + 7) &^ 7
|
|
}
|
|
|
|
func getCurrentStackPointer() uintptr {
|
|
return uintptr(stacksave())
|
|
}
|