bug-hurd
[Top][All Lists]
Advanced

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

Re: Exporting libc patches


From: Ludovic Courtès
Subject: Re: Exporting libc patches
Date: Mon, 17 Oct 2011 00:31:51 +0200
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux)

Hi Thomas,

Thomas Schwinge <thomas@schwinge.name> skribis:

> On Sun, 16 Oct 2011 21:35:29 +0200, ludo@gnu.org (Ludovic 
> =?iso-8859-1?Q?Court=E8s?=) wrote:
>> In the meantime I’ve changed the commit SHA1 [0], and it does lead to a
>
>> [0] 
>> http://git.savannah.gnu.org/cgit/hydra-recipes.git/commit/?id=7f49a0c373af0e592c8ee4302ddbab6722b20fd4
>
> I still don't understand why you can't use origin/baseline instead of the
> verbatim and volatile SHA1?

Here it goes:

  1. Hydra uses a generic script [0] to check out a Git tree.  I tweaked
     that script to run ‘tg remote --populate’ on TopGit repos, but I’m
     not gonna implement the “if this is the Hurd’s glibc repo, see if
     there’s a branch called ‘baseline’, and get in touch with bug-hurd
     to check if anything else is needed” strategy.  ;-)

  2. The build itself is done with Nix in a chroot with no network
     access.

If there’s a non-specific way to solve this problem, I’m happy to hear it.

[0] 
https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/build-support/fetchgit/nix-prefetch-git

>> patch that applies to current Sourceware libc [1].
>> 
>> However the resulting code fails to cross-build [2]:
>> 
>> --8<---------------cut here---------------start------------->8---
>> gawk -f ../scripts/gen-as-const.awk ../sysdeps/i386/tlsdesc.sym \
>> | i586-pc-gnu-gcc -S -o 
>> /tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.hT3
>>  -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings 
>> -fmerge-all-constants -g -Wno-parentheses -Wstrict-prototypes 
>> -mpreferred-stack-boundary=4       -I../include 
>> -I/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/csu
>>  
>> -I/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build
>>  -I../sysdeps/i386/elf -I../sysdeps/mach/hurd/i386 -I../sysdeps/mach/hurd 
>> -I../sysdeps/gnu -I../sysdeps/unix/bsd/bsd4.4 -I../sysdeps/unix/mman 
>> -I../sysdeps/mach/i386 -I../sysdeps/mach -I../sysdeps/i386/i586 
>> -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 
>> -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 
>> -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 
>> -I../sysdeps/unix/bsd -I../sysdeps/unix/common -I../sysdeps/unix/inet 
>> -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/ieee754 
>> -I../sysdeps/generic/elf -I../sysdeps/generic -I../hurd 
>> -I/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/hurd/
>>  -I../mach 
>> -I/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/mach/
>>  -I.. -I../libio -I. -nostdinc -isystem 
>> /nix/store/8fhsm5pzdzamdfcr9mv6zya7mpv8x754-gcc-4.5.1-i586-pc-gnu-stage-final/lib/gcc/i586-pc-gnu/4.5.1/include
>>  -isystem 
>> /nix/store/8fhsm5pzdzamdfcr9mv6zya7mpv8x754-gcc-4.5.1-i586-pc-gnu-stage-final/lib/gcc/i586-pc-gnu/4.5.1/include-fixed
>>  -isystem 
>> /nix/store/4jxl1k33n0zly3yhcf9phbxhyhlqbm7i-hurd-headers-20110516/include 
>> -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DHAVE_INITFINI 
>> -x c - \
>>      -MD -MP -MF 
>> /tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.h.dT
>>  -MT 
>> '/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.h.d
>>  
>> /tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.h'
>> In file included from ../sysdeps/mach/hurd/tls.h:31:0,
>>                  from ../sysdeps/mach/hurd/i386/tls.h:25,
>>                  from ../sysdeps/mach/i386/sysdep.h:26,
>>                  from <stdin>:2:
>> /nix/store/364bfszli2pgpk58sfqpw5iqir4jcdv0-gnumach-headers-20100512/include/mach/mig_errors.h:71:3:
>>  warning: function declaration isn't a prototype
>> <stdin>: In function 'dummy':
>> <stdin>:7:67: error: invalid use of undefined type 'struct pthread'
>> make[2]: *** 
>> [/tmp/nix-build-im598ff2ngv32ah38dl5bjkvhmgkybjq-glibc-2.14-375-gaac1330-i586-pc-gnu.drv-0/build/tlsdesc.h]
>>  Error 1
>> --8<---------------cut here---------------end--------------->8---
>> 
>> I think the problem is that i386/tlsdesc.sym is being used in lieu of
>> mach/hurd/i386/tlsdesc.sym, right?
>
>> [1] http://hydra.nixos.org/job/gnu/glibc-hurd/tarball
>> [2] http://hydra.nixos.org/build/1458641
>
>     $ wget 
> 'http://hydra.nixos.org/build/1458856/download/3/glibc-2.14-375-gaac1330.tar.xz'
>     $ xz -d < glibc-2.14-375-gaac1330.tar.xz | tar -x
>     $ find glibc-2.14-375-gaac1330/ -name tlsdesc.sym
>     glibc-2.14-375-gaac1330/sysdeps/x86_64/tlsdesc.sym
>     glibc-2.14-375-gaac1330/sysdeps/i386/tlsdesc.sym
>
> But <http://hydra.nixos.org/build/1458856/log/raw> says: ``patching file
> sysdeps/mach/hurd/i386/tlsdesc.sym''.  I guess this is for you to debug.
> :-)

Indeed.  :-)

Hopefully
<http://git.savannah.gnu.org/cgit/hydra-recipes.git/commit/?id=e7f28b5a6cdace426d396411da949e376bd1517a>
fixes it.

Thanks,
Ludo’.



reply via email to

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