Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 104265 - -fomit-frame-pointer in CFLAGS breaks cairo-1.0.0
Summary: -fomit-frame-pointer in CFLAGS breaks cairo-1.0.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Leonardo Boshell (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-30 07:28 UTC by Duncan Coutts (RETIRED)
Modified: 2005-08-31 00:58 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
cairo-1.0.0-omit_frame_pointer_fix.patch (cairo-1.0.0-omit_frame_pointer_fix.patch,2.02 KB, patch)
2005-08-30 08:44 UTC, Leonardo Boshell (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan Coutts (RETIRED) gentoo-dev 2005-08-30 07:28:01 UTC
Compiling cairo-1.0.0 with -fomit-frame-pointer in the CFLAGS triggers a bug in
the version of libpixman (which is shipped with cairo).

This bug has been fixed in the CVS version of cairo. So the soultion is either
to filter -fomit-frame-pointer from the users CFLAGS or to backport the
appropriate patch.

Quoting from #cairo:

<dcoutts> hmm, i'm now getting a more odd bug:
<dcoutts> Program received signal SIGSEGV, Segmentation fault.
<dcoutts> 0xb7f9258d in _cairo_pixman_have_mmx () from /usr/lib/libcairo.so.2
<dcoutts> this is when calling cairo_stroke() after doing a few line_to() ops
<dcoutts> very odd
<otaylor> dcoutts: Any strange compilation options?
<otaylor> dcoutts: CVS or 1.0.0?
<dcoutts> 1.0.0
<otaylor> dcoutts: there were bugs fixed with that function and
-fomit-frame-pointer recently
<dcoutts> ah
<dcoutts> so if I compiled using -fomit-frame-pointer that might be the cause?
<otaylor> dcoutts: it would be the cause
<dcoutts> ok, let me re-emerge...

And indeed re-emerging without -fomit-frame-pointer made the crash go away.
Comment 1 Leonardo Boshell (RETIRED) gentoo-dev 2005-08-30 08:44:25 UTC
Created attachment 67279 [details, diff]
cairo-1.0.0-omit_frame_pointer_fix.patch

I'd rather go with the patch alternative. Could you confirm if this backported
patch works for you?

If not, please paste the backtrace after emerging cairo with FEATURES=nostrip.

Thanks.
Comment 2 Duncan Coutts (RETIRED) gentoo-dev 2005-08-30 09:32:42 UTC
Yes that patch seems to cure the problem.

I rebuilt with and without the patch just to check. It works with the patch and
segfaults in /usr/lib/libcairo.so.2 without the patch.

Good job Leonardo :-)
Comment 3 Leonardo Boshell (RETIRED) gentoo-dev 2005-08-31 00:58:29 UTC
Good, cairo-1.0.0-r1 includes the patch.

Thanks for the information.