The gcc name mangling for gnu multiversions includes a _Znum_ prefix e.g. the test case in the gcc testsuite named mv1.C .quad _Z13_Z3foov.ifuncv call _Z13_Z3foov.ifuncv .globl _Z13_Z3foov.ifuncv .type _Z13_Z3foov.ifuncv, @gnu_indirect_function .set _Z13_Z3foov.ifuncv,_Z3foov.resolver Is the _Z13 prefix needed? It seems like the .ifunc suffix would be adequate. grep ifunc *.s | grep call mv12.s: call _Z13_Z3foov.ifuncv mv12.s: call _Z13_Z3foov.ifuncv mv1.s: call _Z13_Z3foov.ifuncv mv2.s: call _Z13_Z3foov.ifuncv mv5.s: call _Z13_Z3foov.ifuncv mv6.s: call _Z19_ZN3Foo3fooEv.ifuncP3Foo Do you expect the name mangling will be added to a standards document? Thanks and regards