contrib: add ELF OS ABI check to symbol-check.py #26953
pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:symbol_check_elf_abi changing 1 files +26 −0-
fanquake commented at 3:33 pm on January 23, 2023: memberCheck that the operating system ABI version embedded into the release binaries, is the version we expect it to be.
-
fanquake added the label DrahtBot Guix build requested on Jan 23, 2023
-
DrahtBot commented at 3:33 pm on January 23, 2023: contributor
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Reviews
See the guideline for information on the review process.
Type Reviewers ACK laanwj, TheCharlatan If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
-
DrahtBot commented at 8:22 am on January 24, 2023: contributor
Guix builds
-
DrahtBot removed the label DrahtBot Guix build requested on Jan 24, 2023
-
DrahtBot added the label Scripts and tools on Jan 24, 2023
-
jarolrod commented at 3:54 am on February 2, 2023: member
GUIX hashes x86:
0b613364624f37ab3625cb565285d5fbc09fc278d99fa600761d42a8e176b22ec guix-build-332310efd36c/output/aarch64-linux-gnu/SHA256SUMS.part 1ab21bb47c23a5565b93499bdb20079133393a3de0f8eba9dd559dbb83a7cd3b4 guix-build-332310efd36c/output/aarch64-linux-gnu/bitcoin-332310efd36c-aarch64-linux-gnu-debug.tar.gz 2a2184aadbf035f622d0cf6d7a00faed0e3ac26f570464caed02ef3dc61e51d23 guix-build-332310efd36c/output/aarch64-linux-gnu/bitcoin-332310efd36c-aarch64-linux-gnu.tar.gz 3c3dd19835dd962febec0797bf899b52bc80f4b53e6d1d915c64b234812478b4e guix-build-332310efd36c/output/arm-linux-gnueabihf/SHA256SUMS.part 4fa450f4cd5b309704d15d0e2c4cd58f06cb5bfd88609b884d4b3d98aaeb44b56 guix-build-332310efd36c/output/arm-linux-gnueabihf/bitcoin-332310efd36c-arm-linux-gnueabihf-debug.tar.gz 5fb21e92152b4c3d51d25355b2a579afa0bcd7d76c9f51865d599dcc2f7beaf19 guix-build-332310efd36c/output/arm-linux-gnueabihf/bitcoin-332310efd36c-arm-linux-gnueabihf.tar.gz 6b57a5e53a51912ecc3f1618757a86f40f3be884b961a801d604e03761d1e4b0e guix-build-332310efd36c/output/arm64-apple-darwin/SHA256SUMS.part 728303d2d465c498e52b73c8b1ae3b6f9a7326b35063d3b0c60e1049f338efdcd guix-build-332310efd36c/output/arm64-apple-darwin/bitcoin-332310efd36c-arm64-apple-darwin-unsigned.dmg 8d3b796597584f53891b87bc62c71646af6982a475854d0ba24716bce1388938c guix-build-332310efd36c/output/arm64-apple-darwin/bitcoin-332310efd36c-arm64-apple-darwin-unsigned.tar.gz 9c68cc1cd348e8539d53de7ae1c6ec47e9ade298f722a471cebd577c473f4aea3 guix-build-332310efd36c/output/arm64-apple-darwin/bitcoin-332310efd36c-arm64-apple-darwin.tar.gz 1043bdc8f56fa373d31ea50ec681bdd62a4b3aaac9d885f775d60cc16c3b63d22b guix-build-332310efd36c/output/dist-archive/bitcoin-332310efd36c.tar.gz 1190c60610f0ea0e2d0aa2895dc988646eea1663cfdb893e258d20fe05b622afe9 guix-build-332310efd36c/output/powerpc64-linux-gnu/SHA256SUMS.part 12452b8d4c8deeca8adc0ddb2884436b194f8ee801768967c4160c25f774c5c005 guix-build-332310efd36c/output/powerpc64-linux-gnu/bitcoin-332310efd36c-powerpc64-linux-gnu-debug.tar.gz 135de617582c34e7775c08b01849f8767501ac70e4c2c7c8e2a5562b587b55391c guix-build-332310efd36c/output/powerpc64-linux-gnu/bitcoin-332310efd36c-powerpc64-linux-gnu.tar.gz 140fe73ba92683bc6121cc2007e59fce564fac582c0e7c1b5fdbdb7f2e29b969e8 guix-build-332310efd36c/output/powerpc64le-linux-gnu/SHA256SUMS.part 1503cec230c292a038ab15fb291887727505650cd46a4cc7eb1945aae1705b589a guix-build-332310efd36c/output/powerpc64le-linux-gnu/bitcoin-332310efd36c-powerpc64le-linux-gnu-debug.tar.gz 160ca72e499152c98e41038dd7980cd66b1ec2d53f86d3fed56ed87de0af307d47 guix-build-332310efd36c/output/powerpc64le-linux-gnu/bitcoin-332310efd36c-powerpc64le-linux-gnu.tar.gz 17af39357ad552fc7c2b465670cb3e5ae318d3d87b06ff5c96c00774769a7873a9 guix-build-332310efd36c/output/riscv64-linux-gnu/SHA256SUMS.part 185502fd29d5dfe37f9564d38dc383e10e76b916d1b5b4e0c6ad05fbb74badce0a guix-build-332310efd36c/output/riscv64-linux-gnu/bitcoin-332310efd36c-riscv64-linux-gnu-debug.tar.gz 1905daef4a8dee7fd87fa29f5af3177e814b8ac2a474e778842be4037754d29497 guix-build-332310efd36c/output/riscv64-linux-gnu/bitcoin-332310efd36c-riscv64-linux-gnu.tar.gz 2074099c68b405a865b6eeeb2bcb00416d5c8f8f10aae7cef87732b6ea0386af9b guix-build-332310efd36c/output/x86_64-apple-darwin/SHA256SUMS.part 212870737f91b70a5b94f36d41b5563165cf2f755914bc3e0ac40672cb449c9568 guix-build-332310efd36c/output/x86_64-apple-darwin/bitcoin-332310efd36c-x86_64-apple-darwin-unsigned.dmg 2246b73aa58b4b5687456078d168df7949847105ee27be2b5a9d5ebd8b40534e48 guix-build-332310efd36c/output/x86_64-apple-darwin/bitcoin-332310efd36c-x86_64-apple-darwin-unsigned.tar.gz 23a1490b47756709acf5912e5fc256051d5a7b417b1faf2868a90db96da376f7ed guix-build-332310efd36c/output/x86_64-apple-darwin/bitcoin-332310efd36c-x86_64-apple-darwin.tar.gz 241333e70c9a7d67a80c2b9fc4538d68837eafdd2292a0b09256555b284aadaf16 guix-build-332310efd36c/output/x86_64-linux-gnu/SHA256SUMS.part 2561560e69780629f03df4c0675da08978fc7085dfb73bf854dff493926613b6ea guix-build-332310efd36c/output/x86_64-linux-gnu/bitcoin-332310efd36c-x86_64-linux-gnu-debug.tar.gz 26f7d714eae2eee08afee66aaf716c9dc64b3ced97388a95edc589c80d817baed1 guix-build-332310efd36c/output/x86_64-linux-gnu/bitcoin-332310efd36c-x86_64-linux-gnu.tar.gz 27bdd82989888b620af3acd9cca7c1b7174f326e744491419ef83dbb709805b750 guix-build-332310efd36c/output/x86_64-w64-mingw32/SHA256SUMS.part 283402f52b89469e95cdc143e897f656c7065cd582f20d8f7ac15bab53741f1d50 guix-build-332310efd36c/output/x86_64-w64-mingw32/bitcoin-332310efd36c-win64-debug.zip 292a782a32f0a0c37887c9c4f6d9cd05d3ead2ee8da9064d3b00959f344d9147fc guix-build-332310efd36c/output/x86_64-w64-mingw32/bitcoin-332310efd36c-win64-setup-unsigned.exe 30af82074e3f875f6d921fe1db00541e1d59be002eb4f36f0e01c1bf26b886af78 guix-build-332310efd36c/output/x86_64-w64-mingw32/bitcoin-332310efd36c-win64-unsigned.tar.gz 31acb4196bce7875b969b24b60a8b01d3e997f600cbfe243f52dc6e57273f92db9 guix-build-332310efd36c/output/x86_64-w64-mingw32/bitcoin-332310efd36c-win64.zip
-
fanquake force-pushed on Feb 17, 2023
-
fanquake commented at 3:25 pm on February 17, 2023: member
Need to follow up here in regards to powerpc64 vs le. le is currently 3.10.0:
0ELF 64-bit LSB pie executable, 64-bit PowerPC or cisco 7500, OpenPOWER ELF V2 ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld64.so.2, for GNU/Linux 3.10.0, with debug_info, not stripped
as opposed to non-le:
0ELF 64-bit MSB pie executable, 64-bit PowerPC or cisco 7500, Power ELF V1 ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld64.so.1, for GNU/Linux 3.2.0, with debug_info, not stripped
-
fanquake force-pushed on Mar 31, 2023
-
fanquake force-pushed on Apr 4, 2023
-
in contrib/devtools/symbol-check.py:268 in 407bad3f5e outdated
260@@ -242,12 +261,18 @@ def check_ELF_interpreter(binary) -> bool: 261 262 return binary.concrete.interpreter == expected_interpreter 263 264+def check_ELF_ABI(binary) -> bool: 265+ expected_abi = ELF_ABIS[binary.header.machine_type][binary.abstract.header.endianness] 266+ note = binary.get(lief.ELF.NOTE_TYPES.ABI_TAG) 267+ return note.details.version == expected_abi
laanwj commented at 8:21 am on April 27, 2023:lets checknote.details.abi == lief.ELF.NOTE_ABIS.LINUX
as well
fanquake commented at 4:01 pm on May 2, 2023:Thanks, added a checklaanwj commented at 8:22 am on April 27, 2023: memberConcept and code review ACK 407bad3f5e9a749bb344ad677036f22c2b70ea69 , left a nitcontrib: add ELF ABI check to symbol-check.py 65ba8a79a2fanquake force-pushed on May 2, 2023fanquake added the label DrahtBot Guix build requested on May 2, 2023fanquake requested review from TheCharlatan on May 2, 2023fanquake requested review from laanwj on May 2, 2023laanwj commented at 4:38 pm on May 2, 2023: memberCode review ACK 65ba8a79a2919a0bd89f2f2d981e072d4f2f549dDrahtBot removed review request from laanwj on May 2, 2023in contrib/devtools/symbol-check.py:86 in 65ba8a79a2
81+ }, 82+ lief.ELF.ARCH.AARCH64: { 83+ lief.ENDIANNESS.LITTLE: [3,7,0], 84+ }, 85+ lief.ELF.ARCH.PPC64: { 86+ lief.ENDIANNESS.LITTLE: [3,10,0],
TheCharlatan commented at 8:02 pm on May 2, 2023:I tested all these versions manually first by reading them withreadelf --notes bitcoin-cli
and then running this script against the 24.0.1 release binaries. All the others matched, but the power pc little endian version gave me3.2.0
. Against which binaries did you check these?
fanquake commented at 8:08 pm on May 2, 2023:This is against master (binaries produced with a Guix build). The symbol/security scripts are (only) expected to work with the version of the source they are shipped with. In this case, we are using a newer version of glibc to produce the binaries in master, hence the difference. Think I also alluded to this in a comment above.
TheCharlatan commented at 8:11 pm on May 2, 2023:Ah right, all the better that we catch these now. I found a recent guix build and it checks out there.TheCharlatan changes_requestedTheCharlatan commented at 8:04 pm on May 2, 2023: contributorConcept ACK
Seems worthwhile to check these in case we accidentally increment the ABI version.
TheCharlatan approvedTheCharlatan commented at 8:12 pm on May 2, 2023: contributorACK 65ba8a79a2919a0bd89f2f2d981e072d4f2f549dDrahtBot commented at 10:19 pm on May 2, 2023: contributorGuix builds
File commit da9f62f912294de07a595df0b4898aba4be6b69c(master) commit 55afb2d46bf63fd52041af7c6e22a092a55d1cfa(master and this pull) SHA256SUMS.part e39ce08871ab3dd8...
e6b0fec99ecdf875...
*-aarch64-linux-gnu-debug.tar.gz 6898f2a756fd809e...
76fbd7d30790a9f6...
*-aarch64-linux-gnu.tar.gz 8a2ce45a5db2476b...
302fe71573fddf2c...
*-arm-linux-gnueabihf-debug.tar.gz 602c649e92a24403...
5ad320982805cd64...
*-arm-linux-gnueabihf.tar.gz 70ccdef2f6db08bd...
ba7bf53c3c439c16...
*-powerpc64-linux-gnu-debug.tar.gz fd98e67dcee848f3...
c6e00f383e16c8ad...
*-powerpc64-linux-gnu.tar.gz d7e35744b6ef52c2...
8ee214b29407e14d...
*-powerpc64le-linux-gnu-debug.tar.gz a3a2822ceffe2165...
0e0b11654b9b1fba...
*-powerpc64le-linux-gnu.tar.gz 79eb07a61eaf252e...
f03e1799789d7406...
*-riscv64-linux-gnu-debug.tar.gz 2904791e6e04d106...
01f7f49e7c422dec...
*-riscv64-linux-gnu.tar.gz 3ccabadd2f7d4c89...
75b8aba2bcd7b7f6...
*-x86_64-linux-gnu-debug.tar.gz 32f599cd353488a0...
d80eaef3e72794f4...
*-x86_64-linux-gnu.tar.gz 1076f6e3e569706b...
8538d1a1e25a2b65...
*.tar.gz 309aee4e4a3a45d3...
2f6c35bb99da3957...
guix_build.log f906b235b0228f70...
520e14119c212e17...
guix_build.log.diff 2ba7401c0a5f811b...
DrahtBot removed the label DrahtBot Guix build requested on May 2, 2023fanquake commented at 8:36 am on May 3, 2023: memberGuix Build:
080e0201c2f4c0c2639bfa4f53d7a0ca982e42e19e7abcbd013675e8323394bd8 guix-build-65ba8a79a291/output/aarch64-linux-gnu/SHA256SUMS.part 1c19b6dd1413d1796d59cee5243b8b004460e36ff0f86f277febbdcc43e5c5356 guix-build-65ba8a79a291/output/aarch64-linux-gnu/bitcoin-65ba8a79a291-aarch64-linux-gnu-debug.tar.gz 29a6f9a798d1d686828e1c658735bc230e4d141b6abfb75e6e819058566707535 guix-build-65ba8a79a291/output/aarch64-linux-gnu/bitcoin-65ba8a79a291-aarch64-linux-gnu.tar.gz 320b76fd565b64c010988a79934788d54661052f695a46f4b9b6ea6ed114f99ee guix-build-65ba8a79a291/output/arm-linux-gnueabihf/SHA256SUMS.part 4ff48663d82fb16ab3a0cc8e8c488b5c0b37c1f2c9549b49d887bc8947bbee9a1 guix-build-65ba8a79a291/output/arm-linux-gnueabihf/bitcoin-65ba8a79a291-arm-linux-gnueabihf-debug.tar.gz 56f11731fae29e7da16beb2dd04507affb89371699c7c8d3d3a4b2ae6e8108014 guix-build-65ba8a79a291/output/arm-linux-gnueabihf/bitcoin-65ba8a79a291-arm-linux-gnueabihf.tar.gz 6cbbacbb66bbfdf0790d1f666fe65327658df39f9a4e6333d679c708792ec46dc guix-build-65ba8a79a291/output/arm64-apple-darwin/SHA256SUMS.part 7581aecf32136215efac1382aed334de9799f738e1f846f71c4632b4e51ce812e guix-build-65ba8a79a291/output/arm64-apple-darwin/bitcoin-65ba8a79a291-arm64-apple-darwin-unsigned.dmg 86ffcabee1de3c94fd2ece7654b0d11b8f0c1f8bae107784de7125dfd1178d2ae guix-build-65ba8a79a291/output/arm64-apple-darwin/bitcoin-65ba8a79a291-arm64-apple-darwin-unsigned.tar.gz 9dc4f50ae658d16aab1137ab58a6b27bc65de8475a3c6274a21981750777e8851 guix-build-65ba8a79a291/output/arm64-apple-darwin/bitcoin-65ba8a79a291-arm64-apple-darwin.tar.gz 103d4f97fe7f80745f3a29c22f7577fc219c7dbcd6e1f9e2be2bdf864cfb6ffb08 guix-build-65ba8a79a291/output/dist-archive/bitcoin-65ba8a79a291.tar.gz 1154be372ebc78013a6814521d7d3d7af99ff0db767be9451d435e99caa5b65b6a guix-build-65ba8a79a291/output/powerpc64-linux-gnu/SHA256SUMS.part 1241103101dfe04fc4ea60876448f8759ff2c858618363f8f4037be0e02da838a5 guix-build-65ba8a79a291/output/powerpc64-linux-gnu/bitcoin-65ba8a79a291-powerpc64-linux-gnu-debug.tar.gz 135df94212d59d849f62c19433796de380a5140693ec3c49678fe2c36ce3791511 guix-build-65ba8a79a291/output/powerpc64-linux-gnu/bitcoin-65ba8a79a291-powerpc64-linux-gnu.tar.gz 14d0a3870d3412775cd62566a4890d201db96f0f77489f3b3757ec1a6d0fa4685e guix-build-65ba8a79a291/output/powerpc64le-linux-gnu/SHA256SUMS.part 153d2c7766b677bc348b63fe736721fd6eb1bece77d0a0293880adb9ae94846c84 guix-build-65ba8a79a291/output/powerpc64le-linux-gnu/bitcoin-65ba8a79a291-powerpc64le-linux-gnu-debug.tar.gz 16de75217ba3482e9ee7078a61a24396d3bf13a9b44858c3c4b057a5ed01ebefb7 guix-build-65ba8a79a291/output/powerpc64le-linux-gnu/bitcoin-65ba8a79a291-powerpc64le-linux-gnu.tar.gz 1716be15a04a0e0dea88de597dbe6a3405f2bdaad1a1be19596b81e9b6885c13a9 guix-build-65ba8a79a291/output/riscv64-linux-gnu/SHA256SUMS.part 1822826a8cb15cf4e446589304f75531a0f7e7c140bb2b9e048658a0cfb64d2cf8 guix-build-65ba8a79a291/output/riscv64-linux-gnu/bitcoin-65ba8a79a291-riscv64-linux-gnu-debug.tar.gz 19dcbb57f1852691d1f05eeb9a202f98d6476ef04b9cb5049c78099cb47c67279e guix-build-65ba8a79a291/output/riscv64-linux-gnu/bitcoin-65ba8a79a291-riscv64-linux-gnu.tar.gz 20da7fb28e8767d7cbf383fb8a2da22a8162f83c5d48ae424d73785cfb91659e66 guix-build-65ba8a79a291/output/x86_64-apple-darwin/SHA256SUMS.part 2170ca0d8ef414c6d2f67fa6cdcc1e80a659061ea861b18ab34ff7921745790e83 guix-build-65ba8a79a291/output/x86_64-apple-darwin/bitcoin-65ba8a79a291-x86_64-apple-darwin-unsigned.dmg 222e13bff7f50b62fc831bcacbb8dd9cd2f5858dd4a90e728668971b5ad41a93c5 guix-build-65ba8a79a291/output/x86_64-apple-darwin/bitcoin-65ba8a79a291-x86_64-apple-darwin-unsigned.tar.gz 235133a7efe6b40eba5b1d1c44bb5ce0570f489a70521e09622d47a98c61b79d49 guix-build-65ba8a79a291/output/x86_64-apple-darwin/bitcoin-65ba8a79a291-x86_64-apple-darwin.tar.gz 2455df50bd3dd148299204a4e25d524fba4e815a11bf3adba7a016979c2e7fb924 guix-build-65ba8a79a291/output/x86_64-linux-gnu/SHA256SUMS.part 25226c88785333cc917ed9a0a27a5c33a6efd803f282ad8cdb3a3b120dd18c1c86 guix-build-65ba8a79a291/output/x86_64-linux-gnu/bitcoin-65ba8a79a291-x86_64-linux-gnu-debug.tar.gz 26e73ec7a683cff540fa35d5c3a1237ff0b8400103adde5278fac72076b2246016 guix-build-65ba8a79a291/output/x86_64-linux-gnu/bitcoin-65ba8a79a291-x86_64-linux-gnu.tar.gz 27415f1cebc7fc19f15a93b36fbca7e75bf28d5ceb54f38db63cdcea57e097245d guix-build-65ba8a79a291/output/x86_64-w64-mingw32/SHA256SUMS.part 285b5192cbb488eaef2cba10ac0bd1cc215a27dc665bd6348be57648f2f2afeab7 guix-build-65ba8a79a291/output/x86_64-w64-mingw32/bitcoin-65ba8a79a291-win64-debug.zip 29b1afb1c4850a6597b6d38392c0d86e98ebaaddf840335987a8ddef54e3d242e5 guix-build-65ba8a79a291/output/x86_64-w64-mingw32/bitcoin-65ba8a79a291-win64-setup-unsigned.exe 30d2511915d8c29309a7291dadf45f00cf4320509605dc43b6a3198ad9019dc24e guix-build-65ba8a79a291/output/x86_64-w64-mingw32/bitcoin-65ba8a79a291-win64-unsigned.tar.gz 319e2711b3a0933584a8a8019c03eb0981c35300f17565315cb0d74a18f9544373 guix-build-65ba8a79a291/output/x86_64-w64-mingw32/bitcoin-65ba8a79a291-win64.zip
fanquake merged this on May 3, 2023fanquake closed this on May 3, 2023
fanquake deleted the branch on May 3, 2023sidhujag referenced this in commit ccc2ab4ba6 on May 4, 2023fanquake referenced this in commit 6a936580d1 on May 17, 2023fanquake referenced this in commit f998eb7662 on May 22, 2023sidhujag referenced this in commit 93833d3884 on May 23, 2023bitcoin locked this on May 2, 2024
github-metadata-mirror
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-23 12:12 UTC
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-23 12:12 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me
More mirrored repositories can be found on mirror.b10c.me