The non-defaults serve the hyperlight guest model: single-threaded, no TLS, no semihosting, no libc malloc since we provide rust allocator, verbose asserts for better debuggability, and some I/O performance tweaks discussed above like io buffering.
There are some knobs like wchar support that were needed to allow building baremetal libc++ against picolibc.
We can expose build settings but I would rather do that trough cargo features not env variables. That being said I'm not sure if we should proactively expose all the build tweaks or wait and see if any of this turns out to be problematic?
Originally posted by @andreiltd in #831 (comment)
The non-defaults serve the hyperlight guest model: single-threaded, no TLS, no semihosting, no libc malloc since we provide rust allocator, verbose asserts for better debuggability, and some I/O performance tweaks discussed above like io buffering.
There are some knobs like wchar support that were needed to allow building baremetal libc++ against picolibc.
We can expose build settings but I would rather do that trough cargo features not env variables. That being said I'm not sure if we should proactively expose all the build tweaks or wait and see if any of this turns out to be problematic?
Originally posted by @andreiltd in #831 (comment)