https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91135
--- Comment #5 from Daniel Kolesa <gcc at octaforge dot org> --- I don't know 100% *what* the kernel uses it for, I just know it does. If I remove it, linking vmlinux fails (with thousands of undefined references) so it seems to require that specific ABI for whatever reason; my best guess is that it requires the symbol names to be emitted with a dot, and it won't without that flag, but I might as well be wrong.