https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64898
Bug ID: 64898 Summary: [5 Regression] qtgui-4.8.6 build error Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org qtgui-4.8.6 fails to build. During final libQtGui.so.4.8.6 link I get: .obj/release-shared/qdrawhelper_sse2.o: In function `_Z33qt_fetch_radial_gradient_templateI16QRadialFetchSimdI9QSimdSse2EEPKjPjPK8OperatorPK9QSpanDataiii': qdrawhelper_sse2.cpp:(.text._Z33qt_fetch_radial_gradient_templateI16QRadialFetchSimdI9QSimdSse2EEPKjPjPK8OperatorPK9QSpanDataiii[_Z33qt_fetch_radial_gradient_templateI16QRadialFetchSimdI9QSimdSse2EEPKjPjPK8OperatorPK9QSpanDataiii]+0x273): undefined reference to `_Z12qt_memfill32' markus@x4 test % cat qdrawhelper_sse2.ii template <class> void qt_fetch_radial_gradient_template (int) { extern void (*qt_memfill32)(int, int, int); qt_memfill32 (0, 0, 0); } void qt_fetch_radial_gradient_sse2 () { qt_fetch_radial_gradient_template<int> (0); } gcc-5 mangles the extern function to _Z12qt_memfill32. All other compilers mangle it to qt_memfill32. markus@x4 test % g++ -O2 -c qdrawhelper_sse2.ii markus@x4 test % nm qdrawhelper_sse2.o | grep qt_memfill32 U _Z12qt_memfill32 markus@x4 test % clang++ -O2 -c qdrawhelper_sse2.ii markus@x4 test % nm qdrawhelper_sse2.o | grep qt_memfill32 U qt_memfill32 markus@x4 test % icpc -O2 -c qdrawhelper_sse2.ii markus@x4 test % nm qdrawhelper_sse2.o | grep qt_memfill32 U qt_memfill32 markus@x4 test % /usr/x86_64-pc-linux-gnu/gcc-bin/4.9.2/g++ -O2 -c qdrawhelper_sse2.ii markus@x4 test % nm qdrawhelper_sse2.o | grep qt_memfill32 U qt_memfill32