diff options
author | Martin Jansa <martin.jansa@gmail.com> | 2014-08-03 18:59:26 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-08-11 12:06:54 +0100 |
commit | b028947d678451eee3a82d92fda684a3514988f2 (patch) | |
tree | a706581fee67a76a6acbdb6cffeffc3e3cbc9ce4 /meta/recipes-graphics | |
parent | f5847d4f24ecb2ddcbba7266fbf75b8513d08a78 (diff) | |
download | poky-b028947d678451eee3a82d92fda684a3514988f2.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: a7b5605fc8ac5b56f7a9d1587efc5c50d98378b8)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics')
-rw-r--r-- | meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch | 60 | ||||
-rw-r--r-- | meta/recipes-graphics/cairo/cairo_1.12.16.bb | 4 |
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 @@ | |||
1 | From bdf15c249130568093676ed3b6c91f6f5e06f089 Mon Sep 17 00:00:00 2001 | ||
2 | From: Uli Schlachter <psychon@znc.in> | ||
3 | Date: Mon, 21 Jul 2014 17:10:16 +0200 | ||
4 | Subject: [PATCH] Remove LTO support | ||
5 | |||
6 | This just never worked too well and caused too many issues. I don't think anyone | ||
7 | will miss this. | ||
8 | |||
9 | As mentioned in the below bug report, proper LTO support also requires using | ||
10 | special versions of ranlib, nm and ar which support the LTO object files. | ||
11 | Otherwise, calling the normal ranlib on an .a library breaks the list of | ||
12 | exported symbols and thus completely breaks the static library. | ||
13 | |||
14 | This (partly) reverts the following commits: | ||
15 | |||
16 | c3645d97ebd24c6f7ad850785d585aebc706a11c configure.ac: Add a --disable-lto configure option | ||
17 | d486ea30f1a58640a1178de74f705a73845b1cda configure: Conditionally include -flto | ||
18 | 0870c6fb5b39dcc04fa376123848adde2d06d2ce gcc-4.5 warnings and optimisation flags. | ||
19 | |||
20 | (The last commit is the one which brought us -flto in the first place even | ||
21 | though it doesn't talk about this. It's also the one which is only reverted | ||
22 | partly.) | ||
23 | |||
24 | Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77060 | ||
25 | CC: Chris Wilson <chris@chris-wilson.co.uk> | ||
26 | Signed-off-by: Uli Schlachter <psychon@znc.in> | ||
27 | Reviewed-by: Bryce Harrington <b.harrington@samsung.com> | ||
28 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
29 | |||
30 | Upstream-Status: Backport (will be in 1.14*) | ||
31 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
32 | --- | ||
33 | build/configure.ac.warnings | 11 ----------- | ||
34 | 1 file changed, 11 deletions(-) | ||
35 | |||
36 | diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings | ||
37 | index 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 | -- | ||
59 | 2.0.2 | ||
60 | |||
diff --git a/meta/recipes-graphics/cairo/cairo_1.12.16.bb b/meta/recipes-graphics/cairo/cairo_1.12.16.bb index 246bd0be64..42f7682607 100644 --- a/meta/recipes-graphics/cairo/cairo_1.12.16.bb +++ b/meta/recipes-graphics/cairo/cairo_1.12.16.bb | |||
@@ -2,7 +2,9 @@ require cairo.inc | |||
2 | 2 | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" | 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" |
4 | 4 | ||
5 | SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz" | 5 | SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ |
6 | file://0001-Remove-LTO-support.patch \ | ||
7 | " | ||
6 | 8 | ||
7 | SRC_URI[md5sum] = "a1304edcdc99282f478b995ee5f8f854" | 9 | SRC_URI[md5sum] = "a1304edcdc99282f478b995ee5f8f854" |
8 | SRC_URI[sha256sum] = "2505959eb3f1de3e1841023b61585bfd35684b9733c7b6a3643f4f4cbde6d846" | 10 | SRC_URI[sha256sum] = "2505959eb3f1de3e1841023b61585bfd35684b9733c7b6a3643f4f4cbde6d846" |