summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAlexey Brodkin <alexey.brodkin@synopsys.com>2018-10-18 12:12:03 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-10-18 23:26:35 +0100
commit06aa8ccadee6e191f3154a2afd8e4182c32ef211 (patch)
tree3a98149d972710c10ad3cba9208ffcda50499101 /meta
parent83ee5c7450ce556ef154c25d455afa963c3954d2 (diff)
downloadpoky-06aa8ccadee6e191f3154a2afd8e4182c32ef211.tar.gz
mpfr: Fix compilation for ARC
MPFR has a couple of things implemented in assembly and in case of ARC those parts were written long ago when ARC GCC port was not yet upstreamed. On upstreaming of GCC some constraints were changed and so we can no longer build MPFR for ARC with up-to-date tools seeing something like that: | In file included from ../../mpfr-4.0.1/src/mpfr-impl.h:112, | from ../../mpfr-4.0.1/src/mul.c:24: | ../../mpfr-4.0.1/src/mul.c: In function 'mpfr_mul': | ../../mpfr-4.0.1/src/mpfr-longlong.h:415:3: error: impossible constraint in 'asm' | __asm__ ("add.f\t%1, %4, %5\n\tadc\t%0, %2, %3" \ | ^~~~~~~ (From OE-Core rev: 887a062ca139014ae6dfd1919e0ff9a5ef4db35e) Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch45
-rw-r--r--meta/recipes-support/mpfr/mpfr_4.0.1.bb3
2 files changed, 47 insertions, 1 deletions
diff --git a/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch b/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch
new file mode 100644
index 0000000000..59d1b0db67
--- /dev/null
+++ b/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch
@@ -0,0 +1,45 @@
1mpfr-longlong.h: Fix obsolete ARC asm constraints
2
3This patch replaces obsolete ARC "J" asm constraint with
4up-to-date "Cal" constraint.
5
6"J" constraint only existed in pre-upstream GCC port for ARC.
7In current upstream port "Cal" constraint is used which leads
8to compile-time error.
9
10Proposed fix is known to work in Buildroot, Crosstool-NG etc.
11
12[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=09cb6a17e71bd40d2fbfaf82a1502fc210e33c87
13
14Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
15Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
16Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
17
18Upstream-Status: Backport [https://gforge.inria.fr/scm/viewvc.php/mpfr?view=revision&revision=13251]
19---
20Index: src/mpfr-longlong.h
21===================================================================
22--- a/src/mpfr-longlong.h (revision 10963)
23+++ b/src/mpfr-longlong.h (working copy)
24@@ -416,17 +416,17 @@
25 : "=r" (sh), \
26 "=&r" (sl) \
27 : "r" ((USItype) (ah)), \
28- "rIJ" ((USItype) (bh)), \
29+ "rICal" ((USItype) (bh)), \
30 "%r" ((USItype) (al)), \
31- "rIJ" ((USItype) (bl)))
32+ "rICal" ((USItype) (bl)))
33 #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
34 __asm__ ("sub.f\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
35 : "=r" (sh), \
36 "=&r" (sl) \
37 : "r" ((USItype) (ah)), \
38- "rIJ" ((USItype) (bh)), \
39+ "rICal" ((USItype) (bh)), \
40 "r" ((USItype) (al)), \
41- "rIJ" ((USItype) (bl)))
42+ "rICal" ((USItype) (bl)))
43 #endif
44
45 #if defined (__arm__) && (defined (__thumb2__) || !defined (__thumb__)) \
diff --git a/meta/recipes-support/mpfr/mpfr_4.0.1.bb b/meta/recipes-support/mpfr/mpfr_4.0.1.bb
index f85a846e33..2eee76a357 100644
--- a/meta/recipes-support/mpfr/mpfr_4.0.1.bb
+++ b/meta/recipes-support/mpfr/mpfr_4.0.1.bb
@@ -9,7 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
9 file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6" 9 file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
10DEPENDS = "gmp autoconf-archive" 10DEPENDS = "gmp autoconf-archive"
11 11
12SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz" 12SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz \
13 file://0001-Fix-obsolete-ARC-asm-constraints.patch"
13SRC_URI[md5sum] = "b8dd19bd9bb1ec8831a6a582a7308073" 14SRC_URI[md5sum] = "b8dd19bd9bb1ec8831a6a582a7308073"
14SRC_URI[sha256sum] = "67874a60826303ee2fb6affc6dc0ddd3e749e9bfcb4c8655e3953d0458a6e16e" 15SRC_URI[sha256sum] = "67874a60826303ee2fb6affc6dc0ddd3e749e9bfcb4c8655e3953d0458a6e16e"
15 16