https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113974
--- Comment #3 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- Then the documentation should make that clear that with -fno-data-sections the object goes in COMM, but with -fdata-sections it does not and the attribute "common" is ignored. Better still, the compiler would behave as documented irrespective of -f[no]-data-sections. This is an issue of the compiler, not of the assembler. Presumably clang just copied gcc behaviour back then?