build: enforce minimum required Windows version (7) #18956

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:window_enforce_runtime_version changing 1 files +2 −0
  1. fanquake commented at 8:00 am on May 12, 2020: member

    Instruct the linker to set the major & minor subsystem versions in the PE header to 6 & 1 (NT 6.1 which corresponds to Windows 7). Similar to the behaviour on macOS, the binary will now refuse to run on unsupported versions of Windows, which, for us, is XP & Vista.

    windows_no_run

  2. fanquake added the label Windows on May 12, 2020
  3. fanquake added the label Build system on May 12, 2020
  4. fanquake added the label Needs gitian build on May 12, 2020
  5. fanquake added the label Needs Guix build on May 12, 2020
  6. in configure.ac:594 in 9d6c696767 outdated
    589@@ -590,6 +590,10 @@ case $host in
    590      archive_cmds_CXX="\$CC -shared \$libobjs \$deplibs \$compiler_flags -static -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib"
    591      postdeps_CXX=
    592 
    593+     dnl We require at least Windows 7 (NT 6.1)
    594+     AX_CHECK_LINK_FLAG([[-Wl,--major-subsystem-version -Wl,6]], [LDFLAGS="$LDFLAGS -Wl,--major-subsystem-version -Wl,6"],, [[$LDFLAG_WERROR]])
    


    laanwj commented at 4:53 pm on May 12, 2020:
    Would it be possible to combine these into one line/check? Specifying the one doesn’t make sense without the other, after all

    fanquake commented at 3:06 am on May 14, 2020:
    Sure. I’ve merged them into a single check.

    laanwj commented at 5:55 pm on May 14, 2020:
    Thanks!
  7. fanquake renamed this:
    build: enforce minumim required Windows version (7)
    build: enforce minimum required Windows version (7)
    on May 12, 2020
  8. build: enforce minimum required Windows version (7)
    Instruct the linker to set the major & minor subsystem versions in the PE
    header to 6 & 1 (NT 6.1 which corresponds to Windows 7). Similar to
    macOS, the binary will now refuse to run on unsupported versions of
    Windows.
    e8a8cff07c
  9. fanquake force-pushed on May 14, 2020
  10. DrahtBot removed the label Needs Guix build on May 14, 2020
  11. MarcoFalke deleted a comment on May 14, 2020
  12. MarcoFalke added the label Needs Guix build on May 14, 2020
  13. laanwj commented at 5:56 pm on May 14, 2020: member
    ACK e8a8cff07c409c7eecd478d3df36c7ba92c59730
  14. DrahtBot commented at 7:55 am on May 15, 2020: member

    Gitian builds

    File commit b9c504cbc4ba45a32abb86b67a277b75a17f13a4(master) commit 2ed12495b8b31fe388643d7ad91eb9b78b7cf7d1(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz 94a88c135b4bd4ef... 406a49f874bbd105...
    *-aarch64-linux-gnu.tar.gz 6ff297c01ad4551d... fde69638b82adbdd...
    *-arm-linux-gnueabihf-debug.tar.gz 7595450dd52c4273... 9d0f84beeb23cc15...
    *-arm-linux-gnueabihf.tar.gz 3295a8b448e9cfd4... 9c1bcf778eb04f63...
    *-osx-unsigned.dmg 0db6d42a3d8c7335... d686cecdbb3e604c...
    *-osx64.tar.gz bf5affe81dc66460... 9b95dcdb7fa35c68...
    *-riscv64-linux-gnu-debug.tar.gz 61a05c7ce736db37... 35d727e512f650dd...
    *-riscv64-linux-gnu.tar.gz 0051c9de20b0bef8... 9f6871812f1f0fd6...
    *-win64-debug.zip 386057acc27b1ccc... fe5a00db78150294...
    *-win64-setup-unsigned.exe ac21e749be4cafa3... 041b63d5f8396ece...
    *-win64.zip 0c2ac25f6a355524... 309449e0eec55636...
    *-x86_64-linux-gnu-debug.tar.gz fb29924a032ac246... ffcdece57520c455...
    *-x86_64-linux-gnu.tar.gz 4b466bd543d9c428... d5ec65a0bd8f8864...
    *.tar.gz 18453ab9a66f97f6... 0c2c024f5b5370f0...
    bitcoin-core-linux-0.21-res.yml f6aed4fa441f9f2d... 0a4cd0628ab919ae...
    bitcoin-core-osx-0.21-res.yml a89514ea39e52dad... ef95feea477d162d...
    bitcoin-core-win-0.21-res.yml fe744fb4bf08796a... 60fe9fb7ce0b865d...
    linux-build.log 05ac055606fc8683... 9f2d6fd520e218cf...
    osx-build.log 2ebda0c91fb89d2f... d0c5d431595d0bbf...
    win-build.log 33d99f59901749d3... 1c6bc7b8a818715e...
    bitcoin-core-linux-0.21-res.yml.diff af2ec9c9ff4c6469...
    bitcoin-core-osx-0.21-res.yml.diff 2eaac34febb736c6...
    bitcoin-core-win-0.21-res.yml.diff 293a3b8712fe05b9...
    linux-build.log.diff b9c43f2d9c16b82b...
    osx-build.log.diff ff49d4e86fe2e510...
    win-build.log.diff 8847755755751d1e...
  15. DrahtBot removed the label Needs gitian build on May 15, 2020
  16. DrahtBot commented at 10:43 pm on May 16, 2020: member

    Guix builds

    File commit e2f6866cca3e0c3c74f94f2df50ed3243158ea32(master) commit fd3d84936356405ff8cebcb515c2bf2e8daafc12(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz b9317425f5ae0772... a255aeff3c504df3...
    *-aarch64-linux-gnu.tar.gz 8547167d635a159b... 7f9d211ecdf30400...
    *-arm-linux-gnueabihf-debug.tar.gz a7442351bad62f78... 8123de153e941d00...
    *-arm-linux-gnueabihf.tar.gz 20084ed9d25bbb7c... 19407e334a2b1cf2...
    *-riscv64-linux-gnu-debug.tar.gz 559e9188e5298f47... 3df2b8b47ef9bbe7...
    *-riscv64-linux-gnu.tar.gz 37f7a3b7985894ee... 80571aa3d4ffd601...
    *-win-unsigned.tar.gz 3704d8e6a872997b... e3594188d0c2a009...
    *-win64-debug.zip 97843e42b686ff12... 751d85d698ca7403...
    *-win64-setup-unsigned.exe 63ab03762282c5e7... b2c01f324c885f28...
    *-win64.zip dc80c6a8ff8a9987... 21b082cef705426e...
    *-x86_64-linux-gnu-debug.tar.gz 2b929524c920119e... d8ae53e330128d8e...
    *-x86_64-linux-gnu.tar.gz 9e3d98012136c821... d10c49084a197bcf...
    *.tar.gz 90f83c125c189853... 649e1115546ef849...
    guix_build.log 7948626ab6c30044... 0c0b68dabfd61664...
    guix_build.log.diff 76bea9d318d40bfd...
  17. DrahtBot removed the label Needs Guix build on May 16, 2020
  18. michaelfolkson commented at 4:02 pm on May 19, 2020: contributor
    Concept ACK. Seems like reasonable timing though I have no idea how many users this will affect and regardless it may be in the best interests of that small group of users anyway.
  19. MarcoFalke commented at 6:17 pm on May 19, 2020: member

    the binary will now refuse to run on unsupported versions of Windows, which, for us, is XP & Vista

    Concpet ACK

  20. fanquake commented at 2:15 am on May 20, 2020: member

    Seems like reasonable timing though I have no idea how many users this will affect and regardless it may be in the best interests of that small group of users anyway.

    If in another 6 months time (at the 0.21 release), there are a significant number of users who can now no-longer run Bitcoin Core, because (against our suggestion) they were running it on Windows XP or Vista, we can re-evaluate this change and likely our backwards compatibility requirements.

  21. fanquake merged this on May 20, 2020
  22. fanquake closed this on May 20, 2020

  23. fanquake deleted the branch on May 20, 2020
  24. sidhujag referenced this in commit e2622f4903 on May 20, 2020
  25. luke-jr referenced this in commit 43bd7c95d1 on Jun 9, 2020
  26. zkbot referenced this in commit 372f695d4d on Jun 5, 2021
  27. PastaPastaPasta referenced this in commit 91bb66dd79 on Jun 27, 2021
  28. PastaPastaPasta referenced this in commit e114164700 on Jun 28, 2021
  29. PastaPastaPasta referenced this in commit 4ddbc6ad71 on Jun 29, 2021
  30. PastaPastaPasta referenced this in commit 1135444f60 on Jul 1, 2021
  31. PastaPastaPasta referenced this in commit 038ba2444d on Jul 1, 2021
  32. PastaPastaPasta referenced this in commit c04e9ec315 on Sep 17, 2021
  33. PastaPastaPasta referenced this in commit 3d05d6dcf8 on Sep 19, 2021
  34. thelazier referenced this in commit 7acb8e3b00 on Sep 25, 2021
  35. DrahtBot locked this on Feb 15, 2022

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-24 00:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me