The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / cairo / 0005-fix-gcc-49-build.patch
diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/cairo/0005-fix-gcc-49-build.patch b/cirros-testvm/src-cirros/buildroot-2015.05/package/cairo/0005-fix-gcc-49-build.patch
new file mode 100644 (file)
index 0000000..112c9ea
--- /dev/null
@@ -0,0 +1,38 @@
+Fix build with gcc 4.9
+
+cairo fails to build with gcc 4.9 due to a bad interaction of cairo
+modules with the LTO mechanism. The suggested workaround is to pass
+-ffat-lto-objects. See
+https://bugs.freedesktop.org/show_bug.cgi?id=77060 for the upstream
+bug report, and
+https://bugs.archlinux.org/task/40313?project=1&openedfrom=-1+week for
+the ArchLinux bug report.
+
+This patch passes -ffat-lto-objects when gcc understands this option,
+in order to provide compatibility with gcc versions older than 4.8,
+which did not provide this option, but are anyway unaffected by the
+issue.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,6 +37,16 @@
+ m4_include(build/configure.ac.pthread)  dnl checks for pthreads
+ AC_CACHE_SAVE
++old_cflags=$CFLAGS
++CFLAGS=-ffat-lto-objects
++AC_MSG_CHECKING([whether CC supports -ffat-lto-objects])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
++    [AC_MSG_RESULT([yes])]
++    [LTO_CFLAGS=-ffat-lto-objects],
++    [AC_MSG_RESULT([no])]
++)
++CFLAGS="${old_CFLAGS} ${LTO_CFLAGS}"
++
+ dnl ===========================================================================
+ AC_CHECK_LIB(z, compress,