Re: haskell package build corruptions

Michael Kelly <[email protected]> Fri, 24 Jul 2026 06:54:49 +0100
Newsgroups gmane.os.hurd.bugs
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------QcdSv8HCGJR60z0cHG3mOj4b
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Samuel,

Source file attached. It needs libelf-dev package and:

cc -o check_0x5070FF check_0x5070FF.c -lelf

It shows up as an obviously rushed prototype that could be rationalised 
and optimised. I thought about that but concluded it was pointless to 
risk breaking a "throw away" tool. It has been tested on 64 bit but 
might need some adaptation for 32 bit.

Cheers,

Mike.

On 23/07/2026 22:55, Samuel Thibault wrote:
> Re,
>
> Michael Kelly, le sam. 18 juil. 2026 21:35:50 +0100, a ecrit:
>> I wrote a small program to inspect all Elf executable 'progbits'
>> sections in each library for similar patterns.
> Could you share it? We still have some corrupted packages in the archive
> which makes some package build go mayhem without an easy way to know
> which library pose problem.
>
> Samuel
>
--------------QcdSv8HCGJR60z0cHG3mOj4b
Content-Type: text/x-csrc; charset=UTF-8; name="check_0x5070FF.c"
Content-Disposition: attachment; filename="check_0x5070FF.c"
Content-Transfer-Encoding: base64

I2luY2x1ZGUgPGVycm5vLmg+CiNpbmNsdWRlIDxlcnJvci5oPgojaW5jbHVkZSA8ZmNudGwu
aD4KI2luY2x1ZGUgPGxpYmVsZi5oPgojaW5jbHVkZSA8Z2VsZi5oPgojaW5jbHVkZSA8c3Rk
aW8uaD4KI2luY2x1ZGUgPG1hY2gvbWFjaC5oPgojaW5jbHVkZSA8c3lzL21tYW4uaD4KI2lu
Y2x1ZGUgPHN5cy9zdGF0Lmg+CgpzdGF0aWMgaW50CmNoZWNrX2NodW5rKGNvbnN0IGNoYXIq
IGFkZHIsCgkgICAgY29uc3Qgdm1fb2Zmc2V0X3Qgc3RhcnQsCgkgICAgY29uc3Qgdm1fb2Zm
c2V0X3QgZW5kLAoJICAgIGNvbnN0IHZtX29mZnNldF90IG9mZnNldCkKewogIGlmIChvZmZz
ZXQgPCBzdGFydCB8fCBvZmZzZXQgPj0gKGVuZCAtIDB4MTApKQogICAgcmV0dXJuIDA7Cgog
IGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNvbnRlbnQgPSAoY29uc3QgdW5zaWduZWQgY2hhciop
YWRkcjsKICBjb250ZW50ICs9IG9mZnNldDsKCiAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7
IGkgPCAweDEwOyBpKyspCiAgICB7CiAgICAgIGlmIChjb250ZW50W2ldICE9IDApCglyZXR1
cm4gMDsKICAgIH0KCiAgLyogZnByaW50ZihzdGRlcnIsICJ6ZXJvIGNodW5rOiAlbGx4XG4i
LCBvZmZzZXQpOyAqLwogIAogIHJldHVybiAxOwp9CgpzdGF0aWMgdW5zaWduZWQgaW50CmNo
ZWNrX2NodW5rcyhjb25zdCB2b2lkKiBhZGRyLAoJICAgICBjb25zdCB2bV9vZmZzZXRfdCBz
dGFydCwKCSAgICAgY29uc3Qgdm1fb2Zmc2V0X3Qgc3opCnsKICB2bV9vZmZzZXRfdCBlbmQg
PSAoc3RhcnQgKyBzeik7CiAgdm1fb2Zmc2V0X3Qgb2Zmc2V0ID0gc3RhcnQ7CiAgdW5zaWdu
ZWQgaW50IGVycm9ycyA9IDA7CgogIHdoaWxlIChvZmZzZXQgPCBlbmQpCiAgICB7CiAgICAg
IGNvbnN0IHZtX29mZnNldF90IHBhZ2Vfb2Zmc2V0ID0gKG9mZnNldCAmIH4weEZGRlVMTCk7
CgogICAgICB1bnNpZ25lZCBpbnQgY2h1bmtzID0KCShjaGVja19jaHVuayhhZGRyLCBvZmZz
ZXQsIGVuZCwgcGFnZV9vZmZzZXQgKyAweDUwKSArCgkgY2hlY2tfY2h1bmsoYWRkciwgb2Zm
c2V0LCBlbmQsIHBhZ2Vfb2Zmc2V0ICsgMHg3MCkgKwoJIGNoZWNrX2NodW5rKGFkZHIsIG9m
ZnNldCwgZW5kLCBwYWdlX29mZnNldCArIDB4ZmYwKSk7CgogICAgICBpZiAoY2h1bmtzID49
IDIpCgl7CgkgIC8qIGZwcmludGYoc3RkZXJyLCAiJWQgemVybyBjaHVua3MgYXQgb2Zmc2V0
OiAleFxuIiwgY2h1bmtzLCBvZmZzZXQpOyAqLwoJICBlcnJvcnMrKzsKCX0KCiAgICAgIGlm
IChvZmZzZXQgJiAweEZGRikKCXsKCSAgb2Zmc2V0ICs9IDB4MTAwMDsKCSAgb2Zmc2V0ICY9
ICh+MHhGRkZVTEwpOwoJfQogICAgICBlbHNlCglvZmZzZXQgKz0gMHgxMDAwOwogICAgfQoK
ICByZXR1cm4gZXJyb3JzOwp9CgppbnQKbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqYXJn
dltdKQp7CiAgaWYgKGFyZ2MgPCAyKQogICAgZXJyb3IoMSwgMCwgIlVzYWdlOiA8c2hhcmVk
LWxpYi1wYXRoPiIpOwoKICBjb25zdCBjaGFyKiBsaWJuYW1lID0gYXJndlsxXTsKCiAgaW50
IGZkID0gb3BlbihsaWJuYW1lLCBPX1JET05MWSk7CiAgaWYgKGZkID09IC0xKQogICAgZXJy
b3IoMSwgZXJybm8sICJDYW5ub3Qgb3BlbjogJXMiLCBsaWJuYW1lKTsKCiAgc3RydWN0IHN0
YXQgc3RhdGJ1ZjsKICBpZiAoZnN0YXQoZmQsICZzdGF0YnVmKSA9PSAtMSkKICAgIGVycm9y
KDEsIGVycm5vLCAiZnN0YXQiKTsKCiAgdm1fb2Zmc2V0X3QgbWF4X29mZnNldCA9IHN0YXRi
dWYuc3Rfc2l6ZTsKICB2bV9vZmZzZXRfdCBvZmZzZXQgPSAwOwogIHVuc2lnbmVkIGludCBl
cnJvcnMgPSAwOwoKICB2b2lkICphZGRyID0gbW1hcChOVUxMLCBtYXhfb2Zmc2V0LCBQUk9U
X1JFQUQsIE1BUF9QUklWQVRFLCBmZCwgMCk7CgogIGlmIChhZGRyID09IE1BUF9GQUlMRUQp
CiAgICBlcnJvcigxLCBlcnJubywgIm1tYXAgZmFpbGVkIik7CgogIGlmIChlbGZfdmVyc2lv
biAoRVZfQ1VSUkVOVCkgPT0gRVZfTk9ORSkKICAgIGVycm9yKDEsIDAsICJlbGYgaW5pdGlh
bGlzYXRpb24gZmFpbHVyZTogJXNcbiIsIGVsZl9lcnJtc2coLTEpKTsKCiAgRWxmICplbGZf
ZmlsZSA9IGVsZl9iZWdpbiAoZmQsIEVMRl9DX1JFQUQsIE5VTEwpOwoKICBpZiAoZWxmX2Zp
bGUpCiAgICB7CiAgICAgIEVsZl9LaW5kIGsgPSBlbGZfa2luZCAoZWxmX2ZpbGUpOwoKICAg
ICAgaWYgKGsgPT0gRUxGX0tfRUxGKQoJewoJICBFbGZfU2NuICpzY24gPSBOVUxMOwoKCSAg
d2hpbGUgKChzY24gPSBlbGZfbmV4dHNjbiAoZWxmX2ZpbGUsIHNjbikpICE9IE5VTEwpCgkg
ICAgewoJICAgICAgR0VsZl9TaGRyIGVsZl9zaGRyOwoKCSAgICAgIGlmIChnZWxmX2dldHNo
ZHIgKHNjbiwgJmVsZl9zaGRyKSAhPSAmZWxmX3NoZHIpCgkJZXJyb3IgKDEsIDAsICJDYW5u
b3QgcmV0cmlldmUgZWxmIHNlY3Rpb24gaGVhZGVyOiAlc1xuIiwKCQkgICAgICAgZWxmX2Vy
cm1zZygtMSkpOwoKCSAgICAgIGlmIChlbGZfc2hkci5zaF90eXBlID09IFNIVF9QUk9HQklU
UyAmJgoJCSAgZWxmX3NoZHIuc2hfZmxhZ3MgJiBTSEZfRVhFQ0lOU1RSKQoJCXsKCQkgIGNv
bnN0IHZtX29mZnNldF90IHNjbl9vZmZzZXQgPSBlbGZfc2hkci5zaF9vZmZzZXQ7CgkJICBj
b25zdCB2bV9vZmZzZXRfdCBzY25fc2l6ZSAgID0gZWxmX3NoZHIuc2hfc2l6ZTsKCQkgIEVs
Zl9EYXRhKiBkYXRhID0gTlVMTDsKCgkJICB3aGlsZSAoKGRhdGEgPSBlbGZfZ2V0ZGF0YSAo
c2NuLCBkYXRhKSkgIT0gTlVMTCkKCQkgICAgewoJCSAgICAgIHZtX29mZnNldF90IGRhdGFf
b2Zmc2V0ID0gc2NuX29mZnNldCArIGRhdGEtPmRfb2ZmOwoJCSAgICAgIHZtX29mZnNldF90
IGRhdGFfc2l6ZSA9IGRhdGEtPmRfc2l6ZTsKCgkJICAgICAgaWYgKChkYXRhX29mZnNldCAr
IGRhdGFfc2l6ZSkgPD0gbWF4X29mZnNldCkKCQkJewoJCQkgIC8qIGZwcmludGYoc3Rkb3V0
LCAiQ2hlY2tpbmcgcmFuZ2U6ICVsbHgtJWxseFxuIiwgKi8KCQkJICAvKiAJICBkYXRhX29m
ZnNldCwgKi8KCQkJICAvKiAJICBkYXRhX29mZnNldCArIGRhdGFfc2l6ZSk7ICovCgoJCQkg
IGVycm9ycyArPSBjaGVja19jaHVua3MoYWRkciwgZGF0YV9vZmZzZXQsIGRhdGFfc2l6ZSk7
CgkJCX0KCQkgICAgfQoJCX0KCSAgICB9Cgl9CgogICAgICBlbGZfZW5kIChlbGZfZmlsZSk7
CiAgICB9CiAgZWxzZQogICAgewogICAgICBmcHJpbnRmKHN0ZGVyciwgImVsZl9iZWdpbiBm
YWlsZWQ6ICVzXG4iLCBlbGZfZXJybXNnKC0xKSk7CiAgICB9CgogIGlmIChlcnJvcnMpCiAg
ICBmcHJpbnRmKHN0ZGVyciwgIlBvc3NpYmx5IGNvcnJ1cHQgbGlicmFyeTogJXNcbiIsIGxp
Ym5hbWUpOwoKICBpZiAobXVubWFwKGFkZHIsIHN0YXRidWYuc3Rfc2l6ZSkpCiAgICBlcnJv
cigxLCBlcnJubywgIm11bm1hcCBmYWlsZWQiKTsKCiAgcmV0dXJuIChlcnJvcnMgPyAwIDog
MSk7Cn0KICAK

--------------QcdSv8HCGJR60z0cHG3mOj4b--