[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/07: gnu: commencement: Use GMP 6.0.0a for bootstrapping.
From: |
Ludovic Courtès |
Subject: |
01/07: gnu: commencement: Use GMP 6.0.0a for bootstrapping. |
Date: |
Fri, 18 Dec 2015 23:02:58 +0000 |
civodul pushed a commit to branch core-updates
in repository guix.
commit 8309c3899aee9429df51eba4566c67d0cc27f68c
Author: Ludovic Courtès <address@hidden>
Date: Fri Dec 18 16:58:09 2015 +0100
gnu: commencement: Use GMP 6.0.0a for bootstrapping.
* gnu/packages/multiprecision.scm (gmp-6.0): New variable.
* gnu/packages/commencement.scm (gcc-boot0, gcc-final): Use it.
* gnu/packages/patches/gmp-arm-asm-nothumb.patch: New file, reinstated
from before e414a7d.
* gnu-system.am (dist_patch_DATA): Add it.
---
gnu-system.am | 1 +
gnu/packages/commencement.scm | 6 +++---
gnu/packages/multiprecision.scm | 18 ++++++++++++++++++
gnu/packages/patches/gmp-arm-asm-nothumb.patch | 21 +++++++++++++++++++++
4 files changed, 43 insertions(+), 3 deletions(-)
diff --git a/gnu-system.am b/gnu-system.am
index 0fff8de..0e53ce2 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -491,6 +491,7 @@ dist_patch_DATA =
\
gnu/packages/patches/glibc-locale-incompatibility.patch \
gnu/packages/patches/glibc-o-largefile.patch \
gnu/packages/patches/glibc-versioned-locpath.patch \
+ gnu/packages/patches/gmp-arm-asm-nothumb.patch \
gnu/packages/patches/gmp-faulty-test.patch \
gnu/packages/patches/gnucash-price-quotes-perl.patch \
gnu/packages/patches/gnutls-doc-fix.patch \
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 8aa32e8..eda0432 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -231,7 +231,7 @@
(package-full-name lib)
char-set:letter)
,(package-name lib)))
- (list gmp mpfr mpc))))
+ (list gmp-6.0 mpfr mpc))))
(alist-cons-after
'install 'symlink-libgcc_eh
(lambda* (#:key outputs #:allow-other-keys)
@@ -245,7 +245,7 @@
(symlink "libgcc.a" "libgcc_eh.a"))))
,phases))))))
- (inputs `(("gmp-source" ,(package-source gmp))
+ (inputs `(("gmp-source" ,(package-source gmp-6.0))
("mpfr-source" ,(package-source mpfr))
("mpc-source" ,(package-source mpc))
("binutils-cross" ,binutils-boot0)
@@ -636,7 +636,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a
\"address@hidden"~%"
("static-bash" ,static-bash-for-glibc)
,@(package-native-inputs gcc-boot0)))
- (inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp)))
+ (inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
("mpfr-source" ,(package-source mpfr))
("mpc-source" ,(package-source mpc))
("ld-wrapper" ,ld-wrapper-boot3)
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 3be612a..ad50770 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -60,6 +60,24 @@ cryptography and computational algebra.")
(license lgpl3+)
(home-page "http://gmplib.org/")))
+(define-public gmp-6.0
+ ;; We keep this one around to bootstrap GCC, to work around a compilation
+ ;; issue on ARM. See
+ ;; <https://gmplib.org/list-archives/gmp-bugs/2015-December/003848.html>.
+ (package
+ (inherit gmp)
+ (version "6.0.0a")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gmp/gmp-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0r5pp27cy7ch3dg5v0rsny8bib1zfvrza6027g2mp5f6v8pd6mli"))
+ (patches (map search-patch
+ '("gmp-arm-asm-nothumb.patch"
+ "gmp-faulty-test.patch")))))))
+
(define-public mpfr
(package
(name "mpfr")
diff --git a/gnu/packages/patches/gmp-arm-asm-nothumb.patch
b/gnu/packages/patches/gmp-arm-asm-nothumb.patch
new file mode 100644
index 0000000..666cf58
--- /dev/null
+++ b/gnu/packages/patches/gmp-arm-asm-nothumb.patch
@@ -0,0 +1,21 @@
+
+# HG changeset patch
+# User Torbjorn Granlund <address@hidden>
+# Date 1396602422 -7200
+# Node ID 676e2d0f0e4dd301a7066079d2c9326c25c34a40
+# Parent 0194a75b56b21a9196626430af86c5bd9110c42d
+Conditionalise ARM asm on !__thumb__.
+
+diff -r 0194a75b56b2 -r 676e2d0f0e4d mpn/generic/div_qr_1n_pi1.c
+--- a/mpn/generic/div_qr_1n_pi1.c Thu Apr 03 23:58:51 2014 +0200
++++ b/mpn/generic/div_qr_1n_pi1.c Fri Apr 04 11:07:02 2014 +0200
+@@ -130,7 +130,7 @@
+ "%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC)
+ #endif
+
+-#if defined (__arm__) && W_TYPE_SIZE == 32
++#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
+ #define add_mssaaaa(m, sh, sl, ah, al, bh, bl)
\
+ __asm__ ( "adds %2, %5, %6\n\t" \
+ "adcs %1, %3, %4\n\t" \
+
- branch core-updates updated (c5b65f7 -> 53088d0), Ludovic Courtès, 2015/12/18
- 03/07: gnu: commencement: Add "-boot0" to early packages., Ludovic Courtès, 2015/12/18
- 05/07: gnu: commencement: Build the final Bash with "bison-boot1"., Ludovic Courtès, 2015/12/18
- 01/07: gnu: commencement: Use GMP 6.0.0a for bootstrapping.,
Ludovic Courtès <=
- 06/07: build-system/gnu: Always pass "-D" to strip/objcopy., Ludovic Courtès, 2015/12/18
- 02/07: gnu: gcc: Prefer language-specific variables over 'CPATH'., Ludovic Courtès, 2015/12/18
- 04/07: gnu: commencement: Avoid redundant Perl rebuild., Ludovic Courtès, 2015/12/18
- 07/07: gnu: commencement: Build Bison deterministically., Ludovic Courtès, 2015/12/18