Hi, Thank you so much for the valuable insights Gregory and Alan. I kind of understood the pitfalls but nevertheless wanted to confirm.
Regards, Ritvik On Fri, Aug 2, 2024 at 3:49 PM Gregory Nutt <spudan...@gmail.com> wrote: > On 8/2/2024 12:06 PM, Ritvik Tanksalkar wrote: > > Hello, > > > > I'm working on a project where I need to compile the NuttX kernel to use > > the system's standard library (stdlib) instead of its custom > > implementation. My goal is to have NuttX use the host system's stdlib > > functions rather than the ones provided with the kernel. > > > > Currently, I'm compiling the Nuttx kernel for "sim:posix_spawn" which > > guarantees native linux support. > > > > I'd appreciate any guidance on how to achieve this. Specifically: > > > > 1. What configuration changes are needed to disable NuttX's built-in > libc? > > 2. Are there any known issues or challenges in making this change? > > > > Any insights in this regard would be greatly appreciated. > > > > Regards, > > Ritvik > > > Almost nothing is impossible given enough effort. But if you are > thinking in terms of a simple effort, the simple answer is that > replacing the NuttX-specific libc with a Linux-specific libc is > impossible. That is because the NuttX libc uses the NuttX OS system > calls and the Linux libc uses the Linux system calls. They are not the > same. In order to make this work, you would have to change the OS > interface used in GLIBC to use the NuttX OS interface. That would be an > enormous job! > > GLIBC uses the Linux-specific header files that you will find under > /usr/include/sys. Those would all have to be replaced with > NuttX-specific header files. The exported NuttX header files are the > ones you find in nuttx/include/nuttx. Most of the header file required > by GLIBC don't even exist in NuttX and would have to be created to > satisfy GLIBC. That is another enormous job. > > Alan's suggestion works fine for a few, specific, leaf functions in > GLIBC but will not work in general. That is because many non-leaf GLIBC > header files will draw in other header files that are not compatible > with NuttX. It would be yet another enormous job to make that work. > > My recommendatioin: Don't waste your time. > > >