https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146
--- Comment #43 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Rich Felker from comment #42) > I'm confused why this is an ABI boundary at all. Was the old implementation > of std::call_once being inlined into callers? Yes, it's a function template: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc%2B%2B-v3/include/std/mutex;h=12b7e548d179c3a2cb0ed65b6e113031f11293f6;hb=ee5c3db6c5b2c3332912fb4c9cfa2864569ebd9a#l710 The call to __gthread_once (which is a weak alias for pthread_once) is on line 729.