https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116184
--- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> --- The underlying issue can be demonstrated with non-template inlines as well: inline const char* foo [[gnu::section("strings"), gnu::used]] = "foo"; inline const char* bar [[gnu::section("strings"), gnu::used]] = "bar"; gives .section strings,"awG",@progbits,foo,comdat ... .section strings,"awG",@progbits,foo,comdat I'm afraid I don't know how to fix this, hopefully someone else can look into it though.