aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorZhai Edwin <edwin.zhai@intel.com>2010-09-10 09:23:53 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-10 11:47:21 +0100
commit3a530fb3a3c65dfba8f5e5d45b32ba29d7f20415 (patch)
tree2a63e018cec1fc5a8f79df4a82c515f994dd5c81 /meta
parentc4fb6982c0aec758e9a080c5a8435239d0262cf6 (diff)
downloadopenembedded-core-contrib-3a530fb3a3c65dfba8f5e5d45b32ba29d7f20415.tar.gz
openembedded-core-contrib-3a530fb3a3c65dfba8f5e5d45b32ba29d7f20415.tar.bz2
openembedded-core-contrib-3a530fb3a3c65dfba8f5e5d45b32ba29d7f20415.zip
Fix the matchbox-panel seg fault on netbook & emenlow
netbook & emenlow use "-march=core2"(in tune-atom.inc) instead of "=i586"(for qemux86), plus the "-fomit-frame-pointer" in default FULL_OPTIMIZATION, this cause strange seg fault when starting matchbox-panel. seg fault happened @ tmp_reset_bg (gtk+-2.20.1/gdk/x11/gdkwindow-x11.c), which is inline function extended inside _gdk_x11_window_tmp_unset_bg. When expanding GDK_DRAWABLE_XID(obj->bg_pixmap) with gcc 4.5.0 optimization, a function call is missing. Saving a local var to stack also disappeared, but still tried to restore it from stack, which cause seg fault after getting a worng value. This fix avoid "-fomit-frame-pointer" in gtk+ on netbook & emenlow. [BUGID #224] fixed by this. Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-gnome/gtk+/gtk+_2.20.1.bb4
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+_2.20.1.bb b/meta/recipes-gnome/gtk+/gtk+_2.20.1.bb
index 00de6950a3..7bb79bf0c4 100644
--- a/meta/recipes-gnome/gtk+/gtk+_2.20.1.bb
+++ b/meta/recipes-gnome/gtk+/gtk+_2.20.1.bb
@@ -34,6 +34,10 @@ LIBV = "2.10.0"
PACKAGES_DYNAMIC += "gdk-pixbuf-loader-* gtk-immodule-* gtk-printbackend-*"
+#-fomit-frame-pointer in default FULL_OPTIMIZATION will cause matchbox-panel segfault on netbook & emenlow
+FULL_OPTIMIZATION_emenlow = "-fexpensive-optimizations -frename-registers -O2 -ggdb -feliminate-unused-debug-types"
+FULL_OPTIMIZATION_netbook = "-fexpensive-optimizations -frename-registers -O2 -ggdb -feliminate-unused-debug-types"
+
python populate_packages_prepend () {
import os.path