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-mega2560: fix flashing on Windows 2020-09-03 06:24:18 +02:00
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 avr: configure emulator in board files 2020-09-09 13:05:14 +02:00
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 arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
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 machine/atsamd51: add support for ATSAMD51 processor using Adafruit ItsyBitsy-M4 board 2019-09-14 17:56:14 +02:00
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 sam: fix ROM / RAM size on atsamd51j20 2020-05-07 23:04:10 +02:00
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: properly support the .rodata section 2020-10-31 21:06:26 +01:00
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 esp8266: add target for d1mini board and add pin mappings for SPI/I2C to help out implementers 2020-10-17 19:57:53 +02:00
digispark.json digispark: split off attiny85 target 2021-02-12 01:10:06 +01:00
esp32-coreboard-v2.json machine/esp32, targets/esp32: correct board definitions for actual boards not processor variants, also define all labeled pins 2020-10-14 21:48:48 +02:00
esp32-mini32.json machine/esp32, targets/esp32: correct board definitions for actual boards not processor variants, also define all labeled pins 2020-10-14 21:48:48 +02:00
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 esp8266: add support for this chip 2020-09-09 19:17:11 +02:00
fe310.json Changes according to @aykevl's feedback 2020-07-08 00:21:59 +02:00
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 main: add initial support for (in-development) LLVM 11 2020-10-13 20:23:50 +02:00
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 targets: add hifive1-qemu for testing RISC-V bare metal in QEMU 2019-12-07 16:47:40 +01:00
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 all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
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: reelboard: flash using OpenOCD when needed 2020-09-15 17:07:40 +02:00
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: Add env parser and removed unused stuff 2020-11-03 23:28:55 +01:00
nintendoswitch.s nintendoswitch: Add env parser and removed unused stuff 2020-11-03 23:28:55 +01:00
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 nrf: add microbit-s110v8 target 2020-05-26 18:50:33 +02:00
nrf51-s110v8.ld nrf: add microbit-s110v8 target 2020-05-26 18:50:33 +02:00
nrf51.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
nrf51.ld
nrf52-s132v6.json nrf: fix nrf52-s132v6 config 2019-11-16 21:57:18 +01:00
nrf52-s132v6.ld nrf: fix nrf52832 flash size 2020-10-20 19:13:43 +02:00
nrf52.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52.ld nrf: fix nrf52832 flash size 2020-10-20 19:13:43 +02:00
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 nrf: support for SoftDevice s140 PCA10056 board 2019-11-20 16:43:55 +01:00
nrf52840-s140v7.ld nrf: expose the RAM base address 2020-05-26 18:49:44 +02:00
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 Cleanup Teensy 3.6 linker script 2020-07-13 12:35:53 +02:00
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 Apply review suggestions 2020-02-18 23:34:56 +01:00
particle-boron.json Apply review suggestions 2020-02-18 23:34:56 +01:00
particle-xenon.json Apply review suggestions 2020-02-18 23:34:56 +01:00
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 nrf: fix nrf52-s132v6 config 2019-11-16 21:57:18 +01:00
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 nrf: support for SoftDevice s140 PCA10056 board 2019-11-20 16:43:55 +01:00
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 microbit: reelboard: flash using OpenOCD when needed 2020-09-15 17:07:40 +02:00
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 risc-v: add support for 64-bit RISC-V CPUs 2020-06-08 16:47:39 +02:00
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 maixbit: changes according to feedback 2020-07-08 00:21:59 +02:00
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 machine/stm32f4disco: add updated target file for newer version of board that have updated st-link 2020-06-30 14:08:20 +02:00
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 machine/stm32f103xx/nucleo-f103rb: add support for NUCLEO-F103RB STM32F1-based board 2019-09-17 13:26:26 +02:00
stm32f405.ld add STM32F405 machine/runtime, and new board/target feather-stm32f405 2020-09-11 09:09:02 +02:00
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 Viable NXP/Teensy support 2020-07-08 21:58:15 +02:00
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