elements/src
MacroFake b91055ea55
Merge bitcoin/bitcoin#25251: Consolidate Windows ASLR workarounds for upstream secp256k1 changes
c41bfd1070 Squashed 'src/secp256k1/' changes from 8746600ee..44c2452fd (fanquake)
fbae8c59a2 compat: Consolidate mingw-w64 ASLR workaround for upstream libsecp changes (fanquake)

Pull request description:

  #18702 added a work around for `bitcoin-cli.exe`, to fix ASLR on Windows. ASLR was functioning for the rest of our binaries, mostly by accident, because:
  > [All other Windows binaries that we distribute (bitcoind, bitcoin-qt,
  bitcoin-wallet, bitcoin-tx and test_bitcoin) do not suffer this issue,
  and currently having working ASLR. This is due to them exporting
  (inadvertent or not) libsecp256k1 symbols, and, as a result, the .reloc
  section is not stripped by ld.](https://github.com/bitcoin/bitcoin/pull/18702)

  Upstream, libsecp256k1 has recently made a change to [no-longer export symbols in static libraries](https://github.com/bitcoin-core/secp256k1/pull/1105) (see related discussion in #25008). This would mean that on the next subtree update, anyone building using an older binutils (< 2.36) would be (silently) producing Windows binaries with non-functioning ASLR. Our release binaries would not be affected, as in our Guix environment we currently use binutils 2.37.

  To prevent users building with older binutils from silently losing ASLR on Windows, this PR applies our work around (export `main`) to the rest of our binaries, and updates the associated documentation to mention the affected binutils versions, so we know when it can be dropped.

  I've included both the libsecp256k1 subtree update, and the ASLR related changes in this PR. Happy to split the changes up if reviewers would prefer.

  Guix Build (x86_64):
  ```bash
  24fa1053fa3d310c4274f0700ac36f3c6e5b4486dc7f1aa7b2a5ded6937cf2b6  guix-build-913b1f2a5eb2/output/aarch64-linux-gnu/SHA256SUMS.part
  96c4150f93c1356dc02f3d383699bcd856da7f769344606324fdc111fbfa8031  guix-build-913b1f2a5eb2/output/aarch64-linux-gnu/bitcoin-913b1f2a5eb2-aarch64-linux-gnu-debug.tar.gz
  5e4adcaddf20a33cd4803e5a10f9a0653bcd40b1dfc7b680a741a17047103948  guix-build-913b1f2a5eb2/output/aarch64-linux-gnu/bitcoin-913b1f2a5eb2-aarch64-linux-gnu.tar.gz
  adfdac8fef797b13d845c13ab682611d0cc49a9772c2bd40f7aa6dbb1b4f11a8  guix-build-913b1f2a5eb2/output/arm-linux-gnueabihf/SHA256SUMS.part
  d51849bf907eecb168066a208b702314779fc12ae6fcaa8b5c2c3497e91820b9  guix-build-913b1f2a5eb2/output/arm-linux-gnueabihf/bitcoin-913b1f2a5eb2-arm-linux-gnueabihf-debug.tar.gz
  ca33ebed13316410d6d79e2db06f9bce8839fbc7216a5bc01a06745b2e470c2e  guix-build-913b1f2a5eb2/output/arm-linux-gnueabihf/bitcoin-913b1f2a5eb2-arm-linux-gnueabihf.tar.gz
  799fd15fa1e53d773a5ce391b7059920b54680591ee76bdc56bc7485a12d2af6  guix-build-913b1f2a5eb2/output/arm64-apple-darwin/SHA256SUMS.part
  0122eb5fdd4cce7077ee1a2bba8c5bd3557c1d3f12f2f2aad7216de33bea213e  guix-build-913b1f2a5eb2/output/arm64-apple-darwin/bitcoin-913b1f2a5eb2-arm64-apple-darwin-unsigned.dmg
  3a630cc96bf9a43cbb89976aabdddb7a9069f74320277a499f3bbb96526d9c5d  guix-build-913b1f2a5eb2/output/arm64-apple-darwin/bitcoin-913b1f2a5eb2-arm64-apple-darwin-unsigned.tar.gz
  e2530bab501750fd3d60776ba077bc4a8b145cc95e3a77105d86b388a1d961e1  guix-build-913b1f2a5eb2/output/arm64-apple-darwin/bitcoin-913b1f2a5eb2-arm64-apple-darwin.tar.gz
  f8fbc07221bd21f996dc29c65725740e9c2bfc9365367c806601f12b8e2d2691  guix-build-913b1f2a5eb2/output/dist-archive/bitcoin-913b1f2a5eb2.tar.gz
  fdbc8224d774f2428f037e65d9ac5728613cddee4ddcf6f1d144421cb1f37b3b  guix-build-913b1f2a5eb2/output/powerpc64-linux-gnu/SHA256SUMS.part
  c1098cba38aee264ee7de82be3d5f8c1ec2c915c30763292fa9b6dc37aba8de8  guix-build-913b1f2a5eb2/output/powerpc64-linux-gnu/bitcoin-913b1f2a5eb2-powerpc64-linux-gnu-debug.tar.gz
  567b8bf896a79e2f1b4961ec4f6c3501e414822f84f6fb40c9e3546e67ab08ff  guix-build-913b1f2a5eb2/output/powerpc64-linux-gnu/bitcoin-913b1f2a5eb2-powerpc64-linux-gnu.tar.gz
  cbd7713550c5922ee28e0915b0425dc702bb299ad6809ff60e389604f4da3a31  guix-build-913b1f2a5eb2/output/powerpc64le-linux-gnu/SHA256SUMS.part
  e50fa6e370602a956942703ab349808c01e7365a00faead941d9e6be3800c65c  guix-build-913b1f2a5eb2/output/powerpc64le-linux-gnu/bitcoin-913b1f2a5eb2-powerpc64le-linux-gnu-debug.tar.gz
  2380fbdf6916769783a0e6c7848fb8d3b3cb5c44c26817009a8481e815098e3a  guix-build-913b1f2a5eb2/output/powerpc64le-linux-gnu/bitcoin-913b1f2a5eb2-powerpc64le-linux-gnu.tar.gz
  a0fecb7b0d0a93aa15825572a0e1284f4776a5808f9f5eda7b2ddddaf2457fb2  guix-build-913b1f2a5eb2/output/riscv64-linux-gnu/SHA256SUMS.part
  14fe505f06de009b50c2b4ce0e0430ba09fa66385ff50aa90f9ed0b03a321e61  guix-build-913b1f2a5eb2/output/riscv64-linux-gnu/bitcoin-913b1f2a5eb2-riscv64-linux-gnu-debug.tar.gz
  98a70df9a6851d5221d8f8404f9656048ecf7cac2c9dffd2b6a55107783a60ad  guix-build-913b1f2a5eb2/output/riscv64-linux-gnu/bitcoin-913b1f2a5eb2-riscv64-linux-gnu.tar.gz
  decb20f8de61e3eeda7e8f6fefcbaf56593c37d989672c6e7e2cd5c8e982c342  guix-build-913b1f2a5eb2/output/x86_64-apple-darwin/SHA256SUMS.part
  e14275e1bbbe54179fb68b50ed7c72de4c7ebc5b442c7793daf9974be523e8da  guix-build-913b1f2a5eb2/output/x86_64-apple-darwin/bitcoin-913b1f2a5eb2-x86_64-apple-darwin-unsigned.dmg
  6bb2d9f6c8123156b0e11b73f67f4e4e780e6bccb739e600f4e9b06b29aa3832  guix-build-913b1f2a5eb2/output/x86_64-apple-darwin/bitcoin-913b1f2a5eb2-x86_64-apple-darwin-unsigned.tar.gz
  1f0fab16e32e4c9892b272edf43beb8e5de60bf8a04f41744809dc2a31b4f1b9  guix-build-913b1f2a5eb2/output/x86_64-apple-darwin/bitcoin-913b1f2a5eb2-x86_64-apple-darwin.tar.gz
  3d7e45c7189a8855ea8a0d498dcd4d3189aa01c528eac194300cdb59f79471f2  guix-build-913b1f2a5eb2/output/x86_64-linux-gnu/SHA256SUMS.part
  87b75a47a620dbd8ccf20768a3d82adf0b797ad86b7384cca62a7cf489b7a74c  guix-build-913b1f2a5eb2/output/x86_64-linux-gnu/bitcoin-913b1f2a5eb2-x86_64-linux-gnu-debug.tar.gz
  7e06af11bcef3ba6fd48501a09fbac86746537bad063f36caf39cd6bb857d3a8  guix-build-913b1f2a5eb2/output/x86_64-linux-gnu/bitcoin-913b1f2a5eb2-x86_64-linux-gnu.tar.gz
  c9ca794f7307df6f891008d92997719be95794f4670d018d0275f2a6c580d160  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/SHA256SUMS.part
  7eb1551cdafc0a44e5b5fcea703c6eeb6fc0bca601b57ab52d1e5e62db3ccffc  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/bitcoin-913b1f2a5eb2-win64-debug.zip
  8ef87c85c520aef150f4c11a9082e8a0b1ac74c5b6f4fcdceb9e734eb8106bca  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/bitcoin-913b1f2a5eb2-win64-setup-unsigned.exe
  c5886ab3d6303bf8c946e4aafcfdfb5ee7dc9fbb50c34dfc5224db2f1f3b2a44  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/bitcoin-913b1f2a5eb2-win64-unsigned.tar.gz
  f473902cea9e763b98ad69c5dcfaa990430f9b0f777112af5f1d289492d8cefe  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/bitcoin-913b1f2a5eb2-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  a175ce0055b206fe7b2752fa5ae33eed0f31236f7b37bbb530425532d88007c2  guix-build-913b1f2a5eb2/output/arm-linux-gnueabihf/SHA256SUMS.part
  1ab5d59685593eedbb59b5284d81cce568a6c9c900303f97c69e8194cb5bb7f5  guix-build-913b1f2a5eb2/output/arm-linux-gnueabihf/bitcoin-913b1f2a5eb2-arm-linux-gnueabihf-debug.tar.gz
  8d1b48d38b8af696b929ac077ba7e3dabb7c565862409b2f35db2217ab9bdb06  guix-build-913b1f2a5eb2/output/arm-linux-gnueabihf/bitcoin-913b1f2a5eb2-arm-linux-gnueabihf.tar.gz
  90230652cb39e2707ac79569899183dc1ff5d08c059e7a01d0c65144251679b5  guix-build-913b1f2a5eb2/output/arm64-apple-darwin/SHA256SUMS.part
  2b86da5e1ccebf348478ca69463d1be09c0f563ffa370ee5170c82ba706a7577  guix-build-913b1f2a5eb2/output/arm64-apple-darwin/bitcoin-913b1f2a5eb2-arm64-apple-darwin-unsigned.dmg
  648e968dbf3af3bf8a79d714f4395091058e2ff4294b202a0dc9b5e0092b4732  guix-build-913b1f2a5eb2/output/arm64-apple-darwin/bitcoin-913b1f2a5eb2-arm64-apple-darwin-unsigned.tar.gz
  bebe7ed21e4f74866ca99be31839beff01eac57afbaa2878f5c6637f0239c631  guix-build-913b1f2a5eb2/output/arm64-apple-darwin/bitcoin-913b1f2a5eb2-arm64-apple-darwin.tar.gz
  f8fbc07221bd21f996dc29c65725740e9c2bfc9365367c806601f12b8e2d2691  guix-build-913b1f2a5eb2/output/dist-archive/bitcoin-913b1f2a5eb2.tar.gz
  87156fe1fb397eaa1d1f15c36f2677b6aeb32eefac02202b2735f7d3165fceb1  guix-build-913b1f2a5eb2/output/powerpc64-linux-gnu/SHA256SUMS.part
  5f06e885564780d7dce78cc8cbb21b8dd5addba8b90bb2b8a7f03e946b6ed633  guix-build-913b1f2a5eb2/output/powerpc64-linux-gnu/bitcoin-913b1f2a5eb2-powerpc64-linux-gnu-debug.tar.gz
  95b9c0a7d82e7055c99d013fa183abf654caf14539c5ec9cfe785838f45747fc  guix-build-913b1f2a5eb2/output/powerpc64-linux-gnu/bitcoin-913b1f2a5eb2-powerpc64-linux-gnu.tar.gz
  8da6f0fb2bdc492f96ee70ca323787521e7fce7ebe2b9adb43b7b6ae56ff1916  guix-build-913b1f2a5eb2/output/powerpc64le-linux-gnu/SHA256SUMS.part
  a60623ac5bb76b3eae3129b4f32fe7287e526e043bd2e58f80ce5fccf91ef20c  guix-build-913b1f2a5eb2/output/powerpc64le-linux-gnu/bitcoin-913b1f2a5eb2-powerpc64le-linux-gnu-debug.tar.gz
  c9bbdca3c41c3783d57734e0fda875a6353bbf8fec8c8e61f037259acaad28cd  guix-build-913b1f2a5eb2/output/powerpc64le-linux-gnu/bitcoin-913b1f2a5eb2-powerpc64le-linux-gnu.tar.gz
  5f76aef2eed312153b60712450b4376b4965c2b0c86d2ddfc0b7f3d23fb31eee  guix-build-913b1f2a5eb2/output/riscv64-linux-gnu/SHA256SUMS.part
  40ad7ca605bb75e153a481a455b344f27d9c0b713f1312fc2a7703116508a127  guix-build-913b1f2a5eb2/output/riscv64-linux-gnu/bitcoin-913b1f2a5eb2-riscv64-linux-gnu-debug.tar.gz
  6031d28d6405f03b685884fdee6c2cc2126afffdc867ab743ca0c9cfcad81ac2  guix-build-913b1f2a5eb2/output/riscv64-linux-gnu/bitcoin-913b1f2a5eb2-riscv64-linux-gnu.tar.gz
  decb20f8de61e3eeda7e8f6fefcbaf56593c37d989672c6e7e2cd5c8e982c342  guix-build-913b1f2a5eb2/output/x86_64-apple-darwin/SHA256SUMS.part
  e14275e1bbbe54179fb68b50ed7c72de4c7ebc5b442c7793daf9974be523e8da  guix-build-913b1f2a5eb2/output/x86_64-apple-darwin/bitcoin-913b1f2a5eb2-x86_64-apple-darwin-unsigned.dmg
  6bb2d9f6c8123156b0e11b73f67f4e4e780e6bccb739e600f4e9b06b29aa3832  guix-build-913b1f2a5eb2/output/x86_64-apple-darwin/bitcoin-913b1f2a5eb2-x86_64-apple-darwin-unsigned.tar.gz
  1f0fab16e32e4c9892b272edf43beb8e5de60bf8a04f41744809dc2a31b4f1b9  guix-build-913b1f2a5eb2/output/x86_64-apple-darwin/bitcoin-913b1f2a5eb2-x86_64-apple-darwin.tar.gz
  b90d8c7252fd42809ac9bf8c7e5cf9c9207f7412314e9e6904ee2e51222bc8c5  guix-build-913b1f2a5eb2/output/x86_64-linux-gnu/SHA256SUMS.part
  b6cbcd305a9b6b8dcc6be71703745835c9e3e7652a3f3b18e7018f5ddb0fc26d  guix-build-913b1f2a5eb2/output/x86_64-linux-gnu/bitcoin-913b1f2a5eb2-x86_64-linux-gnu-debug.tar.gz
  6da0cf8fedd9c285926c132102d1e8f9d6fde7e0ecdac3ba159a3464fc2e98c0  guix-build-913b1f2a5eb2/output/x86_64-linux-gnu/bitcoin-913b1f2a5eb2-x86_64-linux-gnu.tar.gz
  30d2b25cdfce03edc2bfb8d39dcdcc6636ed3637cc0176f43f715dc795ab929e  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/SHA256SUMS.part
  6028017fabcddac50857667d63da979b04a6dc331a26715f875e2db96b8935d7  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/bitcoin-913b1f2a5eb2-win64-debug.zip
  8ef87c85c520aef150f4c11a9082e8a0b1ac74c5b6f4fcdceb9e734eb8106bca  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/bitcoin-913b1f2a5eb2-win64-setup-unsigned.exe
  c5886ab3d6303bf8c946e4aafcfdfb5ee7dc9fbb50c34dfc5224db2f1f3b2a44  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/bitcoin-913b1f2a5eb2-win64-unsigned.tar.gz
  4af0477e156b9a0c6fa1754ba7446b8c6c021075531aa4051980e47fa586e196  guix-build-913b1f2a5eb2/output/x86_64-w64-mingw32/bitcoin-913b1f2a5eb2-win64.zip
  ```

  Symbol exporting as of this PR (`bitcoind.exe`):
  ```bash
  Export Table:
   DLL name: bitcoind.exe
   Ordinal base: 1
   Ordinal      RVA  Name
         1 0xa09670  main
  ```

  Symbol exporting in the 23.0 bins (`bitcoind.exe`):
  ```bash
  Export Table:
   DLL name: bitcoind.exe
   Ordinal base: 1
   Ordinal      RVA  Name
         1 0x5569f0  secp256k1_context_clone
         2 0x556890  secp256k1_context_create
         3 0x556bd0  secp256k1_context_destroy
         4 0xa12710  secp256k1_context_no_precomp
         5 0x556900  secp256k1_context_preallocated_clone
         6 0x556740  secp256k1_context_preallocated_clone_size
         7 0x556750  secp256k1_context_preallocated_create
         8 0x556ae0  secp256k1_context_preallocated_destroy
         9 0x556710  secp256k1_context_preallocated_size
        10 0x5589c0  secp256k1_context_randomize
        11 0x556c80  secp256k1_context_set_error_callback
        12 0x556c20  secp256k1_context_set_illegal_callback
        13 0x558260  secp256k1_ec_privkey_negate
        14 0x5584e0  secp256k1_ec_privkey_tweak_add
        15 0x558730  secp256k1_ec_privkey_tweak_mul
        16 0x5572a0  secp256k1_ec_pubkey_cmp
        17 0x5589f0  secp256k1_ec_pubkey_combine
        18 0x557f40  secp256k1_ec_pubkey_create
        19 0x558270  secp256k1_ec_pubkey_negate
        20 0x556dc0  secp256k1_ec_pubkey_parse
        21 0x5570d0  secp256k1_ec_pubkey_serialize
        22 0x5584f0  secp256k1_ec_pubkey_tweak_add
        23 0x558740  secp256k1_ec_pubkey_tweak_mul
        24 0x558100  secp256k1_ec_seckey_negate
        25 0x5583a0  secp256k1_ec_seckey_tweak_add
        26 0x5585f0  secp256k1_ec_seckey_tweak_mul
        27 0x557ed0  secp256k1_ec_seckey_verify
        28 0x559120  secp256k1_ecdsa_recover
        29 0x558f50  secp256k1_ecdsa_recoverable_signature_convert
        30 0x558d00  secp256k1_ecdsa_recoverable_signature_parse_compact
        31 0x558e70  secp256k1_ecdsa_recoverable_signature_serialize_compact
        32 0x557da0  secp256k1_ecdsa_sign
        33 0x558fe0  secp256k1_ecdsa_sign_recoverable
        34 0x557ab0  secp256k1_ecdsa_signature_normalize
        35 0x557540  secp256k1_ecdsa_signature_parse_compact
        36 0x5573b0  secp256k1_ecdsa_signature_parse_der
        37 0x557a10  secp256k1_ecdsa_signature_serialize_compact
        38 0x557660  secp256k1_ecdsa_signature_serialize_der
        39 0x557bf0  secp256k1_ecdsa_verify
        40 0x5598a0  secp256k1_keypair_create
        41 0x559af0  secp256k1_keypair_pub
        42 0x559a60  secp256k1_keypair_sec
        43 0x559bc0  secp256k1_keypair_xonly_pub
        44 0x559d20  secp256k1_keypair_xonly_tweak_add
        45 0xa9e0c0  secp256k1_nonce_function_bip340
        46 0xa9e0e0  secp256k1_nonce_function_default
        47 0xa9e0e8  secp256k1_nonce_function_rfc6979
        48 0x559f00  secp256k1_schnorrsig_sign
        49 0x559f30  secp256k1_schnorrsig_sign_custom
        50 0x559fd0  secp256k1_schnorrsig_verify
        51 0x556ce0  secp256k1_scratch_space_create
        52 0x556d50  secp256k1_scratch_space_destroy
        53 0x558c20  secp256k1_tagged_sha256
        54 0x559470  secp256k1_xonly_pubkey_cmp
        55 0x559530  secp256k1_xonly_pubkey_from_pubkey
        56 0x559290  secp256k1_xonly_pubkey_parse
        57 0x5593a0  secp256k1_xonly_pubkey_serialize
        58 0x559650  secp256k1_xonly_pubkey_tweak_add
        59 0x559780  secp256k1_xonly_pubkey_tweak_add_check
  ```

ACKs for top commit:
  laanwj:
    Code review ACK 913b1f2a5e
  theuni:
    ACK 913b1f2a5e

Tree-SHA512: d3811c5731fab05bb68af72b7af231de8505b026bd1b2cd710e3e60386e793c2743412529142aa9893893f9d24c6e94dbac48ea59451bf55ae637d2e75e2b0a9
2022-06-13 21:43:39 +02:00
..
bench Merge bitcoin/bitcoin#24927: Add test util to populate mempool with random transactions, fix #24634 bug 2022-06-02 19:08:43 +02:00
common refactor: make GetRand a template, remove GetRandInt 2022-04-22 09:04:39 -05:00
compat compat: remove glibcxx sanity checks 2022-05-28 09:43:02 +01:00
config
consensus Merge bitcoin/bitcoin#24032: Add defaults to vDeployments to avoid uninitialized variables 2022-05-26 20:06:10 +02:00
crc32c Update crc32c subtree 2021-09-29 14:10:29 +02:00
crypto Unroll the ChaCha20 inner loop for performance 2022-05-04 14:53:46 -04:00
index style-only: Rearrange using decls after scripted-diff 2022-05-23 14:53:35 -04:00
init Move init::SanityCheck to kernel::SanityCheck 2022-06-02 11:42:12 -04:00
interfaces settings: Add resetSettings() method 2022-05-19 11:32:56 -04:00
ipc refactor: Block unsafe fs::path std::string conversion calls 2021-10-05 11:10:47 -04:00
kernel doc: fix typo in kernel/context.h 2022-06-08 10:03:43 -03:00
leveldb build: Minor leveldb subtree update 2022-03-02 15:25:48 +01:00
logging util, refactor: Add UNIQUE_NAME helper macro 2022-02-16 14:59:20 +02:00
minisketch Update minisketch subtree to latest upstream 2022-02-04 22:47:49 +08:00
node scripted-diff: remove duplicate categories from LogPrint output 2022-06-06 12:12:03 +02:00
policy Move minRelayTxFee to policy/settings 2022-05-31 15:05:57 +02:00
primitives Merge bitcoin/bitcoin#24350: Primitives: Correct CTransaction deserialization docstring 2022-02-19 09:35:10 +01:00
qt Merge bitcoin/bitcoin#25251: Consolidate Windows ASLR workarounds for upstream secp256k1 changes 2022-06-13 21:43:39 +02:00
rpc Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
script Merge bitcoin/bitcoin#24860: Miniscript integration follow-ups 2022-06-04 20:54:20 +01:00
secp256k1 Update secp256k1 subtree to latest upstream master 2022-06-11 14:55:18 +01:00
support refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
test Merge bitcoin/bitcoin#25254: Move minRelayTxFee to policy/settings 2022-06-07 11:31:10 +02:00
univalue Bump univalue subtree 2022-05-30 16:42:13 +02:00
util Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
wallet Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
zmq scripted-diff: remove duplicate categories from LogPrint output 2022-06-06 12:12:03 +02:00
.bear-tidy-config tidy: enable modernize-use-nullptr 2022-04-26 10:43:33 +01:00
.clang-format Use c++17 in clang-format 2021-11-12 11:46:34 +01:00
.clang-tidy tidy: use modernize-use-default-member-init 2022-05-17 17:19:07 +01:00
addrdb.cpp Merge bitcoin/bitcoin#24925: refactor: make GetRand a template, remove GetRandInt 2022-05-12 08:57:22 +02:00
addrdb.h [net] Move asmap into NetGroupManager 2022-04-20 14:29:29 +01:00
addrman.cpp Remove redundant nLastTry check 2022-06-08 13:35:32 +02:00
addrman.h [net] Move asmap into NetGroupManager 2022-04-20 14:29:29 +01:00
addrman_impl.h [netgroupman] Add GetMappedAS() and GetGroup() 2022-04-20 14:35:52 +01:00
arith_uint256.cpp Merge bitcoin/bitcoin#24077: util: Make base_uint::GetHex() and base_uint::SetHex() not depend on uint256 2022-04-14 07:15:22 +02:00
arith_uint256.h Remove duplicate static_asserts 2022-04-14 19:26:22 +02:00
attributes.h
banman.cpp refactor: Remove redundant scope in BanMan::SweepBanned() 2022-05-20 15:20:42 +02:00
banman.h refactor: Add thread safety annotation to BanMan::SweepBanned() 2022-05-20 15:17:00 +02:00
base58.cpp scripted-diff: Rename ValidAsCString to ContainsNoNUL 2022-04-27 14:16:35 +02:00
base58.h refactor: Remove defunct attributes.h includes 2022-05-21 13:54:33 -05:00
bech32.cpp Avoid implicit-integer-sign-change in bech32.cpp 2022-02-25 09:43:54 +01:00
bech32.h Make Bech32 LocateErrors return error list rather than using out-arg 2021-12-06 14:17:41 +13:00
bitcoin-chainstate.cpp kernel: SanityChecks: Return an error struct 2022-06-02 12:22:46 -04:00
bitcoin-cli-res.rc windres: use PACKAGE_VERSION rather than building more version numbers 2021-08-17 16:54:47 +08:00
bitcoin-cli.cpp compat: Consolidate mingw-w64 ASLR workaround for upstream libsecp changes 2022-06-11 14:55:13 +01:00
bitcoin-tx-res.rc windres: use PACKAGE_VERSION rather than building more version numbers 2021-08-17 16:54:47 +08:00
bitcoin-tx.cpp compat: Consolidate mingw-w64 ASLR workaround for upstream libsecp changes 2022-06-11 14:55:13 +01:00
bitcoin-util-res.rc windres: use PACKAGE_VERSION rather than building more version numbers 2021-08-17 16:54:47 +08:00
bitcoin-util.cpp compat: Consolidate mingw-w64 ASLR workaround for upstream libsecp changes 2022-06-11 14:55:13 +01:00
bitcoin-wallet-res.rc windres: use PACKAGE_VERSION rather than building more version numbers 2021-08-17 16:54:47 +08:00
bitcoin-wallet.cpp compat: Consolidate mingw-w64 ASLR workaround for upstream libsecp changes 2022-06-11 14:55:13 +01:00
bitcoind-res.rc windres: use PACKAGE_VERSION rather than building more version numbers 2021-08-17 16:54:47 +08:00
bitcoind.cpp compat: Consolidate mingw-w64 ASLR workaround for upstream libsecp changes 2022-06-11 14:55:13 +01:00
blockencodings.cpp Remove fUseWTXID parameter from CBlockHeaderAndShortTxIDs constructor 2022-05-17 10:37:10 +01:00
blockencodings.h Remove fUseWTXID parameter from CBlockHeaderAndShortTxIDs constructor 2022-05-17 10:37:10 +01:00
blockfilter.cpp scripted-diff: rename MapIntoRange to FastRange64 2022-01-06 11:29:55 -05:00
blockfilter.h
chain.cpp Avoid integer sanitizer warnings in chain.o 2022-01-25 10:49:46 +01:00
chain.h Merge bitcoin/bitcoin#24146: Avoid integer sanitizer warnings in chain.o 2022-01-31 09:23:54 +01:00
chainparams.cpp refactor: introduce single-separator split helper SplitString 2022-04-11 22:19:46 +02:00
chainparams.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparamsbase.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparamsbase.h
chainparamsseeds.h net: Update hardcoded seeds for 23.x 2022-02-22 15:15:27 +01:00
checkqueue.h Increase threadsafety annotation coverage 2022-05-12 02:25:55 +10:00
clientversion.cpp refactor: shift CopyrightHolders() and LicenseInfo() to clientversion.cpp 2022-02-22 15:36:19 +00:00
clientversion.h refactor: shift CopyrightHolders() and LicenseInfo() to clientversion.cpp 2022-02-22 15:36:19 +00:00
coins.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
coins.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
compat.h compat: Consolidate mingw-w64 ASLR workaround for upstream libsecp changes 2022-06-11 14:55:13 +01:00
compressor.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
compressor.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
core_io.h refactor: Remove defunct attributes.h includes 2022-05-21 13:54:33 -05:00
core_memusage.h
core_read.cpp core_read: Replace boost::split with SplitString 2022-05-04 07:34:47 +02:00
core_write.cpp refactor: add stdd:: includes to core_write 2022-03-30 20:11:15 +01:00
cuckoocache.h Add FastRange32 function and use it throughout the codebase 2022-01-07 13:37:47 -05:00
dbwrapper.cpp refactor: Change LogPrintLevel order to category, severity 2022-05-25 11:31:58 +02:00
dbwrapper.h Use spans of std::byte in serialize 2022-01-02 11:40:31 +01:00
deploymentinfo.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentinfo.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentstatus.cpp validation: move g_versionbitscache into ChainstateManager 2022-05-10 12:09:33 +10:00
deploymentstatus.h validation: move g_versionbitscache into ChainstateManager 2022-05-10 12:09:33 +10:00
dummywallet.cpp wallet: ensure wallet files are not reused across chains 2022-02-16 15:02:26 +02:00
external_signer.cpp parsing external signer master fingerprint string as bytes instead of caring for lower/upper case in ExternalSigner::SignTransaction 2022-05-07 11:09:52 +02:00
external_signer.h refactor: make ExternalSigner NetworkArg() and m_chain private 2021-06-16 10:48:58 +02:00
flatfile.cpp Disallow more unsafe string->path conversions allowed by path append operators 2022-04-21 12:01:00 -05:00
flatfile.h
fs.cpp util: Replace non-threadsafe strerror 2022-04-28 10:24:06 +02:00
fs.h Disallow more unsafe string->path conversions allowed by path append operators 2022-04-21 12:01:00 -05:00
hash.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
hash.h refactor: Remove defunct attributes.h includes 2022-05-21 13:54:33 -05:00
httprpc.cpp scripted-diff: Use getInt<T> over get_int/get_int64 2022-05-18 19:15:03 +02:00
httprpc.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
httpserver.cpp refactor: Change LogPrintLevel order to category, severity 2022-05-25 11:31:58 +02:00
httpserver.h Merge bitcoin/bitcoin#24681: build: Bump libevent minimum version up to 2.1.8 2022-04-06 13:19:36 +01:00
i2p.cpp scripted-diff: remove duplicate categories from LogPrint output 2022-06-06 12:12:03 +02:00
i2p.h Increase threadsafety annotation coverage 2022-05-12 02:25:55 +10:00
indirectmap.h
init.cpp Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
init.h Move init::SanityCheck to kernel::SanityCheck 2022-06-02 11:42:12 -04:00
key.cpp refactor: Use Span of std::byte in CExtKey::SetSeed 2022-04-27 19:53:37 +02:00
key.h refactor: Use Span of std::byte in CExtKey::SetSeed 2022-04-27 19:53:37 +02:00
key_io.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
key_io.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
logging.cpp logging: fix logging empty threadname 2022-06-02 22:30:30 +08:00
logging.h refactor: Change LogPrintLevel order to category, severity 2022-05-25 11:31:58 +02:00
Makefile.am Merge bitcoin/bitcoin#25065: [kernel 2c/n] Introduce kernel::Context, encapsulate global init/teardown 2022-06-04 20:25:57 +01:00
Makefile.bench.include Merge bitcoin/bitcoin#24852: util: optimize HexStr 2022-05-04 20:36:09 +02:00
Makefile.crc32c.include build: Create .la library for crc32c 2022-04-26 16:25:38 -04:00
Makefile.leveldb.include build: Create .la library for leveldb 2022-04-26 16:29:35 -04:00
Makefile.minisketch.include build: add minisketch build file and include it 2021-10-21 09:37:30 +08:00
Makefile.qt.include build: Remove vestigial LIBLEVELDB_SSE42 2022-04-11 16:56:34 -04:00
Makefile.qt_locale.include qt: Pre-branch translation updates for 23.x 2022-02-28 16:59:56 +01:00
Makefile.qttest.include build: Remove vestigial LIBLEVELDB_SSE42 2022-04-11 16:56:34 -04:00
Makefile.test.include Merge bitcoin/bitcoin#24860: Miniscript integration follow-ups 2022-06-04 20:54:20 +01:00
Makefile.test_fuzz.include build: Don't add unrelated libs to LIBTEST_* 2022-04-11 16:56:34 -04:00
Makefile.test_util.include build: Don't add unrelated libs to LIBTEST_* 2022-04-11 16:56:34 -04:00
Makefile.univalue.include Integrate univalue into our buildsystem 2021-10-11 20:46:25 +08:00
mapport.cpp Don't use zero as null pointer constant (-Wzero-as-null-pointer-constant) 2022-04-26 10:41:45 +01:00
mapport.h
memusage.h
merkleblock.cpp
merkleblock.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net.cpp Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
net.h scripted-diff: Convert global Mutexes to GlobalMutexes 2022-05-21 01:23:23 +10:00
net_permissions.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net_permissions.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net_processing.cpp Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
net_processing.h Do not pass CChainParams& to PeerManager::make 2022-05-18 18:46:27 +02:00
net_types.cpp scripted-diff: Use getInt<T> over get_int/get_int64 2022-05-18 19:15:03 +02:00
net_types.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netaddress.cpp refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
netaddress.h refactor: Remove defunct attributes.h includes 2022-05-21 13:54:33 -05:00
netbase.cpp scripted-diff: Convert global Mutexes to GlobalMutexes 2022-05-21 01:23:23 +10:00
netbase.h net: use Sock::SetSockOpt() instead of standalone SetSocketNoDelay() 2022-04-15 09:39:25 +02:00
netgroup.cpp [netgroup] Use nStartByte as offset for the last byte of the group 2022-04-25 15:09:14 +02:00
netgroup.h [netgroupman] Remove NetGroupManager::GetAsmap() 2022-04-20 14:35:53 +01:00
netmessagemaker.h
noui.cpp
noui.h
outputtype.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
outputtype.h refactor: Remove defunct attributes.h includes 2022-05-21 13:54:33 -05:00
pow.cpp
pow.h
prevector.h Merge bitcoin/bitcoin#24962: prevector: enforce is_trivially_copyable_v 2022-05-16 16:25:47 +02:00
protocol.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
protocol.h Remove no-op TIME_INIT on deser 2022-05-30 13:55:39 +02:00
psbt.cpp refactor: Change * to & in MutableTransactionSignatureCreator 2022-05-04 11:49:29 +02:00
psbt.h refactor: Remove defunct attributes.h includes 2022-05-21 13:54:33 -05:00
pubkey.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
pubkey.h Use spans of std::byte in serialize 2022-01-02 11:40:31 +01:00
random.cpp refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
random.h Merge bitcoin/bitcoin#24925: refactor: make GetRand a template, remove GetRandInt 2022-05-12 08:57:22 +02:00
randomenv.cpp tidy: add readability-redundant-declaration 2022-05-01 10:39:40 +01:00
randomenv.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
rest.cpp Do not call global Params() when chainman is in scope 2022-05-18 18:46:48 +02:00
rest.h Handle query string when parsing data format 2022-03-10 12:01:53 +01:00
reverse_iterator.h
scheduler.cpp refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
scheduler.h Increase threadsafety annotation coverage 2022-05-12 02:25:55 +10:00
serialize.h scripted-diff: rename BytePtr to AsBytePtr 2022-04-26 09:41:45 +01:00
shutdown.cpp Guard #include <config/bitcoin-config.h> 2022-05-02 16:41:30 +02:00
shutdown.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
signet.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
signet.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
span.h scripted-diff: rename BytePtr to AsBytePtr 2022-04-26 09:41:45 +01:00
streams.h scripted-diff: Rename nReadPos to m_read_pos in streams.h 2022-02-09 17:21:04 +01:00
sync.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
sync.h sync.h: Imply negative assertions when calling LOCK 2022-05-21 01:23:23 +10:00
threadinterrupt.cpp
threadinterrupt.h Increase threadsafety annotation coverage 2022-05-12 02:25:55 +10:00
threadsafety.h
timedata.cpp Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
timedata.h timedata: make it possible to reset the state 2022-03-02 15:40:30 +01:00
tinyformat.h Use C++17 [[fallthrough]] attribute, and drop -Wno-implicit-fallthrough 2021-07-05 08:59:38 +03:00
torcontrol.cpp scripted-diff: remove duplicate categories from LogPrint output 2022-06-06 12:12:03 +02:00
torcontrol.h torcontrol: Query Tor for correct -onion configuration 2022-03-15 01:33:52 +00:00
txdb.cpp refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
txdb.h Remove utxo db upgrade code 2022-03-10 13:05:29 +01:00
txmempool.cpp Merge bitcoin/bitcoin#23416: doc: Remove fee delta TODO from txmempool.cpp 2022-04-14 09:42:22 +02:00
txmempool.h Use CAmount for fee delta and modified fee 2022-03-21 13:38:08 +01:00
txorphanage.cpp scripted-diff: Update txorphanage naming convention 2021-02-27 01:08:09 +10:00
txorphanage.h [net processing] Add Orphanage empty consistency check 2021-07-20 13:12:42 +01:00
txrequest.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txrequest.h
uint256.cpp
uint256.h Use spans of std::byte in serialize 2022-01-02 11:40:31 +01:00
undo.h
validation.cpp Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
validation.h Merge bitcoin/bitcoin#24931: Strengthen thread safety assertions 2022-06-10 16:42:53 +02:00
validationinterface.cpp refactor: Remove defunct attributes.h includes 2022-05-21 13:54:33 -05:00
validationinterface.h scripted-diff: Rename MainSignalsInstance() class to MainSignalsImpl() 2022-05-09 18:35:44 +02:00
version.h
versionbits.cpp Sanity assert GetAncestor() != nullptr where appropriate 2022-05-05 15:55:44 +02:00
versionbits.h Increase threadsafety annotation coverage 2022-05-12 02:25:55 +10:00
walletinitinterface.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
warnings.cpp scripted-diff: Convert global Mutexes to GlobalMutexes 2022-05-21 01:23:23 +10:00
warnings.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00