Qt built with -Bsymbolic-functions, not using -reduce-relocations from configure

Bug #906014 reported by Kevin Funk
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qt4-x11 (Ubuntu)
Fix Released
Medium
Fathi Boudra

Bug 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. 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

Kevin Funk (kfunk)
description: updated
Fathi Boudra (fboudra)
Changed in qt4-x11 (Ubuntu):
status: New → Triaged
assignee: nobody → Fathi Boudra (fboudra)
Fathi Boudra (fboudra)
no longer affects: qt4-x11 (Debian)
Revision history for this message
Fathi Boudra (fboudra) wrote :

Fixed in Debian 4.8.0-1 upload, will be fix-released in Ubuntu 4.8.0-1ubuntu1 upload.

Changed in qt4-x11 (Ubuntu):
importance: Undecided → Medium
status: Triaged → Fix Committed
Felix Geyer (debfx)
Changed in qt4-x11 (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.