guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: gcc: Improve dynamic linker patching code.


From: Mark H. Weaver
Subject: 01/01: gnu: gcc: Improve dynamic linker patching code.
Date: Wed, 07 Jan 2015 00:38:39 +0000

mhw pushed a commit to branch core-updates
in repository guix.

commit 91c47befb889ec2242078776cf58541eba8f938a
Author: Mark H Weaver <address@hidden>
Date:   Tue Jan 6 19:37:04 2015 -0500

    gnu: gcc: Improve dynamic linker patching code.
    
    * gnu/packages/gcc.scm (gcc-4.7): Join multi-line definitions of
      GLIBC_DYNAMIC_LINKER* before attempting substitutions.
      (gcc-4.9)[arguments]: Remove arguments override.
---
 gnu/packages/gcc.scm |   34 +++++++++++-----------------------
 1 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 4733fc1..a510af4 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -178,6 +178,16 @@ where the OS part is overloaded to denote a specific 
ABI---into GCC
                 ;; The following is not performed for `--without-headers'
                 ;; cross-compiler builds.
 
+                ;; Join multi-line definitions of GLIBC_DYNAMIC_LINKER* into a
+                ;; single line, to allow the next step to work properly.
+                (for-each
+                 (lambda (x)
+                   (substitute* (find-files "gcc/config"
+                                            "^linux(64|-elf)?\\.h$")
+                     (("(#define GLIBC_DYNAMIC_LINKER.*)\\\\\n$" _ line)
+                      line)))
+                 '(1 2 3))
+
                 ;; Fix the dynamic linker's file name.
                 (substitute* (find-files "gcc/config"
                                          "^linux(64|-elf)?\\.h$")
@@ -279,29 +289,7 @@ Go.  It also includes runtime support libraries for these 
languages.")
                                  version "/gcc-" version ".tar.bz2"))
              (sha256
               (base32
-               "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))))
-
-    ;; TODO: In core-updates, improve the 'pre-configure phase of the main
-    ;; 'gcc' package so that the 'join-two-line-dynamic-linker-defns phase is
-    ;; no longer needed here.  Then the entire 'arguments' override below can
-    ;; be removed.
-    (arguments
-     (substitute-keyword-arguments (package-arguments gcc-4.7)
-       ((#:phases phases)
-        `(alist-cons-before
-          'pre-configure 'join-two-line-dynamic-linker-defns
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let ((libc (assoc-ref inputs "libc")))
-              (when libc
-                ;; Join two-line definitions of GLIBC_DYNAMIC_LINKER* into a
-                ;; single line, to allow the 'pre-configure phase to work
-                ;; properly.
-                (substitute* (find-files "gcc/config"
-                                         "^linux(64|-elf)?\\.h$")
-                  (("(#define GLIBC_DYNAMIC_LINKER[^ ]*.*)\\\\\n$" _ line)
-                   line)))
-              #t))
-          ,phases))))))
+               "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))))))
 
 (define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
   "Return a custom version of GCC that supports LANGUAGES."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]