KDE Platform Profiles

Thiago Macieira thiago at kde.org
Mon Apr 12 14:58:10 BST 2010


Em Segunda-feira 12 Abril 2010, às 15:37:51, Patrick Spendrin escreveu:
> > Please read src/corelib/xml/qxmlstream.h:
> > // These platforms do not support symbol moving but allow it to be
> > duplicated: //   Microsoft Windows (COFF PE executable format)
> > //      special case: Windows CE wasn't supported before 4.4.0
> > 
> > You can't move the symbols further down the dependency chain on Windows.
> > You have to copy them.
> 
> Do you have some more information about this or did you just find the note?
> I will check again, later tonight, but I think we already tried this
> once. I will inform you about my investigations again.

I wrote the note.

I tested every single platform when I moved QXmlStream classes from QtXml to 
QtCore (back in Qt 4.4 times) and the note is the conclusion of it.

Also remember this is not about building only. It's also about running. The 
Windows executable format saves the name of the DLL the symbol should come 
from, so moving from one library to another will result in runtime failures, 
not build ones.

It's the same problem on the Mac, with the difference that on Mac, if you copy 
the symbols, you get build-time warnings of duplicates.

That's the opposite of ELF, where there's a global list symbols exported from 
all DSOs and each DSO contains a list of undefined symbols. So all the dynamic 
linker has to do is find one instance of the symbol and link to it. (The issue 
in ELF is the search order, which may be different according to the module in 
question)

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20100412/3e156730/attachment.sig>


More information about the kde-core-devel mailing list