Name mangler5/16/2023 ![]() ![]() I have noticed the same difference in mangling for Sun Studio 12 (CC: Sun C++ 5.9 SunOS_sparc Patch 124863-01 5) 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 I think mangling should be a 1-to-1 function not allowing two different codings for same prototype. For example, the Change Case action offers the ability to change filenames to lowercase, to uppercase, or to title case. Where does the difference come from? is it a bug in mangler or demangler? Name Mangler makes most renaming tasks as easy as choosing your desired action from a pop-up menu, then configuring a few options for the chosen action. 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. 6 Answers Sorted by: 5 I use Name Mangler 3 for file and folder renaming. 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. |