Reproducibility regression with mx6cuboxi

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jul 22 20:32:28 CEST 2020


On 19.07.20 20:23, Vagrant Cascadian wrote:
> The mx6cuboxi target no longer builds reproducibility on Debian. I've
> bisected it down to:
>
>   eb9124f5748c96ffd548e50fd6989c3b5395b353 mx6cuboxi: enable OF_CONTROL with DM_MMC and DM_USB
>
>
> Based on the diffoscope output, it *might* have something to do with the
> changes to how board detection uses gpios:
>
> --- /tmp/tmpj_t0iqs7/control
> +++ /tmp/tmpj_t0iqs7/experiment-time
> │   --- /tmp/tmpj_t0iqs7/control/source-root
> ├── +++ /tmp/tmpj_t0iqs7/experiment-time/source-root
> │ │   --- /tmp/tmpj_t0iqs7/control/source-root/u-boot-with-spl.imx
> │ ├── +++ /tmp/tmpj_t0iqs7/experiment-time/source-root/u-boot-with-spl.imx
> │ │ @@ -4346,16 +4346,16 @@
> │ │  00010f90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  00010fa0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  00010fb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  00010fc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  00010fd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  00010fe0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  00010ff0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │ -00011000: 2705 1956 7088 eb01 5f14 7b49 0008 565c  '..Vp..._.{I..V\
> │ │ -00011010: 1780 0000 1780 0000 9463 4032 1102 0500  .........c at 2....
> │ │ +00011000: 2705 1956 36e7 7190 5f14 7b49 0008 565c  '..V6.q._.{I..V\
> │ │ +00011010: 1780 0000 1780 0000 de74 408a 1102 0500  .........t at .....
> │ │  00011020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  00011030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  00011040: b800 00ea 14f0 9fe5 14f0 9fe5 14f0 9fe5  ................
> │ │  00011050: 14f0 9fe5 14f0 9fe5 14f0 9fe5 14f0 9fe5  ................
> │ │  00011060: 6000 8017 c000 8017 2001 8017 8001 8017  `....... .......
> │ │  00011070: e001 8017 4002 8017 a002 8017 efbe adde  .... at ...........
> │ │  00011080: 2000 9000 00f0 20e3 00f0 20e3 00f0 20e3   ..... ... ... .
> │ │ @@ -33330,15 +33330,15 @@
> │ │  00082310: 6c6f 636b 2d6d 6173 7465 7200 7369 6d70  lock-master.simp
> │ │  00082320: 6c65 2d61 7564 696f 2d63 6172 642c 6672  le-audio-card,fr
> │ │  00082330: 616d 652d 6d61 7374 6572 0073 696d 706c  ame-master.simpl
> │ │  00082340: 652d 6175 6469 6f2d 6361 7264 2c77 6964  e-audio-card,wid
> │ │  00082350: 6765 7473 0073 696d 706c 652d 6175 6469  gets.simple-audi
> │ │  00082360: 6f2d 6361 7264 2c72 6f75 7469 6e67 0073  o-card,routing.s
> │ │  00082370: 6f75 6e64 2d64 6169 0064 6574 6563 742d  ound-dai.detect-
> │ │ -00082380: 6770 696f 7300 6275 d00d feed 0000 9e9e  gpios.bu........
> │ │ +00082380: 6770 696f 7300 0023 d00d feed 0000 9e9e  gpios..#........

In file 'u-boot' there is only one occurence of string "detect-gpios"
followed by "\0HUSH_NO_EVAL".

In file 'u-boot.bin' I see a second occurence not followed by
"\0HUSH_NO_EVAL".

The second instance is introduced fit-dtb.blob.

fit-dtb.blob is created from  dts/dt.dtb using the mkimage tool.

The last bytes of dts/dtb are

"routing.sound-dai\0detect-gpios\0"

So it seems the mkimage tool is introducing the variable bytes after
"detect-gpios\0". Possibly it is not clearing buffers.

Best regards

Heinich

> │ │  00082390: 0000 0038 0000 9600 0000 0028 0000 0011  ...8.......(....
> │ │  000823a0: 0000 0010 0000 0000 0000 089e 0000 95c8  ................
> │ │  000823b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  000823c0: 0000 0001 0000 0000 0000 0003 0000 0004  ................
> │ │  000823d0: 0000 0000 0000 0001 0000 0003 0000 0004  ................
> │ │  000823e0: 0000 000f 0000 0001 0000 0003 0000 0033  ...............3
> │ │  000823f0: 0000 001b 536f 6c69 6452 756e 2048 756d  ....SolidRun Hum
> │ │ @@ -35868,15 +35868,15 @@
> │ │  0008c1b0: 6c6f 636b 2d6d 6173 7465 7200 7369 6d70  lock-master.simp
> │ │  0008c1c0: 6c65 2d61 7564 696f 2d63 6172 642c 6672  le-audio-card,fr
> │ │  0008c1d0: 616d 652d 6d61 7374 6572 0073 696d 706c  ame-master.simpl
> │ │  0008c1e0: 652d 6175 6469 6f2d 6361 7264 2c77 6964  e-audio-card,wid
> │ │  0008c1f0: 6765 7473 0073 696d 706c 652d 6175 6469  gets.simple-audi
> │ │  0008c200: 6f2d 6361 7264 2c72 6f75 7469 6e67 0073  o-card,routing.s
> │ │  0008c210: 6f75 6e64 2d64 6169 0064 6574 6563 742d  ound-dai.detect-
> │ │ -0008c220: 6770 696f 7300 0023 d00d feed 0000 a473  gpios..#.......s
> │ │ +0008c220: 6770 696f 7300 3230 d00d feed 0000 a473  gpios.20.......s
> │ │  0008c230: 0000 0038 0000 9b6c 0000 0028 0000 0011  ...8...l...(....
> │ │  0008c240: 0000 0010 0000 0000 0000 0907 0000 9b34  ...............4
> │ │  0008c250: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> │ │  0008c260: 0000 0001 0000 0000 0000 0003 0000 0004  ................
> │ │  0008c270: 0000 0000 0000 0001 0000 0003 0000 0004  ................
> │ │  0008c280: 0000 000f 0000 0001 0000 0003 0000 002f  .............../
> │ │  0008c290: 0000 001b 536f 6c69 6452 756e 2048 756d  ....SolidRun Hum
> │ │ @@ -38499,8 +38499,8 @@
> │ │  00096620: 2c62 6974 636c 6f63 6b2d 6d61 7374 6572  ,bitclock-master
> │ │  00096630: 0073 696d 706c 652d 6175 6469 6f2d 6361  .simple-audio-ca
> │ │  00096640: 7264 2c66 7261 6d65 2d6d 6173 7465 7200  rd,frame-master.
> │ │  00096650: 7369 6d70 6c65 2d61 7564 696f 2d63 6172  simple-audio-car
> │ │  00096660: 642c 7769 6467 6574 7300 7369 6d70 6c65  d,widgets.simple
> │ │  00096670: 2d61 7564 696f 2d63 6172 642c 726f 7574  -audio-card,rout
> │ │  00096680: 696e 6700 736f 756e 642d 6461 6900 6465  ing.sound-dai.de
> │ │ -00096690: 7465 6374 2d67 7069 6f73 0000            tect-gpios..
> │ │ +00096690: 7465 6374 2d67 7069 6f73 0061            tect-gpios.a
>
> A similar diffoscope output is also available here:
>
>   https://tests.reproducible-builds.org/debian/rb-pkg/bullseye/armhf/diffoscope-results/u-boot.html
>
> Using reprotest to diagnose the issue, it suggests the issue may be
> related to the time of the build.
>
> Is there a generated file embedded in the resulting image, or a
> compressed archive of some kind (e.g. gzip, tar, zip, etc.) that might
> include the build time?
>
>
> https://diffoscope.org/
> https://packages.debian.org/unstable/reprotest
>
>
> live well,
>   vagrant
>



More information about the U-Boot mailing list