2011-12-18 18:56:50 |
Kevin Funk |
description |
Qt is - at least in 11.04 and 12.04 - built with the -Bsymbolic-functions linker flag enabled which binds references to global function symbols to the definition within the shared library [1]. This is okay for most use-cases out there but breaks certain scenarios where preloading is involved.
Qt specifies certain dynamic-list files (see [2]) to enable dynamic binding for certain symbols. An example file is "QT_SOURCE/src/corelib/QtCore.dynlist". However, currently these files are not used since Qt's configure is not instructed with -reduce-relocations which would enable passing the --dynamic-list linker flag on compilation. Not that this is only relevant if built with -Bsymbolic-functions. In fact, -reduce-relocations both enable -Bsymbolic-functions and --dynamic-list parameters to be passed.
Qt in 11.10 seems to be compiled without -Bsymbolic-function (checked build logs on Launchpad).
[1] http://www.technovelty.org/code/c/bsymbolic-update.html
[2] http://linux.die.net/man/1/ld |
Qt is - at least in 11.04 and 12.04 - built with the -Bsymbolic-functions linker flag enabled which binds references to global function symbols to the definition within the shared library [1]. This is okay for most use-cases out there but breaks certain scenarios where preloading is involved.
Qt specifies certain dynamic-list files (see [2]) to enable dynamic binding for certain symbols. An example file is "QT_SOURCE/src/corelib/QtCore.dynlist". However, currently these files are not used since Qt's configure is not instructed with -reduce-relocations which would enable passing the --dynamic-list linker flag on compilation. Note that this is only relevant if built with -Bsymbolic-functions. In fact, -reduce-relocations both enable -Bsymbolic-functions and --dynamic-list parameters to be passed.
Qt in 11.10 seems to be compiled without -Bsymbolic-function (checked build logs on Launchpad).
[1] http://www.technovelty.org/code/c/bsymbolic-update.html
[2] http://linux.die.net/man/1/ld |
|