
The -Qunused-arguments flag disables the warning where some flags are not relevant to a compilation. This commonly happens when compiling assembly files (.s or .S files) because some flags are specific to C and not relevant to assembly. Because practically all baremetal targets need some form of assembly, this flag is added to most CFlags. This creates a lot of noise. And it is also added for compiling C code where it might hide bugs (by hiding the fact a flag is actually unused). This commit adds the flag to all assembly compilations and removes them from all target JSON files.
31 строка
694 Б
JSON
31 строка
694 Б
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",
|
|
"-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"]
|
|
}
|