diff options
author | fanquake <fanquake@gmail.com> | 2022-08-13 12:42:23 +0100 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2022-08-13 13:41:18 +0100 |
commit | aca0200e9408d802ce68c323ee6edeb93699ecb3 (patch) | |
tree | e6f281dec5fd2ed39ea678067685cac7ac38835c | |
parent | bf3f05f41d27a6be3730432aaa7e22e443f7cafa (diff) | |
parent | 08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9 (diff) | |
download | bitcoin-aca0200e9408d802ce68c323ee6edeb93699ecb3.tar.xz |
Merge bitcoin/bitcoin#25817: build: fix cross-arch macOS M1 build reproducibility
08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9 build: optimise arm64 darwin qt build using -O1 (fanquake)
Pull request description:
Building the macOS M1 bitcoin-qt binary at a optimisation level higher than `-O1` causes reproducibility issues when building on different architectures.
Proposing somewhat of a hammer.
This would fix 1 of the 2 remaining HOSTS in #21194.
Guix Build (x86_64):
```bash
1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1 guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295 guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz
```
Guix Build (arm64):
```bash
1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1 guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295 guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz
```
ACKs for top commit:
hebasto:
ACK 08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9
jarolrod:
ACK 08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9
Tree-SHA512: 48da4acb1799c3153cdaf674f287c81c3da230a3476183616b74f318baa595af45b313136eb228ba13c63e0b8206a78064734f9fd0488e1e839c9e4e1d92ba25
-rw-r--r-- | depends/packages/qt.mk | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 148a18cf53..b45f8f5cf4 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -131,6 +131,9 @@ $(package)_config_opts_darwin += -no-feature-corewlan $(package)_config_opts_darwin += -no-freetype $(package)_config_opts_darwin += QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION) +# Optimizing using > -O1 causes non-determinism when building across arches. +$(package)_config_opts_aarch64_darwin += "QMAKE_CFLAGS_OPTIMIZE_FULL = -O1" + ifneq ($(build_os),darwin) $(package)_config_opts_darwin += -xplatform macx-clang-linux $(package)_config_opts_darwin += -device-option MAC_SDK_PATH=$(OSX_SDK) |