I have noticed the same difference in mangling for Sun Studio 12 (CC: Sun C++ 5.9 SunOS_sparc Patch 124863-01 5) And it now runs natively on both Intel and Apple Silicon Macs. Renaming tens of thousands of files can be as easy as a drag-and-drop operation, a bit of typing, and one click of a button. Maybe the demangler does not correctly decode the small difference in the symbols above which decoded properly would indicate what the compiler "thought" of the function in while exporting and using as extern Name Mangler is a blazingly-fast multi-file renaming tool that's incredibly easy to use. I think mangling should be a 1-to-1 function not allowing two different codings for same prototype. 6 Answers Sorted by: 5 I use Name Mangler 3 for file and folder renaming. Where does the difference come from? is it a bug in mangler or demangler? Is there any document describing mangling rules of CC compiler? I have once read an article at Oracle sites about ABI stability which mentions publishing such a document but I cannot google it anywhere. I guess if the function were mangled same in both cases the linker would resolve it and the resulting shared object would not have undefined symbols ^^^ ^^I have marked characters which are different (7 replaced with rk5 and 8 with 9B)ĭemangled output shows the same prototype but manglings are different (11 coming from abstractview.cpp and UNDEF from qmlstate.cpp) | 0| 0|FUNC |GLOB |0 |UNDEF |QmlDesigner::ModelNode QmlDesigner::AbstractView::createModelNode(const QString&,int,int,const QList >&,const QList >&,const QString&,QmlDesigner::ModelNode::NodeSourceType) | 1576144| 169|FUNC |GLOB |0 |11 |QmlDesigner::ModelNode QmlDesigner::AbstractView::createModelNode(const QString&,int,int,const QList >&,const QList >&,const QString&,QmlDesigner::ModelNode::NodeSourceType) Nm -C applied to the resulting shared object gives: ModelNode createModelNode(const QString&, int, int, const PropertyListType&, const PropertyListType&, const QString&, ModelNode::NodeSourceType) It is exported from the implementation file abstractview.cpp and used in qmlstate.cpp file linked to the same library While compiling QtCreator using Solaris Studio I have come across to an interesting issue with name mangling:Ĭlass QmlDesigner::AbstractView contains method
0 Comments
Leave a Reply. |