On Mon, Oct 14, 2013 at 2:13 PM, Melanie B <mib.bugzilla@xxxxxxxxx> wrote: > 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? I don't know the details of this work, but I do know that a _Z13 prefix followed by 13 arbitrary bytes will be demangled sensibly by the existing C++ demangler. Ian