Bug 88867

Summary: cairo 1.12.18 configure testfails with -flto
Product: cairo Reporter: David Heidelberg (okias) <david>
Component: generalAssignee: Chris Wilson <chris>
Status: RESOLVED WONTFIX QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium CC: main.haarp
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description David Heidelberg (okias) 2015-01-29 14:54:18 UTC
Compiling 32bit cairo version with -m32.

At least this test need get -fno-lto to work propertly. Or it is gcc bug?

System: Gentoo
CC: Gcc 4.9.2


configure:19462: x86_64-pc-linux-gnu-gcc -m32 -c -O2 -pipe -flto -O3 -march=native -fno-stack-protector -pipe  conftest.c >&5
configure:19462: $? = 0
configure:19480: x86_64-pc-linux-gnu-gcc -m32 -c -O2 -pipe -flto -O3 -march=native -fno-stack-protector -pipe  conftest.c >&5
conftest.c: In function 'main':
conftest.c:37:4: error: unknown type name 'not'
    not big endian
    ^
conftest.c:37:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'endian'
    not big endian
            ^
configure:19480: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "cairo"
| #define PACKAGE_TARNAME "cairo"
| #define PACKAGE_VERSION "1.12.18"
| #define PACKAGE_STRING "cairo 1.12.18"
| #define PACKAGE_BUGREPORT "http://bugs.freedesktop.org/enter_bug.cgi?product=cairo"
| #define PACKAGE_URL "http://cairographics.org/"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define _FILE_OFFSET_BITS 64
| #define WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
| /* end confdefs.h.  */
| #include <sys/types.h>
|               #include <sys/param.h>
|
| int
| main ()
| {
| #if BYTE_ORDER != BIG_ENDIAN
|                not big endian
|               #endif
|
|   ;
|   return 0;
| }
configure:19608: result: no
configure:19626: checking whether float word ordering is bigendian
configure:19653: x86_64-pc-linux-gnu-gcc -m32 -c -O2 -pipe -flto -O3 -march=native -fno-stack-protector -pipe  conftest.c >&5
configure:19653: $? = 0
configure:19671: result: unknown
configure:19682: error:

Unknown float word ordering. You need to manually preset
ax_cv_c_float_words_bigendian=no (or yes) according to your system.
Comment 1 Bryce Harrington 2015-03-07 22:13:42 UTC
We ended up removing LTO support entirely for 1.14.0 (see c7ff9bb3).

We left the option there for 1.12 in case anyone is using it successfully but have no further plans to do development on it.

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.