[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