From f45ea217c7e50606ea4fb3559f0bb308d515b7b2 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis 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 , 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 +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