I am working on creating an improved NuttX toolchain that would make building software for NuttX easier. What the nuttx-buildroot accomplishes, is the first step in what I'd like to accomplish. However, I'm conflicted about whether I'd like to start my work from nuttx-buildroot, or model the nuttx-buildroot in crosstool-ng, and then continue from there. For those unfamiliar, NuttX is often built with a toolchain such as arm-none-eabi, where newlib is built in. This can cause issues that conflict with NuttX libc. Most can and are avoided using -nostdlib option. However, as I will explain in a follow on post and as Greg has explained in other posts, there are other issues that really should be solved by having a custom toolchain for NuttX where NuttX's libc is built-in.
One topic I am introducing here, is the choice of upgrading to crosstool-ng, or sticking with nuttx buildroot. Though I could probably be convinced to contribute my efforts on either tool, as I would rather have a unified community effort, I urge some consideration to using crosstool-ng as it does seem to be a very stable project requiring minimal changes to integrate NuttX so far. It also seems to be a more highly regarded tool.
Before continuing I should clarify that the rest of the steps to integrating the toolchain would be to build libc and libcxx into toolchain to create a hosted toolchain. crosstool-ng and buildroot can be setup to do this. crosstool-ng does this already by default. Additional effort is required for both tools.
I have started integration with crosstool-ng. I will share a link to a repo in a follow-on post for others to use. I am currently hitting build errors that I believe would happen regardless of my use of crosstool-ng or buildroot. I will post details in follow-on post as well.
I just want to get the conversation started about both help on this effort, and choice of tool to use moving forward for the NuttX toolchain.
Best,
Anthony