diff mbox series

[bug#74290,v4,49/58] gnu: bootstrap: %bootstrap-glibc: Also fix libm.so.

Message ID 4d1ee77ec4b095207612b6c62baf0d7396d2f3f8.1732434271.git.janneke@gnu.org
State New
Headers show
Series Add support for x86_64-gnu, aka the 64bit Hurd. | expand

Commit Message

Janneke Nieuwenhuizen Nov. 24, 2024, 7:55 a.m. UTC
On the 64bit Hurd, glibc-2.39's libm.so is also a linker script.  This fixes
having it refer to

    /gnu/store/eee...-glibc-cross-x86_64-pc-gnu-2.39/lib/libm.so.6
    /gnu/store/eee...-glibc-cross-x86_64-pc-gnu-2.39/lib/libmvec.so.1

* gnu/packages/bootstrap.scm (%bootstrap-glibc)[arguments]: When building for
the 64bit Hurd, also substitute libm.so linker script.  Update the regexp to
also cater for libh[urduser] and libm[achuser].

Change-Id: I878e63d18f1012b6e186e90eb68cb97bec5ae94c
---
 gnu/packages/bootstrap.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 8027918323..a6cdda2122 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -774,12 +774,12 @@  (define %bootstrap-glibc
                                      "/binaries.tar"))
               (chmod "lib" #o755)
 
-              ;; Patch libc.so so it refers to the right path.
-              (substitute* "lib/libc.so"
-                (("/[^ ]+/lib/(libc|ld)" _ prefix)
-                 (string-append out "/lib/" prefix)))
-
-              #t))))))
+              ;; Patch linker scripts so they refer to the right file-names.
+              (substitute* ,(if (target-hurd64?)
+                                ''("lib/libc.so" "lib/libm.so")
+                                "lib/libc.so")
+                (("/[^ ]+/lib/(libc|libm|libh|ld)" _ prefix)
+                 (string-append out "/lib/" prefix)))))))))
     (inputs
      `(("tar" ,(bootstrap-executable "tar" (%current-system)))
        ("xz"  ,(bootstrap-executable "xz" (%current-system)))