http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51749
--- Comment #29 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- As was discussed a couple of years ago, the glibc maintainers are willing to work with the libstdc++ maintainers on providing whatever features libstdc++ headers need in a namespace-clean way (not exposing symbols not reserved by the relevant version of standard C++, when standard libstdc++ headers are used in a strict mode such as -std=c++98 or -std=c++11 and libstdc++ is built for recent-enough glibc). But the libstdc++ people will need to work out exactly what interfaces are needed so we can work out how to expose them cleanly. https://sourceware.org/ml/libc-alpha/2012-03/msg00311.html (In the case of <func>64, providing __<func>64 is a good idea for other reasons where not already provided: it would allow fixing <https://sourceware.org/bugzilla/show_bug.cgi?id=14106>, _FILE_OFFSET_BITS=64 not being namespace-clean. So I consider such a change appropriate for, at least, any function in a POSIX or C standard with a <func>64 version used for _FILE_OFFSET_BITS=64.) I advise taking discussion of the details to libc-alpha, once you have more idea of exactly what features you would like glibc headers to expose in a C++-namespace-clean way.