diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/commencement.scm | 33 | ||||
-rw-r--r-- | gnu/packages/gcc.scm | 5 | ||||
-rw-r--r-- | gnu/packages/patches/gcc-libiberty-printf-decl.patch | 28 |
4 files changed, 9 insertions, 58 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 641963daf2..9121b1df40 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -492,7 +492,6 @@ dist_patch_DATA = \ gnu/packages/patches/gawk-shell.patch \ gnu/packages/patches/gcc-arm-link-spec-fix.patch \ gnu/packages/patches/gcc-cross-environment-variables.patch \ - gnu/packages/patches/gcc-libiberty-printf-decl.patch \ gnu/packages/patches/gcc-libvtv-runpath.patch \ gnu/packages/patches/gcc-5.0-libvtv-runpath.patch \ gnu/packages/patches/gd-CVE-2016-3074.patch \ diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 5f3faad105..8c82644cc6 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -170,26 +170,6 @@ ,cf))))) (inputs %boot0-inputs)))) -(define libstdc++-boot0 - ;; GCC's libcc1 is always built as a shared library (the top-level - ;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer - ;; to libstdc++.so. We cannot build libstdc++-5.3 because it relies on - ;; C++14 features missing in our bootstrap compiler. - (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-4.9)))) - (package - (inherit lib) - (name "libstdc++-boot0") - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - - ;; XXX: libstdc++.so NEEDs ld.so for some reason. - #:validate-runpath? #f - - ,@(package-arguments lib))) - (inputs %boot0-inputs) - (native-inputs '())))) - (define gcc-boot0 (package-with-bootstrap-guile (package (inherit gcc) @@ -275,13 +255,14 @@ ("mpc-source" ,(package-source mpc)) ("binutils-cross" ,binutils-boot0) - ;; The libstdc++ that libcc1 links against. - ("libstdc++" ,libstdc++-boot0) - ;; Call it differently so that the builder can check whether ;; the "libc" input is #f. ("libc-native" ,@(assoc-ref %boot0-inputs "libc")) - ,@(alist-delete "libc" %boot0-inputs)))))) + ,@(alist-delete "libc" %boot0-inputs))) + + ;; No need for Texinfo at this stage. + (native-inputs (alist-delete "texinfo" + (package-native-inputs gcc)))))) (define perl-boot0 (let ((perl (package @@ -901,10 +882,10 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.") (gcc-toolchain gcc-4.8)) (define-public gcc-toolchain-4.9 - (gcc-toolchain gcc-4.9)) + (gcc-toolchain gcc-final)) (define-public gcc-toolchain-5 - (gcc-toolchain gcc-final)) + (gcc-toolchain gcc-5)) (define-public gcc-toolchain-6 (gcc-toolchain gcc-6)) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index b8e13f3f8e..1ca8ca0d59 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -352,8 +352,7 @@ Go. It also includes runtime support libraries for these languages.") (sha256 (base32 "1ny4smkp5bzs3cp8ss7pl6lk8yss0d9m4av1mvdp72r1x695akxq")) - (patches (search-patches "gcc-5.0-libvtv-runpath.patch" - "gcc-libiberty-printf-decl.patch")))) + (patches (search-patches "gcc-5.0-libvtv-runpath.patch")))) ;; GCC 5 ships with .info files, so no need for Texinfo. (native-inputs '()))) @@ -372,7 +371,7 @@ Go. It also includes runtime support libraries for these languages.") ;; Note: When changing the default gcc version, update ;; the gcc-toolchain-* definitions accordingly. -(define-public gcc gcc-5) +(define-public gcc gcc-4.9) (define-public (make-libstdc++ gcc) "Return a libstdc++ package based on GCC. The primary use case is when diff --git a/gnu/packages/patches/gcc-libiberty-printf-decl.patch b/gnu/packages/patches/gcc-libiberty-printf-decl.patch deleted file mode 100644 index a612c9e00e..0000000000 --- a/gnu/packages/patches/gcc-libiberty-printf-decl.patch +++ /dev/null @@ -1,28 +0,0 @@ -This patch makes the exeception specifier of libiberty's 'asprintf' -and 'vasprintf' declarations match those of glibc to work around the -problem described at <https://gcc.gnu.org/ml/gcc-help/2016-04/msg00039.html>. - -The problem in part stems from the fact that libiberty is configured -without _GNU_SOURCE (thus, it sets HAVE_DECL_ASPRINTF to 0), whereas libcc1 -is configured and built with _GNU_SOURCE, hence the conflicting declarations. - ---- gcc-5.3.0/include/libiberty.h 2016-04-23 22:45:46.262709079 +0200 -+++ gcc-5.3.0/include/libiberty.h 2016-04-23 22:45:37.110635439 +0200 -@@ -625,7 +625,7 @@ extern int pwait (int, int *, int); - /* Like sprintf but provides a pointer to malloc'd storage, which must - be freed by the caller. */ - --extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2; -+extern int asprintf (char **, const char *, ...) __THROWNL ATTRIBUTE_PRINTF_2; - #endif - - /* Like asprintf but allocates memory without fail. This works like -@@ -637,7 +637,7 @@ extern char *xasprintf (const char *, .. - /* Like vsprintf but provides a pointer to malloc'd storage, which - must be freed by the caller. */ - --extern int vasprintf (char **, const char *, va_list) ATTRIBUTE_PRINTF(2,0); -+extern int vasprintf (char **, const char *, va_list) __THROWNL ATTRIBUTE_PRINTF(2,0); - #endif - - /* Like vasprintf but allocates memory without fail. This works like |