all: add target-features string to all targets

This makes sure that the LLVM target features match the one generated by
Clang:

  - This fixes a bug introduced when setting the target CPU for all
    targets: Cortex-M4 would now start using floating point operations
    while they were disabled in C.
  - This will make it possible in the future to inline C functions in Go
    and vice versa. This will need some more work though.

There is a code size impact. Cortex-M4 targets are increased slightly in
binary size while Cortex-M0 targets tend to be reduced a little bit.
Other than that, there is little impact.
This commit is contained in:
Ayke van Laethem
2021-11-06 15:29:54 +01:00
committed by Ron Evans
parent af4d0fe191
commit 78fec3719f
17 changed files with 53 additions and 30 deletions
+4 -1
View File
@@ -1,10 +1,13 @@
{
"inherits": ["riscv32"],
"features": ["+c", "+m"],
"features": "+c,+m,-relax,-save-restore",
"build-tags": ["esp32c3", "esp"],
"serial": "uart",
"rtlib": "compiler-rt",
"libc": "picolibc",
"cflags": [
"-march=rv32imc"
],
"linkerscript": "targets/esp32c3.ld",
"extra-files": [
"src/device/esp/esp32c3.S"