Nonreproducible kernel modules on stable/12
Ed Maste
emaste at freebsd.org
Tue Mar 31 14:08:28 UTC 2020
Originally reported off-list, during a stable/12 freebsd-update build
kernel modules are not reproducible and thus get included in the
update.
diffoscope reports that the .SUNW_ctf section is responsible:
--- cam.0.ko
+++ cam.1.ko
├── readelf --wide --sections {}
...
│ [30] .shstrtab STRTAB 0000000000000000 0ea828
0001f8 00 0 0 1
│ - [31] .SUNW_ctf PROGBITS 0000000000000000 0f29d8
00e2ad 00 32 0 4
│ + [31] .SUNW_ctf PROGBITS 0000000000000000 0f29d8
00e2b1 00 32 0 4
│ [32] .symtab SYMTAB 0000000000000000 0e12b8
009570 18 33 1001 8
...
├── readelf --wide --decompress --hex-dump=.SUNW_ctf {}
│ @@ -1,3630 +1,3631 @@
│
│ Hex dump of section '.SUNW_ctf':
│ 0x00000000 f1cf0201 00000000 00000000 00000000 ................
│ 0x00000010 08000000 96040000 fc250000 f4310100 .........%...1..
│ - 0x00000020 6aeb0000 78dabc7d 077c54c5 16f7ccbd j...x..}.|T.....
│ - 0x00000030 774b42ca 26b48524 b0402001 02440d10 wKB.&..$.@ ..D..
...
│ + 0x00000020 6feb0000 78dabc7d 077c54c5 16f7ccdc o...x..}.|T.....
│ + 0x00000030 bb252165 13da4242 586a0204 081820d4 .%!e..BBXj.... .
(And build-ID and GNU debuglink differ as a result.)
Running ctfdump and comparing the result shows the issue:
--- a 2020-03-31 10:04:39.766567000 -0400
+++ b 2020-03-31 10:04:44.663292000 -0400
@@ -11,11 +11,11 @@
cth_funcoff = 1174
cth_typeoff = 9724
cth_stroff = 78324
- cth_strlen = 60266
+ cth_strlen = 60271
- Label Table ----------------------------------------------------------------
- 2407 FreeBSD 12.1-STABLE amd64 1201512
+ 2407 FreeBSD 12.1-FUTUREBUILD amd64 1201512
- Data Objects ---------------------------------------------------------------
Aside, we should add ctfdump to diffoscope.
More information about the freebsd-reproducibility
mailing list