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--