summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-04-02 16:47:40 +0200
committerLudovic Courtès <ludo@gnu.org>2020-04-11 19:22:25 +0200
commit7aad4609ae38790b7cc4e6a88b3e48ab43bc1f09 (patch)
tree5db5f75c34f98d9070c06bff41911efb8c6b1a51 /gnu
parentf46cf8ef252fbfb8dce6f458bd099978883089d2 (diff)
gnu: cross-libc: Add patch to add 'mach_print' symbol on GNU/Hurd.
* gnu/packages/patches/glibc-hurd-mach-print.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-libc): Add 'patch-libc/hurd' phase when 'hurd-target?' is true.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/cross-base.scm11
-rw-r--r--gnu/packages/patches/glibc-hurd-mach-print.patch23
3 files changed, 33 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7347222852..02e9d804e9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -977,6 +977,7 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \
%D%/packages/patches/glibc-hurd-clock_gettime_monotonic.patch \
%D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \
+ %D%/packages/patches/glibc-hurd-mach-print.patch \
%D%/packages/patches/glibc-hurd-magic-pid.patch \
%D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch \
%D%/packages/patches/glibc-ldd-x86_64.patch \
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index df4570dafc..c21390767f 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -521,7 +521,12 @@ and the cross tool chain."
(("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3"
" libmachuser.so libhurduser.so"))))
- #t)))
+ #t))
+ (add-after 'unpack 'patch-libc/hurd
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((patch (assoc-ref inputs
+ "hurd-mach-print.patch")))
+ (invoke "patch" "-p1" "--force" "-i" patch)))))
'())))))
;; Shadow the native "kernel-headers" because glibc's recipe expects the
@@ -537,7 +542,9 @@ and the cross tool chain."
,@(if (hurd-triplet? target)
`(("cross-mig"
,@(assoc-ref (package-native-inputs xheaders)
- "cross-mig")))
+ "cross-mig"))
+ ("hurd-mach-print.patch"
+ ,@(search-patches "glibc-hurd-mach-print.patch")))
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc))))))
diff --git a/gnu/packages/patches/glibc-hurd-mach-print.patch b/gnu/packages/patches/glibc-hurd-mach-print.patch
new file mode 100644
index 0000000000..7fdf6733d0
--- /dev/null
+++ b/gnu/packages/patches/glibc-hurd-mach-print.patch
@@ -0,0 +1,23 @@
+Provide a 'mach_print' symbol in libc.
+
+--- a/sysdeps/mach/hurd/i386/libc.abilist 2020-04-01 19:22:44.710088821 +0200
++++ b/sysdeps/mach/hurd/i386/libc.abilist 2020-04-01 19:22:52.062051161 +0200
+@@ -338,6 +338,7 @@
+ GLIBC_2.2.6 __mach_port_allocate F
+ GLIBC_2.2.6 __mach_port_deallocate F
+ GLIBC_2.2.6 __mach_port_insert_right F
++GLIBC_2.21 __mach_print F
+ GLIBC_2.2.6 __mach_reply_port F
+ GLIBC_2.2.6 __mach_task_self_ D 0x4
+ GLIBC_2.2.6 __mach_thread_self F
+
+--- a/mach/Versions
++++ b/mach/Versions
+@@ -56,6 +56,7 @@
+ }
+ GLIBC_2.21 {
+ __mach_host_self_;
++ mach_print;
+ }
+
+ HURD_CTHREADS_0.3 {