"FFreestanding" doesn't imply that you should build your C or C++ program using a freestanding approach. Additionally, it's worth noting that GCC 9.3 is outdated and will soon be deprecated, so it's recommended that you upgrade to the latest native GCC version first. Then, use this new GCC version to build a new cross toolchain for the latest GCC 13 (which will soon be updated to GCC 14). It's important to keep in mind that freestanding C++ is not supported by GCC versions prior to GCC 12. To create a new cross compiler, you can use the following configure options: --without-headers --disable-shared --disable-threads --disable-nls --disable-werror --disable-libssp --disable-libquadmath --disable-libbacktarce --enable-languages=c,c++ --enable-multilib --disable-bootstrap --disable-libstdcxx-verbose --with-libstdcxx-eh-pool-obj-count=0 --disable-sjlj-exceptions --disable-hosted-libstdcxx. Once this is complete, you will have a new cross freestanding GCC toolchain that doesn't rely on newlib dependencies. Finally, you can use an x86_64-w64-mingw32 target GCC cross compiler for Canadian compilation to obtain a toolchain that runs on Windows. Sent from Mail for Windows