On Friday 19 January 2007 08:36, Joerg Schilling wrote:
> [EMAIL PROTECTED] wrote:
> > >http://www.research.att.com/~bs/slashdot_interview.html
> >
> > Quote from that article:
> >
> >     "There is no C ABI either, but on most (all?) Unix platforms
> >     there is a dominant compiler ..."
> >
> > which is just flat-out wrong.
>
> +1, you just have been a few seconds faster, I wanted to write the
> same ;-)

This is what i think he means:

This:

__t11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntityPCt11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntity

is a randomly chosen symbol from libqt-mt.so.3.1.1 as delivered on the 
Companion CD, and built with (a version of) g++ on SPARC.

If i try to demangle this symbol with SunProCC's dem, on the same box 
(not that the box should matter):

[EMAIL PROTECTED]/opt/sfw/lib][01/19/2007 9:18:05][75]>> dem 
__t11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntityPCt11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntity

__t11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntityPCt11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntity
 
== 
__t11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntityPCt11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntity
[EMAIL PROTECTED]/opt/sfw/lib][01/19/2007 9:19:24][76]>> 

In other words, SunProCC's demangler has no clue what this is, it 
cannot demangle it. Attempting to link this library with SunProCC 
will result in an 'undefined symbol' error, and your program will not 
link.

If i try to demangle the same exact symbol with c++filt, on a 
different box, i get:

[EMAIL PROTECTED]/19/2007 9:20:50][106]>> c++filt 
__t11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntityPCt11QMapPrivate2Z7QStringZQ223QXmlSimpleReaderPrivate12ExternEntity
QMapPrivate<QString, 
QXmlSimpleReaderPrivate::ExternEntity>::QMapPrivate(QMapPrivate<QString, 
QXmlSimpleReaderPrivate::ExternEntity> const *)
[EMAIL PROTECTED]/19/2007 9:25:35][107]>>

It demangles. 

The opposite is equally true:

This:

__1cLQdDTextLayoutLcurrentItem6M_nJQdDTextItem__

is a randomly chosen symbol from libqt-mt.so.3.3.7, built with 
SunStudio 11.

dem says:
[EMAIL PROTECTED]/opt/qt-3.3.7-32/lib][01/19/2007 9:26:01][85]>> dem 
__1cLQdDTextLayoutLcurrentItem6M_nJQdDTextItem__

__1cLQdDTextLayoutLcurrentItem6M_nJQdDTextItem__ == QTextItem 
QTextLayout::currentItem()
[EMAIL PROTECTED]/opt/qt-3.3.7-32/lib][01/19/2007 9:26:03][86]>> 

c++filt says:
[EMAIL PROTECTED]/19/2007 9:29:46][108]>> c++filt 
__1cLQdDTextLayoutLcurrentItem6M_nJQdDTextItem__
__1cLQdDTextLayoutLcurrentItem6M_nJQdDTextItem__
[EMAIL PROTECTED]/19/2007 9:31:05][109]>>

--Stefan

-- 
Stefan Teleman                  'Nobody Expects the Spanish Inquisition'
KDE e.V.                                                -Monty Python
[EMAIL PROTECTED]
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to