[Development] Tagging private symbols as such

Lisandro Damián Nicanor Pérez Meyer perezmeyer at gmail.com
Fri Dec 16 20:45:45 CET 2016


On miércoles, 14 de diciembre de 2016 00:49:41 ART you wrote:
> On miércoles, 7 de diciembre de 2016 08:02:20 ART Thiago Macieira wrote:
> [snip]
> 
> > But the extra versioning is a further safety check: if something was
> > missed
> > in the update, like for example some code compiled by the user (regardless
> > of use of package management), it will necessarily stop working.
> 
> I not sure of the usefullnes in this case. If I remember correctly the
> linker will try first to locate the symbol with the right version and if it
> fails the first symbol that matches no matter it's version.

Not exactly. According to [doc]:

  "When the linker finds a symbol defined in a library which is not
   specifically bound to a version node, it will effectively bind it to an
   unspecified base version of the library."

[doc] <https://sourceware.org/binutils/docs/ld/VERSION.html>

This explains the case when the symbols where added, but doesn't says what 
happens if a symbol can't be matched with a specific version. I've got 
crashes, but not problems at link time that I could see.

-- 
Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20161216/1351bb41/attachment.sig>


More information about the Development mailing list