
The Go tools only consider lowercase .s files to be assembly files. By renaming these to uppercase .S files they won't be discovered by the Go toolchain and listed as the SFiles to be assembled. There is a difference between .s and .S: only uppercase .S will be passed through the preprocessor. Doing that is normally safe, and definitely safe in the case of these files.
30 строки
712 Б
JSON
30 строки
712 Б
JSON
{
|
|
"build-tags": ["cortexm", "baremetal", "linux", "arm"],
|
|
"goos": "linux",
|
|
"goarch": "arm",
|
|
"gc": "conservative",
|
|
"scheduler": "tasks",
|
|
"linker": "ld.lld",
|
|
"rtlib": "compiler-rt",
|
|
"libc": "picolibc",
|
|
"automatic-stack-size": true,
|
|
"default-stack-size": 2048,
|
|
"cflags": [
|
|
"-Werror",
|
|
"-fshort-enums",
|
|
"-fomit-frame-pointer",
|
|
"-mfloat-abi=soft",
|
|
"-fno-exceptions", "-fno-unwind-tables", "-fno-asynchronous-unwind-tables",
|
|
"-ffunction-sections", "-fdata-sections"
|
|
],
|
|
"ldflags": [
|
|
"--emit-relocs",
|
|
"--gc-sections"
|
|
],
|
|
"extra-files": [
|
|
"src/device/arm/cortexm.S",
|
|
"src/internal/task/task_stack_cortexm.S",
|
|
"src/runtime/asm_arm.S"
|
|
],
|
|
"gdb": ["gdb-multiarch", "arm-none-eabi-gdb"]
|
|
}
|