avr: drop GNU toolchain dependency

- Use compiler-rt and picolibc instead of avr-libc.
  - Use ld.lld instead of avr-ld (or avr-gcc).

This makes it much easier to get started with TinyGo on AVR because
installing these extra tools (gcc-avr, avr-libc) can be a hassle.
It also opens the door for future improvements such as ThinLTO.

There is a code size increase but I think it's worth it in the long run.
The code size increase can hopefully be reduced with improvements to the
LLVM AVR backend and to compiler-rt.
This commit is contained in:
Ayke van Laethem
2022-11-04 14:50:26 +01:00
committed by Ron Evans
parent b9bb605257
commit df888acd5e
22 changed files with 74 additions and 41 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
FROM golang:1.19 AS tinygo-llvm
RUN apt-get update && \
apt-get install -y apt-utils make cmake clang-11 binutils-avr gcc-avr avr-libc ninja-build
apt-get install -y apt-utils make cmake clang-11 ninja-build
COPY ./Makefile /tinygo/Makefile