Cairo always uses LTO, when it detects compiler support. LTO is buggy in many/all versions of GCC and shouldn't be enabled by default.
Cairo 1.12.16 is out, gcc 4.8.2 and 4.9. Is this still issue?
It seems to work fine. Compilation would probably fail if Cairo would be affected by GCC bug.
A number of distros ship cairo with patches to disable lto, so presumably this issue is still relevant. Gentoo includes a patch that adds a --disable-lto option. We should pull that upstream to give everyone a consistent way to work around this.
commit 67a846b14b647f139e00b6c306f30b8dd155efd0 Author: Bryce Harrington <b.harrington@samsung.com> Date: Tue Jul 8 13:14:20 2014 -0700 configure.ac: Add a --disable-lto configure option Link-Time Optimization seems to be stable enough with gcc 4.8 and 4.9, but has proven to be an issue in the past for many cairo users (webkit, efl, ubuntu, opensuse, gentoo, arch...) who carry patches to disable it. Gentoo's patch[1] adds a --disable-lto option to leave it enabled by default but give users the ability to work around lto related build problems (c.f. fdo #77060). Patch appears to have been authored by Alexandre Rostovtsev[2]. 1: sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/cairo/files/cairo-1.12.16-lto-optional.patch 2: https://bugs.gentoo.org/show_bug.cgi?id=509552 Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=60852 Signed-off-by: Bryce Harrington <b.harrington@samsung.com> Reviewed-by: Uli Schlachter <psychon@znc.in>
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.