summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/liboil
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
commit972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch)
tree97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-support/liboil
downloadpoky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-support/liboil')
-rw-r--r--meta/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch41
-rw-r--r--meta/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch19
-rw-r--r--meta/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch222
-rw-r--r--meta/recipes-support/liboil/liboil-0.3.17/no-tests.patch24
-rw-r--r--meta/recipes-support/liboil/liboil_0.3.17.bb27
5 files changed, 333 insertions, 0 deletions
diff --git a/meta/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch b/meta/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch
new file mode 100644
index 0000000000..aff1cb1842
--- /dev/null
+++ b/meta/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch
@@ -0,0 +1,41 @@
1Upstream-Status: Inappropriate [configuration]
2
3From 1921498bcc06408e8b051a3a9e9ce4182998f748 Mon Sep 17 00:00:00 2001
4From: David Schleef <ds@schleef.org>
5Date: Fri, 8 Apr 2011 10:05:49 -0700
6Subject: [PATCH 10/10] Fix --enable-vfp flag
7
8Patch from Christophe Lyon, fixes #36084.
9---
10 configure.ac | 4 ++--
11 liboil/arm/Makefile.am | 1 +
12 2 files changed, 3 insertions(+), 2 deletions(-)
13
14diff --git a/configure.ac b/configure.ac
15index 98c81fb..407d88c 100644
16--- a/configure.ac
17+++ b/configure.ac
18@@ -188,8 +188,8 @@ fi
19 AC_ARG_ENABLE(vfp,
20 AC_HELP_STRING([--enable-vfp],[compile with Vector Floating-point unit support]),
21 enable_vfp=$enableval,enable_vfp=yes)
22-if test "x$enable-vfp" = xyes -a x$HAVE_GCC_ASM = xyes -a x$HAVE_ARM = xyes; then
23- AS_COMPILER_FLAG(["-Wa,-mfpu=vfp"],
24+if test "x$enable_vfp" = xyes -a x$HAVE_GCC_ASM = xyes -a x$HAVE_ARM = xyes; then
25+ AS_COMPILER_FLAG(["-mfpu=vfp"],
26 [VFP_CFLAGS="$VFP_CFLAGS -mfpu=vfp"],
27 true)
28 #AS_COMPILER_FLAG(["-Wa,-mfloat-abi=softfp"],
29diff --git a/liboil/arm/Makefile.am b/liboil/arm/Makefile.am
30index ead08ed..cd8d9fa 100644
31--- a/liboil/arm/Makefile.am
32+++ b/liboil/arm/Makefile.am
33@@ -6,4 +6,5 @@ libarm_la_SOURCES = \
34 math_vfp_asm.S
35
36 libarm_la_CFLAGS = $(LIBOIL_CFLAGS) $(VFP_CFLAGS)
37+libarm_la_CCASFLAGS = $(LIBOIL_CFLAGS) $(VFP_CFLAGS)
38
39--
401.7.6
41
diff --git a/meta/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch b/meta/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch
new file mode 100644
index 0000000000..c8e3c1f721
--- /dev/null
+++ b/meta/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch
@@ -0,0 +1,19 @@
1Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=31358
2
3configure: fix whitelisting of x86_64 unaligned memory access
4
5Fix typo in whitelist so cross-compile works for x86_64.
6
7Upstream-Status: Inappropriate [configuration]
8
9--- liboil-0.3.17/m4/as-unaligned-access.m4.orig 2009-02-26 14:40:08.000000000 -0500
10+++ liboil-0.3.17/m4/as-unaligned-access.m4 2010-11-03 12:19:55.000000000 -0400
11@@ -9,7 +9,7 @@
12 _AS_ECHO_N([(blacklisted) ])
13 as_cv_unaligned_access=no
14 ;;
15- i?86*|x86_64|amd64|powerpc*|m68k*|cris*)
16+ i?86*|x86_64*|amd64*|powerpc*|m68k*|cris*)
17 _AS_ECHO_N([(whitelisted) ])
18 as_cv_unaligned_access=yes
19 ;;
diff --git a/meta/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch b/meta/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch
new file mode 100644
index 0000000000..473380e9fc
--- /dev/null
+++ b/meta/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch
@@ -0,0 +1,222 @@
1Upstream-Status: Pending
2
3Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
4
5Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
62011/12/01
7
8
9Index: liboil-0.3.17/liboil/amd64/wavelet.c
10===================================================================
11--- liboil-0.3.17.orig/liboil/amd64/wavelet.c
12+++ liboil-0.3.17/liboil/amd64/wavelet.c
13@@ -21,14 +21,14 @@ deinterleave2_asm (int16_t *d1, int16_t
14 asm volatile ("\n"
15 " sub $2, %%rcx\n"
16 "1:\n"
17- " movw (%1,%%rcx,4), %%ax\n"
18- " movw %%ax, (%0,%%rcx,2)\n"
19- " movw 2(%1,%%rcx,4), %%ax\n"
20- " movw %%ax, (%2,%%rcx,2)\n"
21- " movw 4(%1,%%rcx,4), %%ax\n"
22- " movw %%ax, 2(%0,%%rcx,2)\n"
23- " movw 6(%1,%%rcx,4), %%ax\n"
24- " movw %%ax, 2(%2,%%rcx,2)\n"
25+ " movw (%q1,%%rcx,4), %%ax\n"
26+ " movw %%ax, (%q0,%%rcx,2)\n"
27+ " movw 2(%q1,%%rcx,4), %%ax\n"
28+ " movw %%ax, (%q2,%%rcx,2)\n"
29+ " movw 4(%q1,%%rcx,4), %%ax\n"
30+ " movw %%ax, 2(%q0,%%rcx,2)\n"
31+ " movw 6(%q1,%%rcx,4), %%ax\n"
32+ " movw %%ax, 2(%q2,%%rcx,2)\n"
33 " sub $2, %%rcx\n"
34 " jge 1b\n"
35 : "+r" (d1), "+r" (s_2xn), "+r" (d2), "+c" (n)
36@@ -53,20 +53,20 @@ deinterleave2_mmx (int16_t *d1, int16_t
37 asm volatile ("\n"
38 " xor %%rcx, %%rcx\n"
39 "1:\n"
40- " movq (%1,%%rcx,4), %%mm0\n"
41- " movq 8(%1,%%rcx,4), %%mm1\n"
42+ " movq (%q1,%%rcx,4), %%mm0\n"
43+ " movq 8(%q1,%%rcx,4), %%mm1\n"
44 " pslld $16, %%mm0\n"
45 " pslld $16, %%mm1\n"
46 " psrad $16, %%mm0\n"
47 " psrad $16, %%mm1\n"
48 " packssdw %%mm1, %%mm0\n"
49- " movq %%mm0, (%0,%%rcx,2)\n"
50- " movq (%1,%%rcx,4), %%mm0\n"
51- " movq 8(%1,%%rcx,4), %%mm1\n"
52+ " movq %%mm0, (%q0,%%rcx,2)\n"
53+ " movq (%q1,%%rcx,4), %%mm0\n"
54+ " movq 8(%q1,%%rcx,4), %%mm1\n"
55 " psrad $16, %%mm0\n"
56 " psrad $16, %%mm1\n"
57 " packssdw %%mm1, %%mm0\n"
58- " movq %%mm0, (%2,%%rcx,2)\n"
59+ " movq %%mm0, (%q2,%%rcx,2)\n"
60 " add $4, %%rcx\n"
61 " cmp %3, %%ecx\n"
62 " jl 1b\n"
63@@ -93,10 +93,10 @@ deinterleave2_mmx_2 (int16_t *d1, int16_
64 asm volatile ("\n"
65 " xor %%rcx, %%rcx\n"
66 "1:\n"
67- " pshufw $0xd8, (%1,%%rcx,4), %%mm0\n"
68- " movd %%mm0, (%0,%%rcx,2)\n"
69- " pshufw $0x8d, (%1,%%rcx,4), %%mm0\n"
70- " movd %%mm0, (%2,%%rcx,2)\n"
71+ " pshufw $0xd8, (%q1,%%rcx,4), %%mm0\n"
72+ " movd %%mm0, (%q0,%%rcx,2)\n"
73+ " pshufw $0x8d, (%q1,%%rcx,4), %%mm0\n"
74+ " movd %%mm0, (%q2,%%rcx,2)\n"
75 " add $2, %%rcx\n"
76 " cmp %3, %%ecx\n"
77 " jl 1b\n"
78@@ -123,16 +123,16 @@ deinterleave2_mmx_3 (int16_t *d1, int16_
79 asm volatile ("\n"
80 " xor %%rcx, %%rcx\n"
81 "1:\n"
82- " movq (%1,%%rcx,4), %%mm1\n"
83- " movq (%1,%%rcx,4), %%mm2\n"
84- " movq 8(%1,%%rcx,4), %%mm0\n"
85+ " movq (%q1,%%rcx,4), %%mm1\n"
86+ " movq (%q1,%%rcx,4), %%mm2\n"
87+ " movq 8(%q1,%%rcx,4), %%mm0\n"
88 " punpcklwd %%mm0, %%mm1\n"
89 " punpckhwd %%mm0, %%mm2\n"
90 " movq %%mm1, %%mm0\n"
91 " punpcklwd %%mm2, %%mm0\n"
92 " punpckhwd %%mm2, %%mm1\n"
93- " movq %%mm0, (%0,%%rcx,2)\n"
94- " movq %%mm1, (%2,%%rcx,2)\n"
95+ " movq %%mm0, (%q0,%%rcx,2)\n"
96+ " movq %%mm1, (%q2,%%rcx,2)\n"
97 " add $4, %%rcx\n"
98 " cmp %3, %%ecx\n"
99 " jl 1b\n"
100@@ -159,26 +159,26 @@ deinterleave2_mmx_4 (int16_t *d1, int16_
101 asm volatile ("\n"
102 " xor %%rcx, %%rcx\n"
103 "1:\n"
104- " movq (%1,%%rcx,4), %%mm1\n"
105+ " movq (%q1,%%rcx,4), %%mm1\n"
106 " movq %%mm1, %%mm2\n"
107- " movq 8(%1,%%rcx,4), %%mm0\n"
108- " movq 16(%1,%%rcx,4), %%mm5\n"
109+ " movq 8(%q1,%%rcx,4), %%mm0\n"
110+ " movq 16(%q1,%%rcx,4), %%mm5\n"
111 " punpcklwd %%mm0, %%mm1\n"
112 " movq %%mm5, %%mm6\n"
113 " punpckhwd %%mm0, %%mm2\n"
114- " movq 24(%1,%%rcx,4), %%mm4\n"
115+ " movq 24(%q1,%%rcx,4), %%mm4\n"
116 " movq %%mm1, %%mm0\n"
117 " punpcklwd %%mm4, %%mm5\n"
118 " punpcklwd %%mm2, %%mm0\n"
119 " punpckhwd %%mm4, %%mm6\n"
120 " punpckhwd %%mm2, %%mm1\n"
121 " movq %%mm5, %%mm4\n"
122- " movq %%mm0, (%0,%%rcx,2)\n"
123+ " movq %%mm0, (%q0,%%rcx,2)\n"
124 " punpcklwd %%mm6, %%mm4\n"
125- " movq %%mm1, (%2,%%rcx,2)\n"
126+ " movq %%mm1, (%q2,%%rcx,2)\n"
127 " punpckhwd %%mm6, %%mm5\n"
128- " movq %%mm4, 8(%0,%%rcx,2)\n"
129- " movq %%mm5, 8(%2,%%rcx,2)\n"
130+ " movq %%mm4, 8(%q0,%%rcx,2)\n"
131+ " movq %%mm5, 8(%q2,%%rcx,2)\n"
132 " add $8, %%rcx\n"
133 " cmp %3, %%ecx\n"
134 " jl 1b\n"
135@@ -252,13 +252,13 @@ interleave2_mmx (int16_t *d_2xn, int16_t
136 asm volatile ("\n"
137 " xor %%rcx, %%rcx\n"
138 "1:\n"
139- " movq (%1,%%rcx,2), %%mm0\n"
140- " movq (%2,%%rcx,2), %%mm1\n"
141+ " movq (%q1,%%rcx,2), %%mm0\n"
142+ " movq (%q2,%%rcx,2), %%mm1\n"
143 " movq %%mm0, %%mm2\n"
144 " punpckhwd %%mm1, %%mm0\n"
145 " punpcklwd %%mm1, %%mm2\n"
146- " movq %%mm2, (%0,%%rcx,4)\n"
147- " movq %%mm0, 8(%0,%%rcx,4)\n"
148+ " movq %%mm2, (%q0,%%rcx,4)\n"
149+ " movq %%mm0, 8(%q0,%%rcx,4)\n"
150 " add $4, %%rcx\n"
151 " cmp %3, %%ecx\n"
152 " jl 1b\n"
153@@ -285,12 +285,12 @@ lift_add_shift1_mmx (int16_t *d, int16_t
154 asm volatile ("\n"
155 " xor %%rcx, %%rcx\n"
156 "1:\n"
157- " movq (%2,%%rcx,2), %%mm1\n"
158- " movq (%3,%%rcx,2), %%mm2\n"
159+ " movq (%q2,%%rcx,2), %%mm1\n"
160+ " movq (%q3,%%rcx,2), %%mm2\n"
161 " paddw %%mm2, %%mm1\n"
162 " psraw $1, %%mm1\n"
163- " paddw (%1,%%rcx,2), %%mm1\n"
164- " movq %%mm1, (%0,%%rcx,2)\n"
165+ " paddw (%q1,%%rcx,2), %%mm1\n"
166+ " movq %%mm1, (%q0,%%rcx,2)\n"
167 " add $4, %%rcx\n"
168 " cmp %4, %%ecx\n"
169 " jl 1b\n"
170@@ -317,13 +317,13 @@ lift_sub_shift1_mmx (int16_t *d, int16_t
171 asm volatile ("\n"
172 " xor %%rcx, %%rcx\n"
173 "1:\n"
174- " movq (%2,%%rcx,2), %%mm1\n"
175- " movq (%3,%%rcx,2), %%mm2\n"
176- " movq (%1,%%rcx,2), %%mm0\n"
177+ " movq (%q2,%%rcx,2), %%mm1\n"
178+ " movq (%q3,%%rcx,2), %%mm2\n"
179+ " movq (%q1,%%rcx,2), %%mm0\n"
180 " paddw %%mm2, %%mm1\n"
181 " psraw $1, %%mm1\n"
182 " psubw %%mm1, %%mm0\n"
183- " movq %%mm0, (%0,%%rcx,2)\n"
184+ " movq %%mm0, (%q0,%%rcx,2)\n"
185 " add $4, %%rcx\n"
186 " cmp %4, %%ecx\n"
187 " jl 1b\n"
188@@ -350,12 +350,12 @@ lift_add_shift2_mmx (int16_t *d, int16_t
189 asm volatile ("\n"
190 " xor %%rcx, %%rcx\n"
191 "1:\n"
192- " movq (%2,%%rcx,2), %%mm1\n"
193- " movq (%3,%%rcx,2), %%mm2\n"
194+ " movq (%q2,%%rcx,2), %%mm1\n"
195+ " movq (%q3,%%rcx,2), %%mm2\n"
196 " paddw %%mm2, %%mm1\n"
197 " psraw $2, %%mm1\n"
198- " paddw (%1,%%rcx,2), %%mm1\n"
199- " movq %%mm1, (%0,%%rcx,2)\n"
200+ " paddw (%q1,%%rcx,2), %%mm1\n"
201+ " movq %%mm1, (%q0,%%rcx,2)\n"
202 " add $4, %%rcx\n"
203 " cmp %4, %%ecx\n"
204 " jl 1b\n"
205@@ -382,13 +382,13 @@ lift_sub_shift2_mmx (int16_t *d, int16_t
206 asm volatile ("\n"
207 " xor %%rcx, %%rcx\n"
208 "1:\n"
209- " movq (%2,%%rcx,2), %%mm1\n"
210- " movq (%3,%%rcx,2), %%mm2\n"
211- " movq (%1,%%rcx,2), %%mm0\n"
212+ " movq (%q2,%%rcx,2), %%mm1\n"
213+ " movq (%q3,%%rcx,2), %%mm2\n"
214+ " movq (%q1,%%rcx,2), %%mm0\n"
215 " paddw %%mm2, %%mm1\n"
216 " psraw $2, %%mm1\n"
217 " psubw %%mm1, %%mm0\n"
218- " movq %%mm0, (%0,%%rcx,2)\n"
219+ " movq %%mm0, (%q0,%%rcx,2)\n"
220 " add $4, %%rcx\n"
221 " cmp %4, %%ecx\n"
222 " jl 1b\n"
diff --git a/meta/recipes-support/liboil/liboil-0.3.17/no-tests.patch b/meta/recipes-support/liboil/liboil-0.3.17/no-tests.patch
new file mode 100644
index 0000000000..892d441310
--- /dev/null
+++ b/meta/recipes-support/liboil/liboil-0.3.17/no-tests.patch
@@ -0,0 +1,24 @@
1Upstream-Status: Inappropriate [disable feature]
2
3--- liboil-0.3.9/liboil/liboilfunction.c.old 2006-09-18 13:03:20.000000000 +0100
4+++ liboil-0.3.9/liboil/liboilfunction.c 2006-09-18 13:04:10.000000000 +0100
5@@ -345,7 +345,9 @@
6 return;
7 }
8
9- test = oil_test_new (klass);
10+ klass->chosen_impl = klass->reference_impl;
11+ klass->func = klass->reference_impl->func;
12+/* test = oil_test_new (klass);
13 if (test == NULL) {
14 OIL_ERROR ("failed to test function class %s", klass->name);
15 return;
16@@ -385,7 +387,7 @@
17 klass->chosen_impl = min_impl;
18 klass->func = min_impl->func;
19
20- oil_test_free (test);
21+ oil_test_free (test);*/
22 }
23
24 static void
diff --git a/meta/recipes-support/liboil/liboil_0.3.17.bb b/meta/recipes-support/liboil/liboil_0.3.17.bb
new file mode 100644
index 0000000000..03b7785215
--- /dev/null
+++ b/meta/recipes-support/liboil/liboil_0.3.17.bb
@@ -0,0 +1,27 @@
1SUMMARY = "Library of simple functions optimized for various CPUs"
2HOMEPAGE = "http://liboil.freedesktop.org/"
3BUGTRACKER = "https://bugs.freedesktop.org/"
4
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://COPYING;md5=ad80780d9c5205d63481a0184e199a15 \
7 file://liboil/liboil.h;endline=28;md5=95c794a66b88800d949fed17e437d9fb \
8 file://liboil/liboilcpu.c;endline=28;md5=89da69a61d88eedcba066f42353fb75a \
9 file://examples/example1.c;endline=29;md5=9d4dad9fcbbdf0441ee063f8af5170c9 \
10 file://testsuite/trans.c;endline=29;md5=380ecd43121fe3dcc0d8d7e5984f283d"
11
12DEPENDS = "glib-2.0"
13PR = "r5"
14
15SRC_URI = "http://liboil.freedesktop.org/download/${BPN}-${PV}.tar.gz \
16 file://no-tests.patch \
17 file://fix-unaligned-whitelist.patch \
18 file://0001-Fix-enable-vfp-flag.patch \
19 file://liboil_fix_for_x32.patch \
20 "
21
22SRC_URI[md5sum] = "47dc734f82faeb2964d97771cfd2e701"
23SRC_URI[sha256sum] = "105f02079b0b50034c759db34b473ecb5704ffa20a5486b60a8b7698128bfc69"
24
25inherit autotools pkgconfig
26
27ARM_INSTRUCTION_SET = "arm"