]> code.ossystems Code Review - openembedded-core.git/commitdiff
Fix the matchbox-panel seg fault on netbook & emenlow
authorZhai Edwin <edwin.zhai@intel.com>
Fri, 10 Sep 2010 01:23:53 +0000 (09:23 +0800)
committerRichard Purdie <rpurdie@linux.intel.com>
Fri, 10 Sep 2010 10:47:21 +0000 (11:47 +0100)
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>
meta/recipes-gnome/gtk+/gtk+_2.20.1.bb

index 00de6950a319dc4a95c56844a5adec831eba5669..7bb79bf0c497e69302896a602d227d71a832f8dd 100644 (file)
@@ -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