aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/libqpe
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2010-01-19 12:01:38 -0800
committerKhem Raj <raj.khem@gmail.com>2010-01-19 12:01:38 -0800
commit487479374e52651b7bf8974a60e8a5e2624ab76b (patch)
tree41954c06c061cb5b64b22ddd1ea58cbd214a1622 /recipes/libqpe
parentb28038e8136bab6c93fd39e199105a72149b8edb (diff)
downloadopenembedded-487479374e52651b7bf8974a60e8a5e2624ab76b.tar.gz
libqpe, opie-taskbar: Fix linking errors found with 2.20 ld
* Fix PR #5376 * Dont remove ~LnkProperties when QTOPIA_INTERNAL_FSLP is not defined this could cause g++ to emit default destructor which will be inlined and as we asked inlines to have hidden visibility it could make the destructor hidden in the final library this happens now because ld can merge the visibility attributes which it did not do before. * Note that this fix might be needed in few other places too. We will fix them as we encounter them. * Remove the workaround in opie-taskbar Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes/libqpe')
-rw-r--r--recipes/libqpe/libqpe-opie/unhide_lnkproperties_destructor.patch24
-rw-r--r--recipes/libqpe/libqpe-opie_1.2.4.bb3
2 files changed, 26 insertions, 1 deletions
diff --git a/recipes/libqpe/libqpe-opie/unhide_lnkproperties_destructor.patch b/recipes/libqpe/libqpe-opie/unhide_lnkproperties_destructor.patch
new file mode 100644
index 0000000000..65e790a145
--- /dev/null
+++ b/recipes/libqpe/libqpe-opie/unhide_lnkproperties_destructor.patch
@@ -0,0 +1,24 @@
+Dont hide destructor, if we do then in moc_lnkproperties.cpp its not
+seen and compiler puts in a default one and inlines it which is then
+hidden as we ask it to use -fvisibility-inlines-hidden
+
+Now linker can merge the symbol visivility and promotes the most
+restrictive visivility in output which means that the library will have
+the destructor but it will be hidden
+
+-Khem
+
+Index: library/lnkproperties.h
+===================================================================
+--- library.orig/lnkproperties.h 2010-01-19 10:49:36.771348810 -0800
++++ library/lnkproperties.h 2010-01-19 10:49:59.318857574 -0800
+@@ -45,8 +45,8 @@
+ // have this class.
+ #ifdef QTOPIA_INTERNAL_FSLP
+ LnkProperties( AppLnk* lnk, QWidget* parent = 0 );
+- ~LnkProperties();
+ #endif
++ ~LnkProperties();
+
+ void done(int);
+ private slots:
diff --git a/recipes/libqpe/libqpe-opie_1.2.4.bb b/recipes/libqpe/libqpe-opie_1.2.4.bb
index 5c1690ec12..bb154d013f 100644
--- a/recipes/libqpe/libqpe-opie_1.2.4.bb
+++ b/recipes/libqpe/libqpe-opie_1.2.4.bb
@@ -1,6 +1,6 @@
require ${PN}.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/library \
@@ -8,5 +8,6 @@ SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/library \
file://unbreak-logging.patch;patch=1 \
file://citytime-path-2.patch;patch=1 \
file://no-include-pro.patch;patch=1 \
+ file://unhide_lnkproperties_destructor.patch;patch=1 \
"