Discuss here different C compiler set ups, and compiling executables for the ESP8266

User avatar
By davydnorris
#91316
eriksl wrote:Newlib needs patches for lx106. If you just select "newlib 3.0", it will abort with "no support for lx106 in newlib".


:-(

OK so next step is to mod the config and pull Espressif's version of newlib - if that works we can then diff and see what's changed, and maybe even push the changes upstream

Code: Select allCT_NEWLIB_V_3_0_0=y
CT_NEWLIB_VERSION="3.0.0"
CT_NEWLIB_SRC_DEVEL=y
CT_NEWLIB_DEVEL_VCS_git=y
CT_NEWLIB_DEVEL_VCS="git"
CT_NEWLIB_DEVEL_URL="https://github.com/espressif/newlib-esp32.git"
CT_NEWLIB_DEVEL_BRANCH="esp_based_on_3_0_0"
CT_NEWLIB_DEVEL_REVISION=""
CT_NEWLIB_DEVEL_SUBDIR=""
CT_NEWLIB_DEVEL_BOOTSTRAP=""
CT_LIBC_NEWLIB_TARGET_CFLAGS="-fdata-sections -ffunction-sections"
CT_LIBC_NEWLIB_EXTRA_CONFIG_ARRAY="--enable-newlib-long-time_t --enable-newlib-nano-malloc"
CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
CT_LIBC_NEWLIB_REENT_SMALL=y
CT_LIBC_NEWLIB_IO_C99FMT=y
CT_LIBC_NEWLIB_IO_LL=y
CT_LIBC_NEWLIB_IO_FLOAT=y
CT_LIBC_NEWLIB_IO_POS_ARGS=y

CT_LIBC_NEWLIB_AUX_BUILD=y
CT_LIBC_NEWLIB_AUX_BUILD_NAME="nano"
CT_LIBC_NEWLIB_AUX_BUILD_EXTRA_CONFIG_ARRAY="--with-newlib --enable-multilib --disable-newlib-io-c99-formats --disable-newlib-supplied-syscalls --enable-newlib-nano-formatted-io --enable-newlib-reent-small --enable-target-optspace --enable-newlib-long-time_t --enable-newlib-nano-malloc"
CT_LIBC_NEWLIB_AUX_BUILD_TARGET_CFLAGS="-fdata-sections -ffunction-sections"
User avatar
By davydnorris
#96285 I know this topic has been quiet for a while but I am currently in the process of trying to build common toolchains from the latest espressif/crosstool for all the available Espressif chips.

This is configured to be gcc 12.2, newlib and newlib nano 4.1, and binutils 2.39.

I've currently made it through to the nano lib with no errors or warnings - will let you know how it goes.
User avatar
By davydnorris
#96289 So the toolchain compiled fine with a couple of minor warnings, and the build completed and died on the final step, which was just a chmod to make the build tree read only - no idea why.

I'm now rebuilding the toolchain into its final resting place because, under Cygwin and Eclipse, I've found that weird things happen if you build in one place and move the tree later.

I'll then try compiling some stuff under the NonOS and RTOS and let you know how it goes.