glibc’s pre-main code is still far larger even with optimized flags. It’s at least a couple KB of disk. You can see the flags I used. I think only ‘-nostdlib’ has to be removed. Some of the code & data glibc adds has purpose (like TLS (thread level storage) bits).