mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-16 18:53:29 +00:00
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:
committed by
Ron Evans
parent
b9bb605257
commit
df888acd5e
@@ -5,6 +5,8 @@ MEMORY
|
||||
RAM (xrw) : ORIGIN = 0x800000 + __ram_start, LENGTH = __ram_size
|
||||
}
|
||||
|
||||
ENTRY(__vector_RESET)
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.text :
|
||||
@@ -12,9 +14,11 @@ SECTIONS
|
||||
KEEP(*(.vectors))
|
||||
KEEP(*(.text.__vector_RESET))
|
||||
KEEP(*(.text.main)) /* main must follow the reset handler */
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
*(.progmem)
|
||||
*(.progmem.*)
|
||||
. = ALIGN(16); /* needed with ld.lld for some reasoon */
|
||||
}
|
||||
|
||||
.stack (NOLOAD) :
|
||||
|
||||
Reference in New Issue
Block a user