tinygo/targets/gameboy-advance.json
Ayke van Laethem bfa29f17da runtime: move/refactor some GC-related code
Instead of putting tinygo_scanCurrentStack in scheduler_*.S files, put
them in dedicated files. The function tinygo_scanCurrentStack has
nothing to do with scheduling and so doesn't belong there. Additionally,
while scheduling code is made specific for the Cortex-M, the
tinygo_scanCurrentStack is generic to all ARM targets so this move
removes some duplication there.

Specifically:

  * tinygo_scanCurrentStack is moved out of scheduler_cortexm.S as it
    isn't really part of the scheduler. It is now gc_arm.S.
  * Same for the AVR target.
  * Same for the RISCV target.
  * scheduler_gba.S is removed, using gc_arm.S instead as it only
    contains tinygo_scanCurrentStack.
2020-10-02 08:54:43 +02:00

32 строки
716 Б
JSON

{
"llvm-target": "arm4-none-eabi",
"cpu": "arm7tdmi",
"build-tags": ["gameboyadvance", "arm7tdmi", "baremetal", "linux", "arm"],
"goos": "linux",
"goarch": "arm",
"compiler": "clang",
"linker": "ld.lld",
"rtlib": "compiler-rt",
"libc": "picolibc",
"cflags": [
"--target=arm4-none-eabi",
"-mcpu=arm7tdmi",
"-Oz",
"-Werror",
"-fshort-enums",
"-fomit-frame-pointer",
"-Qunused-arguments",
"-fno-exceptions", "-fno-unwind-tables",
"-ffunction-sections", "-fdata-sections"
],
"ldflags": [
"--gc-sections"
],
"linkerscript": "targets/gameboy-advance.ld",
"extra-files": [
"targets/gameboy-advance.s",
"src/runtime/gc_arm.S"
],
"gdb": "gdb-multiarch",
"emulator": ["mgba", "-3"]
}