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.