summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2014-08-03 18:59:39 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-11 12:06:56 +0100
commit60cdebd50c5de5a0656d056fe63094ca35c01e57 (patch)
tree32088e9b87139cbfd4b2e2fd9b7fb68d8d5a711a
parente72727500d678f6c94a8846079970593c177534a (diff)
downloadpoky-60cdebd50c5de5a0656d056fe63094ca35c01e57.tar.gz
cairo: explicitly disable LTO support by backporting patch which removes it
* cairo-native was failing to build in gentoo with gcc-4.9 and LTO enabled, more details in upstream bug https://bugs.freedesktop.org/show_bug.cgi?id=77060 (From OE-Core rev: 7b5c0f7dae89c9b46ffeb31d98cbfe286b55dc13) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch60
-rw-r--r--meta/recipes-graphics/cairo/cairo_1.12.14.bb4
2 files changed, 63 insertions, 1 deletions
diff --git a/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch b/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch
new file mode 100644
index 0000000000..87297b25b4
--- /dev/null
+++ b/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch
@@ -0,0 +1,60 @@
1From bdf15c249130568093676ed3b6c91f6f5e06f089 Mon Sep 17 00:00:00 2001
2From: Uli Schlachter <psychon@znc.in>
3Date: Mon, 21 Jul 2014 17:10:16 +0200
4Subject: [PATCH] Remove LTO support
5
6This just never worked too well and caused too many issues. I don't think anyone
7will miss this.
8
9As mentioned in the below bug report, proper LTO support also requires using
10special versions of ranlib, nm and ar which support the LTO object files.
11Otherwise, calling the normal ranlib on an .a library breaks the list of
12exported symbols and thus completely breaks the static library.
13
14This (partly) reverts the following commits:
15
16c3645d97ebd24c6f7ad850785d585aebc706a11c configure.ac: Add a --disable-lto configure option
17d486ea30f1a58640a1178de74f705a73845b1cda configure: Conditionally include -flto
180870c6fb5b39dcc04fa376123848adde2d06d2ce gcc-4.5 warnings and optimisation flags.
19
20(The last commit is the one which brought us -flto in the first place even
21though it doesn't talk about this. It's also the one which is only reverted
22partly.)
23
24Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77060
25CC: Chris Wilson <chris@chris-wilson.co.uk>
26Signed-off-by: Uli Schlachter <psychon@znc.in>
27Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
28Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
29
30Upstream-Status: Backport (will be in 1.14*)
31Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
32---
33 build/configure.ac.warnings | 11 -----------
34 1 file changed, 11 deletions(-)
35
36diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings
37index f984eb2..2c4e34d 100644
38--- a/build/configure.ac.warnings
39+++ b/build/configure.ac.warnings
40@@ -35,17 +35,6 @@ MAYBE_WARN="$MAYBE_WARN -erroff=E_ENUM_TYPE_MISMATCH_ARG \
41
42 dnl We also abuse the warning-flag facility to enable other compiler
43 dnl options. Namely, the following:
44-
45-dnl -flto working really needs a test link, not just a compile
46-
47-safe_MAYBE_WARN="$MAYBE_WARN"
48-MAYBE_WARN="$MAYBE_WARN -flto"
49-AC_TRY_LINK([],[
50- int main(int argc, char **argv) { return 0; }
51-],[],[
52- MAYBE_WARN="$safe_MAYBE_WARN"
53-])
54-
55 MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
56
57 dnl Also to turn various gcc/glibc-specific preprocessor checks
58--
592.0.2
60
diff --git a/meta/recipes-graphics/cairo/cairo_1.12.14.bb b/meta/recipes-graphics/cairo/cairo_1.12.14.bb
index 40aa169abe..87b7656ea8 100644
--- a/meta/recipes-graphics/cairo/cairo_1.12.14.bb
+++ b/meta/recipes-graphics/cairo/cairo_1.12.14.bb
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
5PR = "r0" 5PR = "r0"
6 6
7SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ 7SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
8 file://png.patch" 8 file://0001-Remove-LTO-support.patch \
9 file://png.patch \
10"
9 11
10SRC_URI[md5sum] = "27b634113d0f52152d60ae8e2ec7daa7" 12SRC_URI[md5sum] = "27b634113d0f52152d60ae8e2ec7daa7"
11SRC_URI[sha256sum] = "96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13" 13SRC_URI[sha256sum] = "96d0d1e3f9b74d2ca3469ff187c5e5f25649b1ad35cf06f4f3a83847dff4ac13"