aboutsummaryrefslogtreecommitdiff
path: root/contrib/guix/patches
AgeCommit message (Collapse)Author
2024-03-26doc: fix some typoscrazeteam
Signed-off-by: crazeteam <lilujing@outlook.com>
2024-03-12guix: use GCC 12.3.0fanquake
Retain native GCC 10 toolchain for macOS, to prevent compile failures in native tools (this will be removed entirely when we tansition to LLD). Update the vmov-alignment patch, for changes in GCC 12.
2023-08-30guix: remove GCC 10 workaround from NSISfanquake
Fixed upstream in 3.06, see https://github.com/kichik/nsis/commit/229b6136c41ba5caba25936f4927476d20aa283f. https://sourceforge.net/p/nsis/bugs/1248/
2023-08-24guix: drop Windows broken-longjmp.patchfanquake
This is no-longer required, now that we are building using GCC 10.4.0.
2023-08-24guix: drop NSIS patch now that we use 3.09fanquake
See https://sourceforge.net/p/nsis/bugs/1283/.
2023-08-24guix: backport glibc patch to fix powerpc buildfanquake
Do this prior to bumping the time-machine, to avoid the following build failure: ```bash /tmp/guix-build-glibc-cross-powerpc64le-linux-gnu-2.27.drv-0/build/string/memset-power8.o.dt -MT /tmp/guix-build-glibc-cross-powerpc64le-linux-gnu-2.27.drv-0/build/string/memset-power8.o ../sysdeps/powerpc/powerpc64/power4/memcmp.S: Assembler messages: ../sysdeps/powerpc/powerpc64/power4/memcmp.S:87: Error: unrecognized opcode: `ldbrx' ../sysdeps/powerpc/powerpc64/power4/memcmp.S:88: Error: unrecognized opcode: `ldbrx' ../sysdeps/powerpc/powerpc64/power4/memcmp.S:112: Error: unrecognized opcode: `ldbrx' ``` See: https://sourceware.org/git/?p=glibc.git;a=commit;h=9250e6610fdb0f3a6f238d2813e319a41fb7a810. https://github.com/gcc-mirror/gcc/commit/e154242724b084380e3221df7c08fcdbd8460674.
2023-08-18guix: pre time-machine bump changes (Windows)fanquake
Split out of #27897. This is some refactoring to the Windows Guix build that facilitates bumping our Guix time-machine. Namely, avoiding `package-with-extra-configure-variable`, which is non-functional in the newer time-machine, see https://issues.guix.gnu.org/64436. At the same time, consolidate our Windows GCC build into mingw-w64-base-gcc. Rename `gcc-10-remap-guix-store.patch` to avoid changing it whenever GCC changes. We move the old `building-on` inside `explicit-cross-configure`, so that non-windows builds continue to work. Note that `explicit-cross-configure` will be going away entirely (see #27897).
2023-07-12guix: backport glibc patch to prevent redundant librt linkfanquake
2023-06-23guix: Update `python-lief` package to 0.13.2Hennadii Stepanov
2023-05-22Merge bitcoin/bitcoin#27670: guix: remove redundant glibc patchesfanquake
3cfe366ec35eebfc0dad89ac7a09c32c45c30ea5 guix: remove redundant glibc patches (fanquake) Pull request description: These should only be relevant for a glibc that is built as part of a Guix system, and should not be required for a glibc that is just being built to compile our binaries against. A x86_64 linux bitcoind produced with Guix using master vs this change has no difference. i.e: #### Comparing `bitcoind` & `../../../../../guix-build-d7700d3a2647/output/x86_64-linux-gnu/bitcoin-d7700d3a2647/bin/bitcoind`: ## strings --all --bytes=8 {} ```diff @@ -20311,15 +20311,15 @@ This is experimental software. The source code is available from %s. Please contribute if you find %s useful. Visit %s for further information about the software. The %s developers The Bitcoin Core developers <https://bitcoincore.org/> Copyright (C) %i-%i -v25.99.0-gda0bf1d07639b0490791bbd6aec71bbea8aa2aThe %s developer<https://github.com/bitcoin/bitcDistributed under the MIT software license, see the accompanyingThis is experimeThe source code is available froPlease contribute if you find %s useful. Visit %s for further information about Copyright (C) %ibool BCLog::Logger::StartLogging() +v25.99.0-gd7700d3a26478d9b1648463c188648c7047b1cThe %s developer<https://github.com/bitcoin/bitcDistributed under the MIT software license, see the accompanyingThis is experimeThe source code is available froPlease contribute if you find %s useful. Visit %s for further information about Copyright (C) %ibool BCLog::Logger::StartLogging() std::string BCLog::Logger::LogLevelToStr(BCLog::Level) const std::string LogCategoryToStr(BCLog::LogFlags) void BCLog::Logger::LogPrintStr(const string&, const string&, const string&, int, BCLog::LogFlags, BCLog::Level) void BCLog::Logger::ShrinkDebugFile() Failed to shrink debug log file: fseek(...) failed logging.cpp m_buffering ``` #### objdump --line-numbers --disassemble --demangle --reloc --no-show-raw-insn --section=.text {} ```diff @@ -1505889,15 +1505889,15 @@ call aa3380 <malloc@plt+0xa4edb0> mov (%rsp),%rdx movdqa 0x465540(%rip),%xmm0 mov %rax,0x7a0559(%rip) lea 0x7a0552(%rip),%rsi lea 0x3957bb(%rip),%rdi mov %rdx,0x7a0554(%rip) -mov $0x3038,%edx +mov $0x3036,%edx movups %xmm0,(%rax) movdqa 0x465524(%rip),%xmm0 mov %dx,0x30(%rax) mov 0x7a0529(%rip),%rdx movups %xmm0,0x10(%rax) movdqa 0x46551d(%rip),%xmm0 movups %xmm0,0x20(%rax) ``` #### readelf --wide --decompress --hex-dump=.rodata {} ```diff @@ -37238,17 +37238,17 @@ 0x00b73730 65202573 20646576 656c6f70 65727300 e %s developers. 0x00b73740 54686520 42697463 6f696e20 436f7265 The Bitcoin Core 0x00b73750 20646576 656c6f70 65727300 434f5059 developers.COPY 0x00b73760 494e4700 3c687474 70733a2f 2f626974 ING.<https://bit 0x00b73770 636f696e 636f7265 2e6f7267 2f3e0043 coincore.org/>.C 0x00b73780 6f707972 69676874 20284329 2025692d opyright (C) %i- 0x00b73790 25690053 61746f73 68690000 00000000 %i.Satoshi...... - 0x00b737a0 7632352e 39392e30 2d676461 30626631 v25.99.0-gda0bf1 - 0x00b737b0 64303736 33396230 34393037 39316262 d07639b0490791bb - 0x00b737c0 64366165 63373162 62656138 61613261 d6aec71bbea8aa2a + 0x00b737a0 7632352e 39392e30 2d676437 37303064 v25.99.0-gd7700d + 0x00b737b0 33613236 34373864 39623136 34383436 3a26478d9b164846 + 0x00b737c0 33633138 38363438 63373034 37623163 3c188648c7047b1c 0x00b737d0 54686520 25732064 6576656c 6f706572 The %s developer 0x00b737e0 3c687474 70733a2f 2f676974 6875622e <https://github. 0x00b737f0 636f6d2f 62697463 6f696e2f 62697463 com/bitcoin/bitc 0x00b73800 44697374 72696275 74656420 756e6465 Distributed unde 0x00b73810 72207468 65204d49 5420736f 66747761 r the MIT softwa 0x00b73820 7265206c 6963656e 73652c20 73656520 re license, see 0x00b73830 74686520 6163636f 6d70616e 79696e67 the accompanying ``` #### readelf --wide --decompress --hex-dump=.gnu_debuglink {} ```diff @@ -1,5 +1,5 @@ Hex dump of section '.gnu_debuglink': 0x00000000 62697463 6f696e64 2e646267 00000000 bitcoind.dbg.... - 0x00000010 6b6e8eda kn.. + 0x00000010 345cb865 4\.e ``` Guix Build: ```bash 3d180219536b4ae2b4ea012a2e2afc8dcc76a79a7f55a36418a6e5a83f5adf90 guix-build-3cfe366ec35e/output/aarch64-linux-gnu/SHA256SUMS.part c25fbd84b7791d5bd3cab36d26828bf2b1063fadc4e944096e65597b66aba867 guix-build-3cfe366ec35e/output/aarch64-linux-gnu/bitcoin-3cfe366ec35e-aarch64-linux-gnu-debug.tar.gz bee8bf6f100912a0548cee798abb1ee9ac1ee17c065259a2410950e71eb3ff13 guix-build-3cfe366ec35e/output/aarch64-linux-gnu/bitcoin-3cfe366ec35e-aarch64-linux-gnu.tar.gz caa17fa9ba8b731c903a96211b2c17e8a1e2600bd9df8abd79eac4a89bfff72d guix-build-3cfe366ec35e/output/arm-linux-gnueabihf/SHA256SUMS.part 27829fab271cca459e2d037c42ccbefbbbbb1eb4463d5895d5a40220d737ecd9 guix-build-3cfe366ec35e/output/arm-linux-gnueabihf/bitcoin-3cfe366ec35e-arm-linux-gnueabihf-debug.tar.gz 6b3eba0d9518dce3a6b7d88a32ae2a5b5ab943126e2a105d4ee6a861d44bea6f guix-build-3cfe366ec35e/output/arm-linux-gnueabihf/bitcoin-3cfe366ec35e-arm-linux-gnueabihf.tar.gz 855ab932aa0cc6d583a0f0422b1373afd44bff244e0022f29ce45305e5c8e8e2 guix-build-3cfe366ec35e/output/arm64-apple-darwin/SHA256SUMS.part 02aabfdfe730400550bfc01e45055f6bc5b643511f08e314634c06b462a00c9e guix-build-3cfe366ec35e/output/arm64-apple-darwin/bitcoin-3cfe366ec35e-arm64-apple-darwin-unsigned.dmg 310722826ba985c58d800135f7ba9c73489e138cbf1b84a50be4f13453918ce1 guix-build-3cfe366ec35e/output/arm64-apple-darwin/bitcoin-3cfe366ec35e-arm64-apple-darwin-unsigned.tar.gz 52d4f1af1e2608da4fa28ed446301d5c516e492c760db03c05c2a421c0a64ab9 guix-build-3cfe366ec35e/output/arm64-apple-darwin/bitcoin-3cfe366ec35e-arm64-apple-darwin.tar.gz 2055c29fcde9aba8274d3649ea0c34ef0dac207d9d6f6a76fd9df9b010cdd7a8 guix-build-3cfe366ec35e/output/dist-archive/bitcoin-3cfe366ec35e.tar.gz 99feae7ee4bfaf818efe49fbc9de81575a1e087593059bd630da70f5c6b8a7c8 guix-build-3cfe366ec35e/output/powerpc64-linux-gnu/SHA256SUMS.part 7a55a6287eec3cfe598378684293b077791da234f1d5fcfe6f368e42f8a52428 guix-build-3cfe366ec35e/output/powerpc64-linux-gnu/bitcoin-3cfe366ec35e-powerpc64-linux-gnu-debug.tar.gz c2ba080a26b4bbfa443113d0044d07b97cc08f55df6bec90f162232f3f934c58 guix-build-3cfe366ec35e/output/powerpc64-linux-gnu/bitcoin-3cfe366ec35e-powerpc64-linux-gnu.tar.gz a670349367e671e73317476795eb7317559bf171d3facdfc2086031eb9dca264 guix-build-3cfe366ec35e/output/powerpc64le-linux-gnu/SHA256SUMS.part f9c0683f515bfd072ad18a780ad35ace7e4f5529d5bd9fffc06490d55bac402e guix-build-3cfe366ec35e/output/powerpc64le-linux-gnu/bitcoin-3cfe366ec35e-powerpc64le-linux-gnu-debug.tar.gz 608cce8d989b6cbfa723d57744a7e0ceac6a8668b12b4e223fe3de7833fe73ac guix-build-3cfe366ec35e/output/powerpc64le-linux-gnu/bitcoin-3cfe366ec35e-powerpc64le-linux-gnu.tar.gz bbdebd22afc49c66c70738f68e3beea363c4a03701ccbb729d6f0eb0a0eaf150 guix-build-3cfe366ec35e/output/riscv64-linux-gnu/SHA256SUMS.part a84871c91a9b9d3423e9b86ffd46eb926672a1a88a3a3df1a5e8288a1fe6d98b guix-build-3cfe366ec35e/output/riscv64-linux-gnu/bitcoin-3cfe366ec35e-riscv64-linux-gnu-debug.tar.gz 21a89eb023113398bc1968284cbea86c6630284cb09325b9cee9669348206683 guix-build-3cfe366ec35e/output/riscv64-linux-gnu/bitcoin-3cfe366ec35e-riscv64-linux-gnu.tar.gz 10f4ef77a97420490bc4494797d0acf8278f5bd4998b6c32881e611cc2faf237 guix-build-3cfe366ec35e/output/x86_64-apple-darwin/SHA256SUMS.part 6e47a3676e76cd7175a08b6da81dcf7186849aba7c2ee95f12e998fdf1d4596d guix-build-3cfe366ec35e/output/x86_64-apple-darwin/bitcoin-3cfe366ec35e-x86_64-apple-darwin-unsigned.dmg 9ca8cd648a464e4e0bef107e23876d4588866eb12b844484a16fe93e4cd2f3b3 guix-build-3cfe366ec35e/output/x86_64-apple-darwin/bitcoin-3cfe366ec35e-x86_64-apple-darwin-unsigned.tar.gz 89c7a5040683b63f58667f4eea6827af2874fc0962ddba3a158ad3aa78b8a407 guix-build-3cfe366ec35e/output/x86_64-apple-darwin/bitcoin-3cfe366ec35e-x86_64-apple-darwin.tar.gz 1577c7f6c5eb7cb073c0ba32cfe7347df5aeaf62508d0ba1936506b1cb8a739e guix-build-3cfe366ec35e/output/x86_64-linux-gnu/SHA256SUMS.part 8703d39ce218216ee43502e030d3b3fbe6a00bdab82e8cd0706fa597fc6e11b7 guix-build-3cfe366ec35e/output/x86_64-linux-gnu/bitcoin-3cfe366ec35e-x86_64-linux-gnu-debug.tar.gz 3e4d44d3cddfe2e34c12f55a704f791834385e1a867856e8a1c05f4f4fb3482a guix-build-3cfe366ec35e/output/x86_64-linux-gnu/bitcoin-3cfe366ec35e-x86_64-linux-gnu.tar.gz 87186fbcc7f0580ef3a347603c868f96bba31a987cad86991fa79b740d41f654 guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/SHA256SUMS.part ceefefe1eb1d518f1534e0e3d51347332874016ce6adeba691fbbfc0b561437a guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/bitcoin-3cfe366ec35e-win64-debug.zip 7bf2736457431bbba5c64b5320dd1c72d0d13fae59127fcc92805946de83908a guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/bitcoin-3cfe366ec35e-win64-setup-unsigned.exe 721838ac437db5764c22c90d9c0a0b51283d6a50da8c60a6bccb394090380195 guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/bitcoin-3cfe366ec35e-win64-unsigned.tar.gz dd58422fc4fd89353002bdb6a546b997fe31546c348a9b4a87bc697913abd382 guix-build-3cfe366ec35e/output/x86_64-w64-mingw32/bitcoin-3cfe366ec35e-win64.zip ``` ACKs for top commit: TheCharlatan: ACK 3cfe366ec35eebfc0dad89ac7a09c32c45c30ea5 Tree-SHA512: b1f30f8775acd69e897784c2168887eedc008db80f6d2d0d68390716965fbd3ddfd70fd1560ef30a8cc70941e9010c395c7feed9386ca92b2c9148d063d64724
2023-05-16guix: remove redundant glibc patchesfanquake
These should only be relevant for a glibc that is built as part of a Guix system, and should not be required for a glibc that is just being built to compile our binaries against. A x86_64 linux bitcoind produced with Guix using master vs this change has no difference. i.e: ```diff @@ -20311,15 +20311,15 @@ This is experimental software. The source code is available from %s. Please contribute if you find %s useful. Visit %s for further information about the software. The %s developers The Bitcoin Core developers <https://bitcoincore.org/> Copyright (C) %i-%i -v25.99.0-gda0bf1d07639b0490791bbd6aec71bbea8aa2aThe %s developer<https://github.com/bitcoin/bitcDistributed under the MIT software license, see the accompanyingThis is experimeThe source code is available froPlease contribute if you find %s useful. Visit %s for further information about Copyright (C) %ibool BCLog::Logger::StartLogging() +v25.99.0-gd7700d3a26478d9b1648463c188648c7047b1cThe %s developer<https://github.com/bitcoin/bitcDistributed under the MIT software license, see the accompanyingThis is experimeThe source code is available froPlease contribute if you find %s useful. Visit %s for further information about Copyright (C) %ibool BCLog::Logger::StartLogging() std::string BCLog::Logger::LogLevelToStr(BCLog::Level) const std::string LogCategoryToStr(BCLog::LogFlags) void BCLog::Logger::LogPrintStr(const string&, const string&, const string&, int, BCLog::LogFlags, BCLog::Level) void BCLog::Logger::ShrinkDebugFile() Failed to shrink debug log file: fseek(...) failed logging.cpp m_buffering ``` ```diff @@ -1505889,15 +1505889,15 @@ call aa3380 <malloc@plt+0xa4edb0> mov (%rsp),%rdx movdqa 0x465540(%rip),%xmm0 mov %rax,0x7a0559(%rip) lea 0x7a0552(%rip),%rsi lea 0x3957bb(%rip),%rdi mov %rdx,0x7a0554(%rip) - mov $0x3038,%edx + mov $0x3036,%edx movups %xmm0,(%rax) movdqa 0x465524(%rip),%xmm0 mov %dx,0x30(%rax) mov 0x7a0529(%rip),%rdx movups %xmm0,0x10(%rax) movdqa 0x46551d(%rip),%xmm0 movups %xmm0,0x20(%rax) ``` ```diff @@ -37238,17 +37238,17 @@ 0x00b73730 65202573 20646576 656c6f70 65727300 e %s developers. 0x00b73740 54686520 42697463 6f696e20 436f7265 The Bitcoin Core 0x00b73750 20646576 656c6f70 65727300 434f5059 developers.COPY 0x00b73760 494e4700 3c687474 70733a2f 2f626974 ING.<https://bit 0x00b73770 636f696e 636f7265 2e6f7267 2f3e0043 coincore.org/>.C 0x00b73780 6f707972 69676874 20284329 2025692d opyright (C) %i- 0x00b73790 25690053 61746f73 68690000 00000000 %i.Satoshi...... - 0x00b737a0 7632352e 39392e30 2d676461 30626631 v25.99.0-gda0bf1 - 0x00b737b0 64303736 33396230 34393037 39316262 d07639b0490791bb - 0x00b737c0 64366165 63373162 62656138 61613261 d6aec71bbea8aa2a + 0x00b737a0 7632352e 39392e30 2d676437 37303064 v25.99.0-gd7700d + 0x00b737b0 33613236 34373864 39623136 34383436 3a26478d9b164846 + 0x00b737c0 33633138 38363438 63373034 37623163 3c188648c7047b1c 0x00b737d0 54686520 25732064 6576656c 6f706572 The %s developer 0x00b737e0 3c687474 70733a2f 2f676974 6875622e <https://github. 0x00b737f0 636f6d2f 62697463 6f696e2f 62697463 com/bitcoin/bitc 0x00b73800 44697374 72696275 74656420 756e6465 Distributed unde 0x00b73810 72207468 65204d49 5420736f 66747761 r the MIT softwa 0x00b73820 7265206c 6963656e 73652c20 73656520 re license, see 0x00b73830 74686520 6163636f 6d70616e 79696e67 the accompanying ``` ```diff @@ -1,5 +1,5 @@ Hex dump of section '.gnu_debuglink': 0x00000000 62697463 6f696e64 2e646267 00000000 bitcoind.dbg.... - 0x00000010 6b6e8eda kn.. + 0x00000010 345cb865 4\.e ```
2023-05-16guix: document when certain guix patches can be droppedfanquake
2023-02-13guix: use glibc 2.27 for all Linux buildsfanquake
Also point to the latest commit on the glibc 2.27 releases branch. https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.27/master
2022-09-06guix: consistently use -ffile-prefix-mapfanquake
Aside from being the newer, more comprehensive option, it's what we claim to use in the patch docs, and everywhere else in guix.
2022-08-05guix: patch NSIS to remove .reloc sections from install stubsfanquake
With the release of binutils/ld 2.36, ld swapped to much improved default settings when producing windows binaries with mingw-w64. One of these changes was to stop stripping the .reloc section from binaries, which is required for working ASLR. .reloc section stripping is something we've accounted for previously, see #18702. The related upstream discussion is in this thread: https://sourceware.org/bugzilla/show_bug.cgi?id=19011. When we switched to using a newer Guix time-machine in #23778, we begun using binutils 2.37 to produce releases. Since then, our windows installer (produced with makensis) has not functioned correctly when run on a Windows system with the "Force randomization for images (Mandatory ASLR)" option enabled. Note that all of our other release binaries, which all contain .reloc sections, function fine under the same option, so it cannot be just the presence of a .reloc section that is the issue. For now, restore makensis to it's pre-binutils-2.36 behaviour, which fixes the produced installer. The underlying issue can be further investigated in future.
2022-07-06guix: patch gcc 10 with pthreads to remap guix store pathsAndrew Chow
2022-07-01Merge bitcoin/bitcoin#25508: guix: use elfesteem ↵fanquake
2eb1e5384ff7a220fd1afacd4a0170acff54fe56 103c0d9f7e084c94ba7d83a44e784ab0b4a6d8e4 guix: use elfesteem 2eb1e5384ff7a220fd1afacd4a0170acff54fe56 (fanquake) Pull request description: Our patch has been merged upstream, see https://github.com/LRGH/elfesteem/pull/3. Guix Build (x86_64): ```bash 3deb66d386587e7ce29b92528170081d9e74443ddf50d07b72aacaee31c11641 guix-build-103c0d9f7e08/output/aarch64-linux-gnu/SHA256SUMS.part 5f53a059ccf07181fa1154dc6ab741a9beda663a48d123d2aa4256ca7d38497a guix-build-103c0d9f7e08/output/aarch64-linux-gnu/bitcoin-103c0d9f7e08-aarch64-linux-gnu-debug.tar.gz 20cdb705439ff54822f7c3cad12254b46f8ff93aae58f1716253f39bd734eaf1 guix-build-103c0d9f7e08/output/aarch64-linux-gnu/bitcoin-103c0d9f7e08-aarch64-linux-gnu.tar.gz ae51fb2ef8e76326bde4693f778444a5c21df1feba42b161e667c5f069aae967 guix-build-103c0d9f7e08/output/arm-linux-gnueabihf/SHA256SUMS.part 0ffeaa089582871a578069c0251bf51823624274c23c2fd65f04d2a3e50f3296 guix-build-103c0d9f7e08/output/arm-linux-gnueabihf/bitcoin-103c0d9f7e08-arm-linux-gnueabihf-debug.tar.gz 71f3da47678d8169414ef0072271604fa550e84ce86979706b3b289a1521a119 guix-build-103c0d9f7e08/output/arm-linux-gnueabihf/bitcoin-103c0d9f7e08-arm-linux-gnueabihf.tar.gz f5d13de726f7705e946a2b3a63d182d8c7e70e3adc9a92552676898e9819db27 guix-build-103c0d9f7e08/output/arm64-apple-darwin/SHA256SUMS.part e411e8f0cc3ab18981ccb65768a6af1622748c14b6e0513401179bcd0df519a7 guix-build-103c0d9f7e08/output/arm64-apple-darwin/bitcoin-103c0d9f7e08-arm64-apple-darwin-unsigned.dmg d7e9aa52f9b0a0249445e926753978d6845bab0c02639d162879b921f237b8ce guix-build-103c0d9f7e08/output/arm64-apple-darwin/bitcoin-103c0d9f7e08-arm64-apple-darwin-unsigned.tar.gz cefde91f0b75a27e945f190194dbe0dab5653a6bcc91b18bec34d952aebd72d7 guix-build-103c0d9f7e08/output/arm64-apple-darwin/bitcoin-103c0d9f7e08-arm64-apple-darwin.tar.gz 0b399fd5f7a85974ab25933575a0173c814d4ab578d16ab13896bb51e408b92f guix-build-103c0d9f7e08/output/dist-archive/bitcoin-103c0d9f7e08.tar.gz 22d6a771d2eab73ab328c8b472160333dd52c6f734761f466c79251a37bd1895 guix-build-103c0d9f7e08/output/powerpc64-linux-gnu/SHA256SUMS.part a6e598b022683e0858be8bd4a6d75bc15f2fbc7632c45f8b03c7a8dff367343a guix-build-103c0d9f7e08/output/powerpc64-linux-gnu/bitcoin-103c0d9f7e08-powerpc64-linux-gnu-debug.tar.gz 04ea54706ac47f8880ae0fcddabb0f4fe899a0bacf52d0d936dbbc1149e14e10 guix-build-103c0d9f7e08/output/powerpc64-linux-gnu/bitcoin-103c0d9f7e08-powerpc64-linux-gnu.tar.gz 059a7018ce96e141c258d516b85c3ee95f02b61dc2db4931fa14993b2bd945e3 guix-build-103c0d9f7e08/output/powerpc64le-linux-gnu/SHA256SUMS.part aacaa0e4827808ed189152c6f1a4e0d9300b89136a7dc064fd045f700ee06084 guix-build-103c0d9f7e08/output/powerpc64le-linux-gnu/bitcoin-103c0d9f7e08-powerpc64le-linux-gnu-debug.tar.gz 4041f8de495b4633df0e28d75ab6cfd0bfe7ec9292384ce4d3331383d06da310 guix-build-103c0d9f7e08/output/powerpc64le-linux-gnu/bitcoin-103c0d9f7e08-powerpc64le-linux-gnu.tar.gz 1586a47797a803cab03a9ebcd207eb395e1651c443e9192ac2b144b85e014762 guix-build-103c0d9f7e08/output/riscv64-linux-gnu/SHA256SUMS.part 74f088bca4e7c0d44e6b7161ee4c835b38bc9291c78f37e53d3ede2da98d52c0 guix-build-103c0d9f7e08/output/riscv64-linux-gnu/bitcoin-103c0d9f7e08-riscv64-linux-gnu-debug.tar.gz 12cfe35b28de03f2355d6fb5ed9393001d3b5a06b12a2792cb863ca4ae61db17 guix-build-103c0d9f7e08/output/riscv64-linux-gnu/bitcoin-103c0d9f7e08-riscv64-linux-gnu.tar.gz b021e117d1e92ad105234661468efeab98246db79d51267a766399776999bafe guix-build-103c0d9f7e08/output/x86_64-apple-darwin/SHA256SUMS.part 0a6c9d00f9ea2d67ca58c867258bb1b595a3141d5f199ffb047f7235bb2863a6 guix-build-103c0d9f7e08/output/x86_64-apple-darwin/bitcoin-103c0d9f7e08-x86_64-apple-darwin-unsigned.dmg a7df5f759e792e4fae46ab7ddca5db8cff8973aa33d7d99c4bfbf7c04c2d3013 guix-build-103c0d9f7e08/output/x86_64-apple-darwin/bitcoin-103c0d9f7e08-x86_64-apple-darwin-unsigned.tar.gz 801ec4f81af5f184cc0e0fcf650f4e5822d895a4202c35575f46e1c63498b1aa guix-build-103c0d9f7e08/output/x86_64-apple-darwin/bitcoin-103c0d9f7e08-x86_64-apple-darwin.tar.gz 813e9c9c6e0ce430d2096963dbffeb141f239d67b334e44b3fd1f1bc9246758d guix-build-103c0d9f7e08/output/x86_64-linux-gnu/SHA256SUMS.part 43e7afc360267fea8e1620e0c2ea40c45af07debbd646abf9fe631465c2e2c47 guix-build-103c0d9f7e08/output/x86_64-linux-gnu/bitcoin-103c0d9f7e08-x86_64-linux-gnu-debug.tar.gz 0c5fc4b3c5bf4a53f1f9710cd738d5c0bbe6a2f0dc45e91f92065ae766b63635 guix-build-103c0d9f7e08/output/x86_64-linux-gnu/bitcoin-103c0d9f7e08-x86_64-linux-gnu.tar.gz 08c031137c2c472a944f3220cf3812a8ec1dd70da9b0f264361ba16badb65b9f guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/SHA256SUMS.part 4bbdc405075001b61e7cc48974e4b987c887a861add6db419fb51eccd914fbb0 guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/bitcoin-103c0d9f7e08-win64-debug.zip 8de95b683500300a787dd1d0d74580e9d6ab448f00f4c32e58ad830b763f2755 guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/bitcoin-103c0d9f7e08-win64-setup-unsigned.exe 36202c352d1f3b238daa00126f7ad369e53a510a32bb2585d69f967ef02aff48 guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/bitcoin-103c0d9f7e08-win64-unsigned.tar.gz 6255922a31502a23ea323095dec2d176bca22977222936fc7857a55ac001f6e9 guix-build-103c0d9f7e08/output/x86_64-w64-mingw32/bitcoin-103c0d9f7e08-win64.zip ``` ACKs for top commit: hebasto: ACK 103c0d9f7e084c94ba7d83a44e784ab0b4a6d8e4, I have reviewed the code and it looks OK. Tree-SHA512: 421956999d2daedbce2e94a13dffa20b2dafb36ca5ffa094d8dca79eb5e60ec91bfade59cd24da548b45aec00f688d570e61a3567ea8075c25d198ac7fc4efff
2022-06-30guix: use elfesteem 2eb1e5384ff7a220fd1afacd4a0170acff54fe56fanquake
Our patch has been merged upstream, see https://github.com/LRGH/elfesteem/pull/3
2022-06-28guix: Remove guix store paths from glibcAndrew Chow
Without ffile-prefix-map, the debug symbols will contain paths for the guix store which will include the hashes of each package. However, the hash for the same package will differ when on different architectures. In order to be reproducible regardless of the architecture used to build the package, map all guix store prefixes to something fixed, e.g. /usr. We might be able to drop this in favour of using --with-nonshared-cflags when we being using newer versions of glibc.
2022-06-25guix: patch LIEF to fix PPC64 NX defaultfanquake
This patches our LIEF build using the change merged upstream: https://github.com/lief-project/LIEF/pull/718. This can be dropped the next time we update LIEF.
2022-05-12guix: use -fcommon when building glibc 2.24fanquake
GCC 10 started using -fno-common by default, which causes issues with the powerpc builds using gibc 2.24. A patch was commited to glibc to fix the issue, 18363b4f010da9ba459b13310b113ac0647c2fcc but is non-trvial to backport, and was broken in at least one way, see the followup in commit 7650321ce037302bfc2f026aa19e0213b8d02fe6. For now, retain the legacy GCC behaviour by passing -fcommon when building glibc 2.24. https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html. https://sourceware.org/git/?p=glibc.git;a=commit;h=18363b4f010da9ba459b13310b113ac0647c2fcc https://sourceware.org/git/?p=glibc.git;a=commit;h=7650321ce037302bfc2f026aa19e0213b8d02fe6
2022-05-12guix: fix glibc 2.27 multiple definition warnings with GCC 10fanquake
2022-05-12guix: adjust RISC-V __has_include() patch to work with GCC 10fanquake
The actual macro is __has_include(), not __has_include__(), using the later would result in build failures when using GCC 10. i.e: ```bash ../sysdeps/unix/sysv/linux/riscv/flush-icache.c:24:5: warning: "__has_include__" is not defined, evaluates to 0 [-Wundef] 24 | #if __has_include__ (<asm/syscalls.h>) ``` Looks like at least someone else has run into the same thing, see: http://lists.busybox.net/pipermail/buildroot/2020-July/590376.html. See also: https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005finclude.html https://clang.llvm.org/docs/LanguageExtensions.html#has-include
2022-04-13guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issuesfanquake
This commit backports a patch to the GCC 10.3.0 we build for Windows cross-compilation in Guix. The commit has been backported to the GCC releases/gcc-10 branch, but hasn't yet made it into a release. The patch corrects a regression from an earlier GCC commit, see: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=357c4350680bf29f0c7a115424e3da11c53b5582 and https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=074226d5aa86cd3de517014acfe34c7f69a2ccc7, related to the way newer versions of mingw-w64 implement setjmp/longjmp. Ultimately this was causing a crash for us when Windows users were viewing the network traffic tab inside the GUI. After some period, long enough that a buffer would need reallocating, a call into FreeTypes gray_record_cell() would result in a call to ft_longjmp (longjmp), which would then trigger a crash. Fixes: https://github.com/bitcoin-core/gui/issues/582. See also: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e8d1ca7d2c344a411779892616c423e157f4aea8. https://bugreports.qt.io/browse/QTBUG-93476.
2022-04-01guix: fix vmov alignment issues with gcc 10.3.0 & mingw-w64fanquake
This introduces a patch to our GCC (10.3.0) mingw-w64 compiler, in Guix, to make it avoid using aligned vmov instructions. This works around a longstanding issue in GCC, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412, which was recently discovered to be causing issues, see #24726. Note that distros like Debian are also patching around this issue, and that is where this patch comes from. This would also explain why we haven't run into this problem earlier, in development builds. See: https://salsa.debian.org/mingw-w64-team/gcc-mingw-w64/-/blob/master/debian/patches/vmov-alignment.patch. Fixes #24726. Alternative to #24727. See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939559
2022-01-05guix: use uptream nsis-x86_64fanquake
Our patch is now used upstream.
2022-01-05guix: use GCC 10 (over GCC 8) to build releasesfanquake
This currently points to the version-1.4.0 branch.
2021-07-07guix: Patch binutils to add security-related disable flagsCarl Dong
We use these flags in our test-security-check make target, but they are only available because debian patches them in. We can patch them in for our Guix builds so that we can check the sanity of our security/symbol checking suite before running them.
2021-07-06guix: add additional documentation to patchesfanquake
2021-07-01guix: Rebase toolchain on glibc 2.24 (2.27 for riscv64)Carl Dong
Support for riscv64 in glibc landed in 2.27 so it's unavoidable that we use 2.27. Running a Bitcoin build with toolchains based on 2.24 for platforms other than riscv64 seem to produce binaries which do not have 2.17 symbols. So use 2.24 since it's more recent and maintained by Debian Stretch.
2021-05-19guix: repro: Sort find output in libtool for gcc-8Carl Dong
Otherwise the resulting .a static libraries (e.g. libstdc++.a) will not be reproducible and end up making the Bitcoin binaries non-reproducible as well. See: https://reproducible-builds.org/docs/archives/#gnu-libtool
2021-05-13guix: Package codesigning toolsCarl Dong
2021-01-17guix: Make nsis reproducible by respecting SOURCE-DATE-EPOCHCarl Dong
When building nsis, if VERSION is not specified, it defaults to cvs_version which is non-deterministic as it includes the current date. This patches nsis to default to SOURCE_DATE_EPOCH if it exists so that nsis is reproducible. Upstream change: https://github.com/kichik/nsis/pull/13