Most of the bad stuff in glibc is due to bad API&#x27;s, not to bad programming languages. (E.g., non-reentrant functions with global state, functions that deliberately crash on incorrect input, poor separation between standard library functions and non-standard but commonly accepted ones, poor separation between stuff that&#x27;s needed for C and stuff that wraps kernel&#x2F;syscall functionality, etc.)<p>Parts of it probably should be replaced with safer implementations, but as long as you&#x27;re going for 100% compatibility you&#x27;re still putting lipstick on a pig.