[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: gnu: base: Build glibc-hurd for i586-pc-gnu instead of i686-pc-gn
From: |
Manolis Fragkiskos Ragkousis |
Subject: |
01/01: gnu: base: Build glibc-hurd for i586-pc-gnu instead of i686-pc-gnu. |
Date: |
Thu, 02 Jul 2015 11:32:40 +0000 |
phant0mas pushed a commit to branch wip-hurd
in repository guix.
commit 544ebb9fa2f3a74d98e2026d7ad85e82bb6dbc50
Author: Manolis Ragkousis <address@hidden>
Date: Mon Jun 29 19:12:51 2015 +0300
gnu: base: Build glibc-hurd for i586-pc-gnu instead of i686-pc-gnu.
With this commit "guix build bootstrap-tarballs --target=i586-pc-gnu"
produces working static binaries.
* gnu/packages/base.scm (glibc/hurd, glibc/hurd-headers): Change i686-pc-gnu
to i586-pc-gnu.
* gnu/packages/cross-base.scm (cross-libc): Same.
* gnu/packages/hurd.scm (gnumach-headers, hurd-headers): Same.
* gnu/packages/patches/glibc-hurd-libs.patch: New patch.
---
gnu/packages/base.scm | 9 ++++++---
gnu/packages/cross-base.scm | 2 +-
gnu/packages/hurd.scm | 6 ++++--
gnu/packages/patches/glibc-hurd-libs.patch | 24 ++++++++++++++++++++++++
4 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 2ff0e01..39ecae7 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -626,7 +626,10 @@ with the Linux kernel.")
(arguments
(substitute-keyword-arguments (package-arguments glibc/linux)
((#:configure-flags original-configure-flags)
- `(append (list "--host=i686-pc-gnu"
+ `(append (list "--host=i586-pc-gnu"
+
+ ;; We need this to get a working openpty() function.
+ "--enable-pt_chown"
;; nscd fails to build for GNU/Hurd:
;;
<https://lists.gnu.org/archive/html/bug-hurd/2014-07/msg00006.html>.
@@ -648,7 +651,7 @@ with the Linux kernel.")
"Return the glibc for TARGET, GLIBC/LINUX for a Linux host or
GLIBC/HURD for a Hurd host"
(match target
- ("i686-pc-gnu" glibc/hurd)
+ ("i586-pc-gnu" glibc/hurd)
(_ glibc/linux)))
(define-syntax glibc
@@ -761,7 +764,7 @@ command.")
;; We just pass the flags really needed to build the headers.
((#:configure-flags _)
`(list "--enable-add-ons"
- "--host=i686-pc-gnu"
+ "--host=i586-pc-gnu"
"--enable-obsolete-rpc"))
((#:phases _)
'(alist-replace
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 6e9d544..e3b4f4b 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -385,7 +385,7 @@ XBINUTILS and the cross tool chain."
;; Choose libc based on target
(match target
- ("i686-pc-gnu"
+ ("i586-pc-gnu"
(package (inherit glibc/hurd)
(name (string-append "glibc-hurd-cross-" target))
(arguments
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 43e8b1d..ae84362 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -58,7 +58,9 @@
;; least install its headers when not cross-compiling.
,@(if (%current-target-system)
'()
- '(#:configure-flags '("--build=i686-pc-gnu")))
+ ;; See
<http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html>
+ ;;
<http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
+ '(#:configure-flags '("--build=i586-pc-gnu")))
#:tests? #f))
(home-page
"https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html")
(synopsis "GNU Mach kernel headers")
@@ -126,7 +128,7 @@ communication.")
;; that.
,@(if (%current-target-system)
'()
- '("--host=i686-pc-gnu"))
+ '("--host=i586-pc-gnu"))
;; Reduce set of dependencies.
"--disable-ncursesw"
diff --git a/gnu/packages/patches/glibc-hurd-libs.patch
b/gnu/packages/patches/glibc-hurd-libs.patch
index cae1a40..2102f77 100644
--- a/gnu/packages/patches/glibc-hurd-libs.patch
+++ b/gnu/packages/patches/glibc-hurd-libs.patch
@@ -17,3 +17,27 @@ See
<http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html>
mv -f address@hidden $@
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