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.
This commit is contained in:
Ludovic Courtès 2020-04-02 16:47:40 +02:00
parent f46cf8ef25
commit 7aad4609ae
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 33 additions and 2 deletions

View file

@ -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 \

View file

@ -521,7 +521,12 @@ (define* (cross-libc target
(("/[^ ]+/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 @@ (define* (cross-libc target
,@(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))))))

View file

@ -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 {