[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’.
- bug#24136: libgcrypt 1.7.0 is not bit-reproducible,
Ludovic Courtès <=