guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: base: Build glibc-hurd for i586-pc-gnu instead of i686-


From: Ludovic Courtès
Subject: Re: [PATCH] gnu: base: Build glibc-hurd for i586-pc-gnu instead of i686-pc-gnu.
Date: Tue, 30 Jun 2015 21:36:04 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Manolis Ragkousis <address@hidden> skribis:

> With this patch we can produce working static binaries for a Hurd system.

Woohoo!  :-)

> We had to change it to use i586, because the default i686 variant
> introduces bugs.

Specifically, static binaries (cross-)built for i686-gnu segfault early
on (heap address seems to be miscalculated), like this:

--8<---------------cut here---------------start------------->8---
$ gdb --args ./true
GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./true...done.
(gdb) r
Starting program: /home/ludo/t/static.debug3/bin/true 

Program received signal EXC_BAD_ACCESS, Could not access memory.
allocate_dtv (address@hidden) at dl-tls.c:300
300     dl-tls.c: No such file or directory.
(gdb) bt full
#0  allocate_dtv (address@hidden) at dl-tls.c:300
        dtv = 0x806ef50 <__memset_sse2>
        dtv_length = 15
#1  0x08087add in _dl_allocate_tls_storage () at dl-tls.c:364
        allocated = 0x8132208
        result = 0x8132a38
        size = 2116
#2  0x08087d3d in _dl_allocate_tls (address@hidden) at dl-tls.c:460
No locals.
#3  0x0804cce3 in __pthread_create_internal (address@hidden, address@hidden, 
address@hidden, address@hidden) at ./pthread/pt-create.c:152
        err = 0
        pthread = 0x8131e38
        setup = <optimized out>
        sigset = 2147483647
        stacksize = 2097152
        __PRETTY_FUNCTION__ = "__pthread_create_internal"
#4  0x0804bfcc in _init_routine (stack=0x0) at 
../libpthread/sysdeps/mach/hurd/pt-sysdep.c:66
        thread = 0x8050043 <__mach_msg+67>
        err = <optimized out>
#5  init_routine () at ../libpthread/sysdeps/mach/hurd/pt-sysdep.c:90
No locals.
#6  0x0805905b in init (data=0x1001ea0) at 
../sysdeps/mach/hurd/i386/init-first.c:206
        newsp = <optimized out>
        od = <optimized out>
        argv = 0x1001ea4
        argc = <optimized out>
        envp = 0x1001f10
        d = 0x1001f10
#7  doinit1 (argc=1) at ../sysdeps/mach/hurd/i386/init-first.c:358
No locals.
#8  0x08048e74 in _start () at ../sysdeps/mach/hurd/i386/static-start.S:22
No locals.
--8<---------------cut here---------------end--------------->8---

> From 30137dd367eb67b349411d61249af97fade40f2f Mon Sep 17 00:00:00 2001
> From: Manolis Ragkousis <address@hidden>
> Date: Mon, 29 Jun 2015 19:12:51 +0300
> Subject: [PATCH] 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.

[...]

> --- a/gnu/packages/hurd.scm
> +++ b/gnu/packages/hurd.scm
> @@ -58,7 +58,7 @@
>        ;; least install its headers when not cross-compiling.
>        ,@(if (%current-target-system)
>            '()
> -          '(#:configure-flags '("--build=i686-pc-gnu")))
> +          '(#:configure-flags '("--build=i586-pc-gnu")))

Could you add here a link to his message, for future reference?  (I
don’t know where we can file this bug, maybe we should just ask the Hurd
folks.)

OK for wip-hurd with this change, thanks!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]