diff options
author | Oskari Timperi <ext-oskari.timperi@nokia.com> | 2010-08-06 14:31:40 +0300 |
---|---|---|
committer | Tomas Junnonen <tomas.junnonen@nokia.com> | 2010-08-06 15:40:05 +0300 |
commit | d8530644426eefc5011f9c18df5817884b02e3c2 (patch) | |
tree | 94380485576de4ebd54887c93283b878f310b579 /doc | |
parent | a77f2e55d8f305edc475fc976c7fb16bb869447a (diff) |
Changes: Added documentation about debugging and PIE binaries
RevBy: Jussi Lind
Diffstat (limited to 'doc')
-rw-r--r-- | doc/src/launcher.dox | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/src/launcher.dox b/doc/src/launcher.dox index 1890b37b..681009e8 100644 --- a/doc/src/launcher.dox +++ b/doc/src/launcher.dox @@ -211,6 +211,29 @@ is attached to invoker --type=m /usr/bin/application_binary \endcode +\subsection pie-binaries PIE binaries and debugging + +Using \c pkg-config when building your binaries makes them +linked with the \c -pie flag. The \c -pie flag makes your binaries +\e position \e independent \e executables. This means that the executables +can be either used as a normal shared library or run from e.g. +the command line. + +This creates problems when debugging your application with gdb older than +version 7.1 which introduced the support for PIE binaries. + +The solution when using gdb 7.0 or earlier is to link your binaries as +libraries i.e. using \c -shared instead of \c -pie. After this, you can't +execute your binaries directly, you have to use \c invoker. + +Setting correct linker flags with QMake: + +\code + QMAKE_CXXFLAGS += -fPIC -fvisibility=hidden -fvisibility-inlines-hidden + QMAKE_LFLAGS += -shared -rdynamic +\endcode + +Remember to remove the CONFIG += meegotouch-boostable, if used. \section packaging Packaging and distributing |