https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105810
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- Right, but that function doesn't even exist today, so there's nothing to merge today. This change adds new symbols (one for every assertion in the library) which must be assembled and then merged by the linker. I'm just not sure why you're pointing this out in comment 4 like it's an advantage of the change. Of course there's only one copy of the function, otherwise it would be an ODR violation, or a linker error. But it's still one more function for every assertion in the library.