tinygo/targets/nintendoswitch.json
Ayke van Laethem 67de8b490d gc: use raw stack access whenever possible
The only architecture that actually needs special support for scanning
the stack is WebAssembly. All others allow raw access to the stack with
a small bit of assembly. Therefore, don't manually keep track of all
these objects on the stack manually and instead just use conservative
stack scanning.

This results in a massive code size decrease in the affected targets
(only tested linux/amd64 for code size) - sometimes around 33%. It also
allows for future improvements such as using proper stackful goroutines.
2020-10-02 08:54:43 +02:00

33 строки
767 Б
JSON

{
"llvm-target": "aarch64",
"build-tags": ["nintendoswitch", "arm64"],
"goos": "linux",
"goarch": "arm64",
"compiler": "clang",
"linker": "ld.lld",
"rtlib": "compiler-rt",
"libc": "picolibc",
"gc": "conservative",
"relocation-model": "pic",
"cflags": [
"-target", "aarch64-none-linux-gnu",
"-mtune=cortex-a57",
"-fPIE",
"-Werror",
"-Qunused-arguments",
"-fshort-enums",
"-fomit-frame-pointer",
"-fno-exceptions", "-fno-unwind-tables",
"-ffunction-sections", "-fdata-sections"
],
"ldflags": [
"-pie",
"-z", "notext"
],
"linkerscript": "targets/nintendoswitch.ld",
"extra-files": [
"targets/nintendoswitch.s",
"src/runtime/gc_arm64.S",
"src/runtime/runtime_nintendoswitch.s"
]
}