New toolchain version preview (GCC 8.2)

ESP_igrr
Posts: 1454
Joined: Tue Dec 01, 2015 8:37 am

New toolchain version preview (GCC 8.2)

Postby ESP_igrr » Tue Sep 25, 2018 4:07 am

(Updated, please see the 2nd post)

----
At the moment the latest ESP-IDF release, v3.1, uses toolchain based on GCC 5.2.

As a step towards updating GCC version used in the toolchain, ESP-IDF master branch can now be compiled with a new toolchain based on GCC 8.2. Documentation and getting started guides will continue to use GCC 5.2 until after release 3.2, when we plan to start officially supporting GCC 8.2.

A few important notes:
  • This is a preview release. There may be regressions due to compiler version update which we haven't found yet. Please report any issues you find on Github, prominently mentioning that you are using GCC 8.2.
  • The build system will produce warnings that this GCC version is unsupported.
  • It is not recommended to use GCC 8.2 for production purposes at this point.
  • Master branch of ESP-IDF passes through a number of compilation tests and functional tests before it is synchronized to Github. At the moment these tests use GCC 5.2 based toolchain. We plan to do regular (~weekly) builds/tests with GCC 8.2, but be advised some things may be temporarily broken with GCC 8.2. Please report issues on Github if you find them.
  • See below for the list of known issues.
Prebuilt version of the toolchain can be downloaded from the links below:
linux 64-bit
linux 32-bit
linux ARM
macOS
Windows

If you wish to build this toolchain yourself instead of using the binaries, this can be done using esp32-1.23-gab3c204a branch of https://github.com/espressif/crosstool-NG. Build steps are the same as for the current toolchain based on GCC 5.2.

This toolchain includes:
GCC 8.2, plus Xtensa-specific and ESP32-specific patches: https://github.com/espressif/gcc/tree/e ... _gcc-8_2_0
Binutils 2.30: https://github.com/espressif/binutils-g ... utils-2_30
GDB 8.1: https://github.com/espressif/binutils-g ... r1_gdb-8_1
Newlib 2.2.0, plus Xtensa patches: https://github.com/espressif/newlib-esp ... wlib-2_2_0
(Crosstool-NG branch linked above will automatically download correct versions from these repositories)

Known issues
  • xtensa-esp32-elf-gdb which we cross-compile for macOS may segfault randomly
  • when using GCC 8 based toolchain with CMake build system, application crashes shortly after startup

ESP_igrr
Posts: 1454
Joined: Tue Dec 01, 2015 8:37 am

Re: New toolchain version preview (GCC 8.2)

Postby ESP_igrr » Fri Apr 12, 2019 1:40 am

We have updated the preview version of GCC 8.2 based toolchain to "esp32-2019r1-rc2" version.
We plan to fix the remaining known issue and switch the ESP-IDF to 2019r1 release of the toolchain in the next couple of weeks.
Please report any issues you observe on Github, mentioning that you are using esp32-2019r1-rc2 toolchain version.

Compatibility:
  • This toolchain is compatible with ESP-IDF starting from commit 70eda3d2 (latest master branch as of 2019/04/11).
  • This toolchain is not compatible with older versions of ESP-IDF.
  • Previously released "2018-r1" version of GCC 8.2 based toolchain is not compatible with ESP-IDF versions after the above mentioned commit.
  • Note that this still a preview. GCC 5.2 based toolchain is still the main supported toolchain in ESP-IDF.
Download links are as follows: Major changes in this release: Known issues
  • xtensa-esp32-elf-gdb which we cross-compile for macOS may segfault randomly
Source repositories

Who is online

Users browsing this forum: No registered users and 1 guest