https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98861
--- Comment #20 from cqwrteur <unlvsur at live dot com> --- (In reply to Jonathan Wakely from comment #19) > (In reply to cqwrteur from comment #16) > > That does not work in the real-world since your libstdc++'s freestanding > > header never works correctly, (you get compilation errors). > > Try reporting a bug about *that* next time (except don't, I don't want any > more stupidity from you). Let me be more clear. 1. Freestanding C++ in the current situation is very problematic. (You do not have memcpy, you do not have std::move. You do not have std::forward. You do not have std::addressof(). you do not have std::array.) However, you have an exception handling support. 2. What's the point of reporting a bug when building libstdc++ with GNU newlib just works much better and you have an entire hosted toolchain that will not break compilation? The only problem is that you never enable EH. I did report bugs before. However, it was not fixed. I am not going to try it again tbh since newlib works just fine. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1105r0.html Bare metal gcc 4.8 with newlib undefined reference to "__exidx_end" undefined reference to "__exidx_start" undefined reference to "_exit" undefined reference to "_sbrk" undefined reference to "_kill" undefined reference to "_getpid" undefined reference to "_write" undefined reference to "_close" undefined reference to "_fstat" undefined reference to "_isatty" undefined reference to "_lseek" undefined reference to "_read"