guix-commits
[Top][All Lists]
Advanced

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

04/07: fixup glibc-mesboot0


From: guix-commits
Subject: 04/07: fixup glibc-mesboot0
Date: Wed, 14 Dec 2022 04:00:38 -0500 (EST)

efraim pushed a commit to branch wip-aarch64-bootstrap
in repository guix.

commit 6c1b6a6fc17843ccbb6479558b792b5651b20499
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Tue Dec 13 13:10:26 2022 +0200

    fixup glibc-mesboot0
    
    (%current-system) evaluated too early
---
 gnu/packages/commencement.scm                      | 54 +++++++++++-----------
 .../patches/glibc-bootstrap-arm-2.2.5.patch        | 17 +++++++
 2 files changed, 44 insertions(+), 27 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 878ab35694..ce25a7ee53 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1195,33 +1195,33 @@ ac_cv_c_float_format='IEEE (little-endian)'
   ;; GNU C Library 2.2.5 is the most recent glibc that we managed to build
   ;; using gcc-2.95.3.  Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer
   ;; gcc.
-  (let ((triplet (match (%current-system)
-                   ((or "armhf-linux" "aarch64-linux")
-                    "arm-unknown-linux-gnu")
-                   ((or "i686-linux" "x86_64-linux")
-                    "i686-unknown-linux-gnu"))))
-    (package
-      (inherit glibc)
-      (name "glibc-mesboot0")
-      (version "2.2.5")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "mirror://gnu/glibc/glibc-"
-                                    version
-                                    ".tar.gz"))
-                ;; Patch needs XZ
-                ;; (patches (search-patches "glibc-boot-2.2.5.patch"))
-                (sha256
-                 (base32
-                  "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q"))))
-      (supported-systems '("armhf-linux" "aarch64-linux"
-                           "i686-linux" "x86_64-linux"))
-      (inputs '())
-      (propagated-inputs '())
-      (native-inputs `(("headers" ,mesboot-headers)
-                       ,@(%boot-mesboot-core-inputs)))
-      (outputs '("out"))
-      (arguments
+  (package
+    (inherit glibc)
+    (name "glibc-mesboot0")
+    (version "2.2.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/glibc/glibc-"
+                                  version
+                                  ".tar.gz"))
+              ;; Patch needs XZ
+              ;; (patches (search-patches "glibc-boot-2.2.5.patch"))
+              (sha256
+               (base32
+                "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q"))))
+    (supported-systems '("armhf-linux" "aarch64-linux"
+                         "i686-linux" "x86_64-linux"))
+    (inputs '())
+    (propagated-inputs '())
+    (native-inputs `(("headers" ,mesboot-headers)
+                     ,@(%boot-mesboot-core-inputs)))
+    (outputs '("out"))
+    (arguments
+     (let ((triplet (match (%current-system)
+                           ((or "armhf-linux" "aarch64-linux")
+                            "arm-unknown-linux-gnu")
+                           ((or "i686-linux" "x86_64-linux")
+                            "i686-unknown-linux-gnu"))))
        (list #:implicit-inputs? #f
              #:guile %bootstrap-guile
              #:tests? #f
diff --git a/gnu/packages/patches/glibc-bootstrap-arm-2.2.5.patch 
b/gnu/packages/patches/glibc-bootstrap-arm-2.2.5.patch
index e8b34a6166..2f4de348d3 100644
--- a/gnu/packages/patches/glibc-bootstrap-arm-2.2.5.patch
+++ b/gnu/packages/patches/glibc-bootstrap-arm-2.2.5.patch
@@ -877,6 +877,14 @@ diff --git a/sysdeps/unix/sysv/linux/arm/mmap.S 
b/sysdeps/unix/sysv/linux/arm/mm
 index af93c7b..97b4a55 100644
 --- a/sysdeps/unix/sysv/linux/arm/mmap.S
 +++ b/sysdeps/unix/sysv/linux/arm/mmap.S
+@@ -21,6 +21,7 @@
+ .text
+
+ ENTRY (__mmap)
++#ifdef __NR_mmap
+
+        /* Because we can only get five args through the syscall interface, and
+           mmap() takes six, we need to build a parameter block and pass its
 @@ -41,7 +41,14 @@ ENTRY (__mmap)
  
        /* do the syscall */
@@ -892,6 +900,15 @@ index af93c7b..97b4a55 100644
  
        /* pop args off the stack. */
        add     sp, sp, #16
+@@ -50,6 +59,7 @@ ENTRY (__mmap)
+        RETINSTR(movcc, pc, lr)
+        b       PLTJMP(syscall_error);
+
++#endif
+ PSEUDO_END (__mmap)
+
+ weak_alias (__mmap, mmap)
+
 diff --git a/sysdeps/unix/sysv/linux/arm/mmap64.S 
b/sysdeps/unix/sysv/linux/arm/mmap64.S
 index 1f19bf0..8cb40f5 100644
 --- a/sysdeps/unix/sysv/linux/arm/mmap64.S



reply via email to

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