Skip to content

Draft: community/gcc-cross-embedded: Add support for Xtensa ESP MCUs

Marian Buschsieweke requested to merge maribu/aports:community/newlib-esp into master

This MR provides support for building for Espressif's Xtensa based ESP MCUs (ESP8266, ESP32, ESP32S2, ESP32S3).

For this, the corresponding binutils, GCC and newlib packages are provided. For both binutils and GCC it was feasible to integrate ESP support as subpackages into binutils-cross-embedded and gcc-cross-embedded. Unlike the other target architectures, simply building a multilib enabled toolchain with unmodified upstream source code doesn't work here. I'm not fully sure this is fully Espressif's fault, it may also be that the Xtensa ISA is intended to be extended to be highly customized by vendors licensing it.

For newlib it was not sensible to extend the existing package, as Espressif never upstreamed their changes. Instead, a second base package is provided for targets build from their fork. What a mess! :/

Merge request reports