On 19/02/2026 07:02, Samuel Thibault wrote:
Michael Kelly, le jeu. 19 févr. 2026 06:02:36 +0000, a ecrit:
The corruption isn't entirely random. These are the 'od' differences between
the broken shared library from the 'snapshot.debian.org' above and one from
a local build that doesn't show the R_X86_64_NONE elf entries:
$ diff working/hexdump broken/hexdump | grep '<'
< 024050 485f 6465 6567 6f68 7a67 4369 616c 7373
< 024070 7a5f 7464 5463 6972 6c70 3165 635f 6f6c
< 024ff0 6800 6465 6567 6f68 7a67 636d 616c 7373
< 066050 7098 001b 0000 0000 0008 0000 0000 0000
< 066070 0008 0000 0000 0000 5fe0 001b 0000 0000
< 066ff0 7f0b 001b 0000 0000 7f38 001b 0000 0000
< 0a0050 0000 0000 0000 0000 24d8 001a 0000 0000
< 0a0070 2598 001a 0000 0000 0001 0000 01f0 0000
< 0a0ff0 0001 0000 01f0 0000 0000 0000 0000 0000
< 120050 f024 8d48 7705 08d4 4900 4489 f824 8d49
< 120070 90ff c749 8885 0003 6800 0000 4100 65ff
< 120ff0 001e 0000 0000 0000 8b48 0875 8949 48de
Each 16 byte sequence above is completely replaced by zero in the broken
library. There is a consistent pattern of wrongly finding zero at page
offsets 0x50, 0x70 and 0xff0. I don't imagine there is anything generic to
conclude from these particular offsets but the consistency is perhaps
relevant.
Probably, yes.
I found 2 packages from your rebuild list that have corrupted builds.
Each package generates one shared library. I compared the 'od' dump of
that library with the equivalent of a successful local build which shows
a very similar pattern of offsets and 16 byte chunks being replaced by
zeros. I haven't analysed all of the rebuild list but these 2 were built
using libc0.3-dev (2.42-12):
haskell-dbus_1.4.1-1
> 012ff0 0000 0000 0000 0000 11ef 0001 0012 000c
> 0b4ff0 0008 0000 0000 0000 0e70 0021 0000 0000
> 16eff0 2484 fe60 ffff 8d49 2484 fe48 ffff 8949
> 192050 d824 fffe 48ff 058d f994 ffff 8949 2484
> 192070 fff9 49ff 8489 f824 fffe 49ff 9c89 0824
> 192ff0 0e7c 8b48 285d 8348 50c5 25ff d500 0006
haskell-heterocephalus_1.0.5.7-4
> 042050 0000 0000 0000 0000 31f8 000a 0000 0000
> 042070 3210 000a 0000 0000 0001 0000 0003 0000
> 042ff0 0001 0000 0043 0000 0000 0000 0000 0000
> 09a050 0000 0000 0000 0000 0015 0000 1488 0001
> 09a070 8948 48de c789 c031 83e8 fa9e 48ff c483
> 09aff0 4811 5d8b 4808 e383 48f8 c583 4810 038b
I don't know what the significance of this (if any) is yet.
Mike.