bug-guix
[Top][All Lists]
Advanced

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

bug#24136: libgcrypt 1.7.0 is not bit-reproducible


From: Ludovic Courtès
Subject: bug#24136: libgcrypt 1.7.0 is not bit-reproducible
Date: Wed, 03 Aug 2016 02:50:00 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

--8<---------------cut here---------------start------------->8---
$ diff -ru --no-dereference 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0{,-check}
Binary files 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/lib/libgcrypt.so.20.1.0
 and 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/lib/libgcrypt.so.20.1.0
 differ
Binary files 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/share/man/man1/hmac256.1.gz
 and 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/share/man/man1/hmac256.1.gz
 differ
$ git describe
v0.11.0-1-g4420940
--8<---------------cut here---------------end--------------->8---

For the .so file, the difference is in the file name that appears in the
.gnu_debuglink section (created by the ‘strip’ phase):

--8<---------------cut here---------------start------------->8---
$ diffoscope  
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/lib/libgcrypt.so.20.1.0
  
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/lib/libgcrypt.so.20.1.0
 
--- 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/lib/libgcrypt.so.20.1.0
+++ 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/lib/libgcrypt.so.20.1.0
├── readelf --wide --sections {}
│ @@ -24,15 +24,15 @@
│    [19] .data.rel.ro      PROGBITS        0000000000303040 103040 001140 00  
WA  0   0 64
│    [20] .dynamic          DYNAMIC         0000000000304180 104180 000220 10  
WA  3   0  8
│    [21] .got              PROGBITS        00000000003043a0 1043a0 000038 08  
WA  0   0  8
│    [22] .got.plt          PROGBITS        00000000003043d8 1043d8 000230 08  
WA  0   0  8
│    [23] .data             PROGBITS        0000000000304640 104640 006243 00  
WA  0   0 64
│    [24] .bss              NOBITS          000000000030a8c0 10a883 0004a0 00  
WA  0   0 64
│    [25] .comment          PROGBITS        0000000000000000 10a883 000011 01  
MS  0   0  1
│ -  [26] .gnu_debuglink    PROGBITS        0000000000000000 10a894 000018 00   
   0   0  1
│ -  [27] .shstrtab         STRTAB          0000000000000000 10a8ac 000106 00   
   0   0  1
│ +  [26] .gnu_debuglink    PROGBITS        0000000000000000 10a894 00001c 00   
   0   0  1
│ +  [27] .shstrtab         STRTAB          0000000000000000 10a8b0 000106 00   
   0   0  1
│    [28] .symtab           SYMTAB          0000000000000000 10a9b8 00b9b8 18   
  29 1706  8
│    [29] .strtab           STRTAB          0000000000000000 116370 008ba2 00   
   0   0  1
│  Key to Flags:
│    W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
│    I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
│    O (extra OS processing required) o (OS specific), p (processor specific)
├── readelf --wide --hex-dump=.gnu_debuglink {}
│ @@ -1,5 +1,5 @@
│  
│  Hex dump of section '.gnu_debuglink':
│ -  0x00000000 6c696267 63727970 742e736f 2e646562 libgcrypt.so.deb
│ -  0x00000010 75670000 ae3c353d                   ug...<5=
│ +  0x00000000 6c696267 63727970 742e736f 2e32302e libgcrypt.so.20.
│ +  0x00000010 64656275 67000000 ae3c353d          debug....<5=
│  
--8<---------------cut here---------------end--------------->8---

Most likely this is because ‘strip-dir’ in gnu-build-system.scm
traverses files in unsorted order, and thus can pick one or the other.

The other file has a timestamp issue:

--8<---------------cut here---------------start------------->8---
$ diffoscope 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0{,-check}/share/man/man1/hmac256.1.gz
--- 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0/share/man/man1/hmac256.1.gz
+++ 
/gnu/store/mpm281yzwcxzfc9n86krr61yhs2ja6gd-libgcrypt-1.7.0-check/share/man/man1/hmac256.1.gz
├── hmac256.1
│ @@ -1,9 +1,9 @@
│  .\" Created from Texinfo source by yat2m 1.0
│ -.TH HMAC256 1 2016-06-13 "Libgcrypt 1.7.0" "Libgcrypt"
│ +.TH HMAC256 1 2016-08-03 "Libgcrypt 1.7.0" "Libgcrypt"
│  .SH NAME
│  .B hmac256
│  \- Compute an HMAC-SHA-256 MAC
│  .SH SYNOPSIS
│  .B  hmac256
│  .RB [ \-\-binary ]
│  .I key
--8<---------------cut here---------------end--------------->8---

Ludo’.





reply via email to

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