
So far, we've pretended to be js/wasm in baremetal targets to make the stdlib happy. Unfortunately, this has various problems because syscall/js (a dependency of many stdlib packages) thinks it can do JS calls, and emulating them gets quite hard with all changes to the syscall/js packages in Go 1.12. This commit does a few things: * It lets baremetal targets pretend to be linux/arm instead of js/wasm. * It lets the loader only select particular packages from the src overlay, instead of inserting them just before GOROOT. This makes it possible to pick which packages to overlay for a given target. * It adds a baremetal-only syscall package that stubs out almost all syscalls.
20 строки
392 Б
JSON
20 строки
392 Б
JSON
{
|
|
"build-tags": ["cortexm", "linux", "arm"],
|
|
"goos": "linux",
|
|
"goarch": "arm",
|
|
"compiler": "clang-8",
|
|
"gc": "marksweep",
|
|
"linker": "arm-none-eabi-ld",
|
|
"rtlib": "compiler-rt",
|
|
"cflags": [
|
|
"-Oz",
|
|
"-mthumb",
|
|
"-fshort-enums",
|
|
"-fno-exceptions", "-fno-unwind-tables",
|
|
"-ffunction-sections", "-fdata-sections"
|
|
],
|
|
"ldflags": [
|
|
"--gc-sections"
|
|
],
|
|
"gdb": "arm-none-eabi-gdb"
|
|
}
|