tinygo/targets
Ayke van Laethem bf9dab36f7 build: normalize target triples to match Clang
This commit changes a target triple like "armv6m-none-eabi" to
"armv6m-unknown-unknow-eabi". The reason is that while the former is
correctly parsed in Clang (due to normalization), it wasn't parsed
correctly in LLVM meaning that the environment wasn't set to EABI.

This change normalizes all target triples and uses the EABI environment
(-eabi in the triple) for Cortex-M targets.

This change also drops the `--target=` flag in the target JSON files,
the flag is now added implicitly in `(*compileopts.Config).CFlags()`.
This removes some duplication in target JSON files.

Unfortunately, this change also increases code size for Cortex-M
targets. It looks like LLVM now emits calls like __aeabi_memmove instead
of memmove, which pull in slightly more code (they basically just call
the regular C functions) and the calls themself don't seem to be as
efficient as they could be. Perhaps this is a LLVM bug that will be
fixed in the future, as this is a very common occurrence.
2021-09-28 18:44:11 +02:00
..
arduino-mega1280.json Arduino Mega 1280 support 2021-04-12 11:03:13 +02:00
arduino-mega2560.json
arduino-mkr1000.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
arduino-mkrwifi1010.json machine/arduino_mkrwifi1010: add board definition for Arduino MKR WiFi 1010 2021-08-30 15:45:47 +02:00
arduino-nano-new.json Add Arduino Nano w/ New Bootloader target 2021-05-01 17:09:46 +02:00
arduino-nano.json
arduino-nano33.json main: detect specific serial port IDs based on USB vid/pid 2021-06-19 16:45:56 +02:00
arduino-zero.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
arduino.json main: detect specific serial port IDs based on USB vid/pid 2021-06-19 16:45:56 +02:00
arm.ld
atmega328p.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atmega1280.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atmega1284p.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atmega2560.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atsamd21.ld
atsamd21e18a.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atsamd21g18a.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atsamd51.ld
atsamd51g19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j20a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j20a.ld
atsamd51p19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51p20a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51p20a.ld Add board support for Adafruit Grand Central M4 (SAMD51) (#1714) 2021-03-15 14:06:09 +01:00
atsame5xx19.ld atsame51: add initial support for feather-m4-can 2021-04-16 17:49:46 +02:00
atsame5xx20-no-bootloader.ld atsame54: add initial support for atsame54-xpro 2021-04-15 15:43:37 +02:00
atsame51j19a.json atsame51: add initial support for feather-m4-can 2021-04-16 17:49:46 +02:00
atsame54-xpro.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atsame54p20a.json atsame5x: add support for CAN 2021-05-10 12:27:10 +02:00
attiny85.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
avr.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
avr.ld
avr.S avr: use Clang for compiling C and assembly files 2021-02-12 01:10:06 +01:00
bluepill-clone.json Add support for additional openocd commands (#1492) 2020-12-30 09:19:41 +01:00
bluepill.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
circuitplay-bluefruit.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
circuitplay-bluefruit.ld nrf52840: fix ram size 2021-09-05 23:54:26 +02:00
circuitplay-express.json main: detect specific serial port IDs based on USB vid/pid 2021-06-19 16:45:56 +02:00
clue-alpha.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
clue.json machine/clue: correct volume name and add alias for release version of Adafruit Clue board 2020-12-29 15:17:38 +01:00
cortex-m-qemu.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
cortex-m-qemu.s arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
cortex-m.json all: use -opt flag for optimization level in CFlags (-Os, etc) 2021-09-28 18:44:11 +02:00
cortex-m0.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
cortex-m0plus.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
cortex-m3.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
cortex-m4.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
cortex-m7.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
cortex-m33.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
d1mini.json
digispark.json digispark: split off attiny85 target 2021-02-12 01:10:06 +01:00
esp32-coreboard-v2.json
esp32-mini32.json
esp32.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
esp32.ld esp32: add libgcc ROM functions to linker script 2020-09-05 10:41:35 +02:00
esp32c3.json esp32c3: add support for this chip 2021-09-16 20:13:04 +02:00
esp32c3.ld esp32c3: add support for this chip 2021-09-16 20:13:04 +02:00
esp8266.json esp: add picolibc 2021-02-11 10:50:29 +01:00
esp8266.ld
fe310.json
feather-m0.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
feather-m4-can.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
feather-m4.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
feather-nrf52840-sense.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
feather-nrf52840.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
feather-rp2040-boot-stage2.S rp2040: support Adafruit Feather RP2040 2021-06-19 12:34:40 +02:00
feather-rp2040.json targets: add serial key to JSON files for newly added rp2040 boards, and also nano-33-ble board 2021-06-25 22:06:16 +02:00
feather-rp2040.ld rp2040: support Adafruit Feather RP2040 2021-06-19 12:34:40 +02:00
feather-stm32f405.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
gameboy-advance.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
gameboy-advance.ld
gameboy-advance.s fix GBA ROM header 2021-09-05 19:59:26 +02:00
grandcentral-m4.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
hifive1-qemu.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
hifive1-qemu.ld
hifive1b.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
hifive1b.ld
itsybitsy-m0.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
itsybitsy-m4.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
itsybitsy-nrf52840.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
k210.json all: remove support for LLVM 9 2021-03-04 15:46:05 +01:00
lgt92.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
lm3s6965.ld
maixbit.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
maixbit.ld all: remove support for LLVM 9 2021-03-04 15:46:05 +01:00
matrixportal-m4.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
mdbt50qrx-uf2.json target: fix pid for mdbt50qrx-uf2 2021-09-09 18:40:03 +02:00
metro-m4-airlift.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
microbit-s110v8.json
microbit-v2-s113v7.json microbit-v2: add support for S113 SoftDevice 2021-04-14 22:55:52 +02:00
microbit-v2.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
microbit.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
mimxrt1062-teensy40.ld teensy40: enable hardware UART reconfiguration, fix receive watermark interrupt 2021-09-13 09:29:20 +02:00
nano-33-ble-sense.json smoke&readme: add missing boards 2021-06-24 17:34:14 +02:00
nano-33-ble.json targets: add serial key to JSON files for newly added rp2040 boards, and also nano-33-ble board 2021-06-25 22:06:16 +02:00
nano-33-ble.ld board/nano-33-ble: pins, blinking leds and serial 2021-06-14 00:06:59 +02:00
nano-rp2040.json targets: add serial key to JSON files for newly added rp2040 boards, and also nano-33-ble board 2021-06-25 22:06:16 +02:00
nicenano.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nintendoswitch.json runtime: use the tasks scheduler instead of coroutines 2021-05-09 17:40:13 +02:00
nintendoswitch.ld
nintendoswitch.s
nodemcu.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nrf51-s110v8.json
nrf51-s110v8.ld
nrf51.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
nrf51.ld
nrf52-s132v6.json
nrf52-s132v6.ld
nrf52.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52.ld
nrf52833-s113v7.json microbit-v2: add support for S113 SoftDevice 2021-04-14 22:55:52 +02:00
nrf52833-s113v7.ld microbit-v2: add support for S113 SoftDevice 2021-04-14 22:55:52 +02:00
nrf52833.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52833.ld machine/microbit-v2: add initial support based on work done by @alankrantas thank you! 2021-01-06 18:50:46 +01:00
nrf52840-mdk-usb-dongle.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nrf52840-mdk.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nrf52840-s140v7.json
nrf52840-s140v7.ld
nrf52840.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52840.ld
nucleo-f103rb.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nucleo-f722ze.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nucleo-l031k6.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nucleo-l432kc.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nucleo-l552ze.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nxpmk66f18.ld
p1am-100.json cortexm: bump default stack size to 2048 bytes 2021-06-18 13:23:50 +02:00
particle-3rd-gen.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
particle-argon.json
particle-boron.json
particle-xenon.json
pca10031.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pca10040-s132v6.json
pca10040.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pca10056-s140v7.json
pca10056.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pca10059.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pca10059.ld initial support for pca10059 2021-03-28 21:38:05 +02:00
pico-boot-stage2.S rp2040: support Adafruit Feather RP2040 2021-06-19 12:34:40 +02:00
pico.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pico.ld rp2040: patch elf to checksum 2nd stage boot 2021-06-17 12:10:04 +02:00
pinetime-devkit0.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pybadge.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pygamer.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
pyportal.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
qtpy.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
reelboard-s140v7.json
reelboard.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
riscv-qemu.json
riscv-qemu.ld riscv: implement VirtIO target 2020-03-26 23:03:55 +01:00
riscv.json all: use -opt flag for optimization level in CFlags (-Os, etc) 2021-09-28 18:44:11 +02:00
riscv.ld
riscv32.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
riscv64.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
rp2040-boot-stage2.S rp2040: support Adafruit Feather RP2040 2021-06-19 12:34:40 +02:00
rp2040.json targets: add openocd configuration for rp2040 2021-09-01 19:37:23 +02:00
rp2040.ld rp2040: patch elf to checksum 2nd stage boot 2021-06-17 12:10:04 +02:00
stm32.ld
stm32f4disco-1.json
stm32f4disco.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
stm32f7x2zetx.ld Nucleo f722ze (#1526) 2020-12-15 06:51:35 +01:00
stm32f103rb.ld
stm32f405.ld
stm32f407.ld
stm32l0x2.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
stm32l4x2.ld Add support for nucleol432 board 2021-03-23 08:33:59 +01:00
stm32l5x2xe.ld nucleol552ze: implementation with CLOCK, LED, and UART 2021-02-16 12:48:52 +01:00
stm32l031k6.ld stm32: add nucleo-l031k6 support 2021-04-07 17:20:19 +02:00
stm32l072czt6.ld Support for STM32L0 MCUs and Dragino LGT92 device (#1561) 2021-01-08 22:27:25 +01:00
teensy36.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
teensy36.s
teensy40.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
teensy40.s teensy40: initial implementation 2020-11-11 18:34:47 +01:00
trinket-m0.json targets: add serial and serial-port key to JSON files for adafruit boards 2021-06-29 09:07:02 +02:00
wasi.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
wasm.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00
wasm_exec.js wasm: add support for the crypto/rand package 2021-08-05 19:01:14 +02:00
wioterminal.json targets: add serial and serial-port key to JSON files for seeed boards 2021-06-29 09:07:02 +02:00
x9pro.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
xiao.json targets: add serial and serial-port key to JSON files for seeed boards 2021-06-29 09:07:02 +02:00
xtensa.json build: normalize target triples to match Clang 2021-09-28 18:44:11 +02:00