Updated patch.
From f45ea217c7e50606ea4fb3559f0bb308d515b7b2 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <[email protected]>
Date: Fri, 31 Jul 2015 19:08:39 +0300
Subject: [PATCH] gnu: base: Disable bogus code in Hurd's glibc.

* gnu/packages/patches/glibc-hurd-disable-memmove-fix.patch: New file.
* gnu/packages/base.scm (glibc/hurd)[source]: Add patch.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                                      |  1 +
 gnu/packages/base.scm                              |  1 +
 .../patches/glibc-hurd-disable-memmove-fix.patch   | 29 ++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 gnu/packages/patches/glibc-hurd-disable-memmove-fix.patch

diff --git a/gnu-system.am b/gnu-system.am
index 721e1b5..1718a52 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -450,6 +450,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/glibc-ldd-x86_64.patch			\
   gnu/packages/patches/glibc-locales.patch			\
   gnu/packages/patches/glibc-hurd-libs.patch			\
+  gnu/packages/patches/glibc-hurd-disable-memmove-fix.patch	\
   gnu/packages/patches/gmp-arm-asm-nothumb.patch		\
   gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
   gnu/packages/patches/gobject-introspection-cc.patch		\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 48c9a33..19a88d4 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -621,6 +621,7 @@ with the Linux kernel.")
                (base32
                 "0fkmn1kfsbhyrkf1wqqvc47dl5bzflnbcggjjfp5s9c489z916zw"))
               (patches (list (search-patch "glibc-hurd-libs.patch")
+                             (search-patch "glibc-hurd-disable-memmove-fix.patch")
                              (search-patch "libpthread-remove-duplicate.patch")))))
 
     ;; Libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
diff --git a/gnu/packages/patches/glibc-hurd-disable-memmove-fix.patch b/gnu/packages/patches/glibc-hurd-disable-memmove-fix.patch
new file mode 100644
index 0000000..0146768
--- /dev/null
+++ b/gnu/packages/patches/glibc-hurd-disable-memmove-fix.patch
@@ -0,0 +1,29 @@
+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 <[email protected]>
+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
\ No newline at end of file
-- 
2.4.6

Reply via email to