diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2016-01-17 15:40:00 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2016-01-27 23:49:19 +0100 |
commit | 802123c6248a7a4712b564897cfc5eb94173e7c6 (patch) | |
tree | ae9052da8c123db272c8c18761c891c9278f3954 /package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch | |
parent | d20a907fb00254b5b660272790a00d73bbcdbfee (diff) | |
download | buildroot-802123c6248a7a4712b564897cfc5eb94173e7c6.tar.gz buildroot-802123c6248a7a4712b564897cfc5eb94173e7c6.zip |
pixman: add patch to fix build issue with musl
pixman fails to build with musl because <float.h> is included in
assembler files, which doesn't work with the <float.h> provided by
musl. This commit fixes that by patching pixman (patch submitted
upstream).
Reported-by: Eial Czerwacki <eial@scalemp.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch')
-rw-r--r-- | package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch b/package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch new file mode 100644 index 0000000000..455cebb265 --- /dev/null +++ b/package/pixman/0002-pixman-private-include-float.h-only-in-C-code.patch @@ -0,0 +1,46 @@ +From 2a5b33fe5cb921993573392afac19185e224b49a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 17 Jan 2016 14:14:28 +0100 +Subject: [PATCH] pixman-private: include <float.h> only in C code + +<float.h> is included unconditionally by pixman-private.h, which in +turn gets included by assembler files. Unfortunately, with certain C +libraries (like the musl C library), <float.h> cannot be included in +assembler files: + + CCLD libpixman-arm-simd.la +/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h: Assembler messages: +/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h:8: Error: bad instruction `int __flt_rounds(void)' +/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h: Assembler messages: +/home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h:8: Error: bad instruction `int __flt_rounds(void)' + +It turns out however that <float.h> is not needed by assembly files, +so we move its inclusion within the #ifndef __ASSEMBLER__ condition, +which solves the problem. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + pixman/pixman-private.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h +index 73108a0..73a5414 100644 +--- a/pixman/pixman-private.h ++++ b/pixman/pixman-private.h +@@ -1,5 +1,3 @@ +-#include <float.h> +- + #ifndef PIXMAN_PRIVATE_H + #define PIXMAN_PRIVATE_H + +@@ -30,6 +28,7 @@ + #include <stdio.h> + #include <string.h> + #include <stddef.h> ++#include <float.h> + + #include "pixman-compiler.h" + +-- +2.6.4 + |