all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob 73e1e99f53aedb518528b73c76d64edeced1af42 2581 bytes (raw)
name: gnu/packages/patches/glibc-hurd-libs.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
Link libmachuser and libhurduser automatically with libc, since they are
considered a standard part of the API in GNU-land.
See <http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html>

---
 Makerules |    3 +++
 1 file changed, 3 insertions(+)
--- a/Makerules
+++ b/Makerules
@@ -1001,6 +1001,9 @@ $(inst_libdir)/libc.so: $(common-objpfx)
 	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
 	      ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
 	) > $@.new
+ifeq ($(patsubst gnu%,,$(config-os)),)
+	echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new
+endif
 	mv -f $@.new $@
 
 endif

hurd-i386 defines NO_HIDDEN, thus __GI_* versions are not available.
This was introduced by
https://sourceware.org/bugzilla/show_bug.cgi?id=15605

See <http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00046.html>.

---
 symbol-hacks.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Index: eglibc-2.18/sysdeps/generic/symbol-hacks.h
===================================================================
--- eglibc-2.18.orig/sysdeps/generic/symbol-hacks.h	2013-06-15 17:37:04.000000000 +0000
+++ eglibc-2.18/sysdeps/generic/symbol-hacks.h	2013-10-10 06:28:31.000000000 +0000
@@ -1,6 +1,9 @@
 /* Some compiler optimizations may transform loops into memset/memmove
    calls and without proper declaration it may generate PLT calls.  */
 #if !defined __ASSEMBLER__ && !defined NOT_IN_libc && defined SHARED
+#include <config.h>
+#  if !defined NO_HIDDEN
 asm ("memmove = __GI_memmove");
 asm ("memset = __GI_memset");
+#  endif
 #endif

We need to disable this, or else memmove will not work properly in Hurd's glibc.

From 69f807d6a4afa43e7a596e04f22923567b235ce9 Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Wed, 29 Jul 2015 10:34:01 +0200
Subject: [PATCH] Disable the fix for now, the resulting code seems bogus

---
 .topmsg                 | 11 +++++++++++
 sysdeps/mach/pagecopy.h |  3 +++
 2 files changed, 14 insertions(+)

diff --git a/sysdeps/mach/pagecopy.h b/sysdeps/mach/pagecopy.h
index 29b73ce..9d1f4de 100644
--- a/sysdeps/mach/pagecopy.h
+++ b/sysdeps/mach/pagecopy.h
@@ -20,7 +20,10 @@
 
 /* Threshold at which vm_copy is more efficient than well-optimized copying
    by words.  This parameter should be tuned as necessary.  */
+#define PAGE_THRESHOLD		(16384)	/* XXX Tune this.  */
+#if 0
 #define PAGE_COPY_THRESHOLD		(16384)	/* XXX Tune this.  */
+#endif
 
 #define PAGE_SIZE		__vm_page_size
 #define PAGE_COPY_FWD(dstp, srcp, nbytes_left, nbytes)			      \
-- 
2.4.6


debug log:

solving 73e1e99 ...
found 73e1e99 in https://yhetil.org/guix/CAFtzXzNsmH-SbyEzr--DUuP-TZGgNa+53beSRqkmWV8EB=r-qg@mail.gmail.com/
found 2102f77 in https://yhetil.org/guix/CAFtzXzNqGreiPW6J7uTxr6_3WhN6SJGQuaO=TuUK_0CxT4WTJw@mail.gmail.com/
found cae1a40 in https://yhetil.org/guix/CAFtzXzM58qY=p=28702coXVsV6HBcMx8-UxtNtOjx-Qn-Bpz+g@mail.gmail.com/ ||
	https://yhetil.org/guix/CAFtzXzMUWGhrVNPtam2tXZo_2ST_fFwD4isJSMbFXi8AZeBS-Q@mail.gmail.com/

applying [1/3] https://yhetil.org/guix/CAFtzXzM58qY=p=28702coXVsV6HBcMx8-UxtNtOjx-Qn-Bpz+g@mail.gmail.com/
diff --git a/gnu/packages/patches/glibc-hurd-libs.patch b/gnu/packages/patches/glibc-hurd-libs.patch
new file mode 100644
index 0000000..cae1a40

3:17: space before tab in indent.
 	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
3:18: space before tab in indent.
 	      ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
3:19: space before tab in indent.
 	) > $@.new
3:23: space before tab in indent.
 	mv -f $@.new $@
3:24: trailing whitespace.
 
Checking patch gnu/packages/patches/glibc-hurd-libs.patch...
Applied patch gnu/packages/patches/glibc-hurd-libs.patch cleanly.
warning: 5 lines add whitespace errors.

skipping https://yhetil.org/guix/CAFtzXzMUWGhrVNPtam2tXZo_2ST_fFwD4isJSMbFXi8AZeBS-Q@mail.gmail.com/ for cae1a40
index at:
100644 cae1a40dbdfe8999ff38935f77a6ae3958677a64	gnu/packages/patches/glibc-hurd-libs.patch

applying [2/3] https://yhetil.org/guix/CAFtzXzNqGreiPW6J7uTxr6_3WhN6SJGQuaO=TuUK_0CxT4WTJw@mail.gmail.com/
diff --git a/gnu/packages/patches/glibc-hurd-libs.patch b/gnu/packages/patches/glibc-hurd-libs.patch
index cae1a40..2102f77 100644


applying [3/3] https://yhetil.org/guix/CAFtzXzNsmH-SbyEzr--DUuP-TZGgNa+53beSRqkmWV8EB=r-qg@mail.gmail.com/
diff --git a/gnu/packages/patches/glibc-hurd-libs.patch b/gnu/packages/patches/glibc-hurd-libs.patch
index 2102f77..73e1e99 100644

Checking patch gnu/packages/patches/glibc-hurd-libs.patch...
Applied patch gnu/packages/patches/glibc-hurd-libs.patch cleanly.
1:60: trailing whitespace.
 
1:67: trailing whitespace.
 
1:70: trailing whitespace.
-- 
Checking patch gnu/packages/patches/glibc-hurd-libs.patch...
1:72: new blank line at EOF.
+
Applied patch gnu/packages/patches/glibc-hurd-libs.patch cleanly.
warning: 4 lines add whitespace errors.

index at:
100644 73e1e99f53aedb518528b73c76d64edeced1af42	gnu/packages/patches/glibc-hurd-libs.patch

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.