bitcoin-util
exception from FORTIFY check
4bff4ce561
contrib: drop bitcoin-util exception from FORTIFY check (fanquake) Pull request description: It's got `memcpy_chk`. Guix Build (aarch64): ```bash 955c15e4b40dae5f0a80185a5a759764eb650003b56a997f2f18b058f979e212 guix-build-4bff4ce561b0/output/aarch64-linux-gnu/SHA256SUMS.part 4e57193921b5a96b1da82e964577e20fdc8f287de9f28dc15b818f94bdc12fd2 guix-build-4bff4ce561b0/output/aarch64-linux-gnu/bitcoin-4bff4ce561b0-aarch64-linux-gnu-debug.tar.gz fb9779bfe3412f80393b85c7c12763fe34909879a34edbfe08d00bbea222d357 guix-build-4bff4ce561b0/output/aarch64-linux-gnu/bitcoin-4bff4ce561b0-aarch64-linux-gnu.tar.gz 42068fd17c33c7de75556b257de7e9ec7f94f9a0610c2a2be75050053cf18aff guix-build-4bff4ce561b0/output/arm-linux-gnueabihf/SHA256SUMS.part a0297f846e03f79f99d812f879eb09587c90bd03b8573aeb98bf8e56ef81544c guix-build-4bff4ce561b0/output/arm-linux-gnueabihf/bitcoin-4bff4ce561b0-arm-linux-gnueabihf-debug.tar.gz fb20033e5a9f61a2d5f932ddfb1f402226d33b776f3c6fb5df1de8cecde36eeb guix-build-4bff4ce561b0/output/arm-linux-gnueabihf/bitcoin-4bff4ce561b0-arm-linux-gnueabihf.tar.gz b0298c7c5176f67039e32d7691f99e0e9cd53d50af1c4a3a745ff02810867aac guix-build-4bff4ce561b0/output/arm64-apple-darwin/SHA256SUMS.part 0c498c6721dfae596a15bd3b083a635951ff4441cf5545d63f00fd743c481527 guix-build-4bff4ce561b0/output/arm64-apple-darwin/bitcoin-4bff4ce561b0-arm64-apple-darwin-codesigning.tar.gz 04f7ac0d9c6103c302c165db21428f39afbd2bb506def903d259feae740f758d guix-build-4bff4ce561b0/output/arm64-apple-darwin/bitcoin-4bff4ce561b0-arm64-apple-darwin-unsigned.tar.gz 899b2efa608200508153bbb4d745099d525c2196b0f00a8bb0e960070c3cd3c6 guix-build-4bff4ce561b0/output/arm64-apple-darwin/bitcoin-4bff4ce561b0-arm64-apple-darwin-unsigned.zip 51aeb7a040a0910e7466c14ce554362b4924b821be093ba73dffdda07c73618b guix-build-4bff4ce561b0/output/dist-archive/bitcoin-4bff4ce561b0.tar.gz 3119f9da15028a5d84645360dad9eab2e85b8ef363af919ea3e60104211b7d62 guix-build-4bff4ce561b0/output/powerpc64-linux-gnu/SHA256SUMS.part 6d4d7cd1d8e294b65340669c2979079ff5c73e09df1e9629b182af8414a45b66 guix-build-4bff4ce561b0/output/powerpc64-linux-gnu/bitcoin-4bff4ce561b0-powerpc64-linux-gnu-debug.tar.gz 9c36b47c37b0f77c23ab9a5a0b080e6e82b17e8d1de352b3096f2b96994e1d49 guix-build-4bff4ce561b0/output/powerpc64-linux-gnu/bitcoin-4bff4ce561b0-powerpc64-linux-gnu.tar.gz ef8ebcb015e282a969f36564b4c430dd1e74237b2362256f0485a3fc20d86bcf guix-build-4bff4ce561b0/output/riscv64-linux-gnu/SHA256SUMS.part ff6313218a98a73603f2efa9f66f14289eb84f2561715ff99833b55aabc694d5 guix-build-4bff4ce561b0/output/riscv64-linux-gnu/bitcoin-4bff4ce561b0-riscv64-linux-gnu-debug.tar.gz 75047bd03387b45995186ba4fad0d403f15b0590f064ed9a7bac7a38b07ef227 guix-build-4bff4ce561b0/output/riscv64-linux-gnu/bitcoin-4bff4ce561b0-riscv64-linux-gnu.tar.gz f714833a5fa772f4617e268ba75aa83435e755c97e378903b80dbf0808a5d4f5 guix-build-4bff4ce561b0/output/x86_64-apple-darwin/SHA256SUMS.part 567925e2e2438fac7e5928f63088ae32ff8b4a6feaceb94b404e087377bacf8b guix-build-4bff4ce561b0/output/x86_64-apple-darwin/bitcoin-4bff4ce561b0-x86_64-apple-darwin-codesigning.tar.gz 1b018bc5e57512de19ff671ec03bb0fc5ff4be2e03a49263b7baa9b3c9cccf23 guix-build-4bff4ce561b0/output/x86_64-apple-darwin/bitcoin-4bff4ce561b0-x86_64-apple-darwin-unsigned.tar.gz 06f41fad17071ca96013cd645bdbef4b81d1ead2dd83e3b484241fb9c092c5ae guix-build-4bff4ce561b0/output/x86_64-apple-darwin/bitcoin-4bff4ce561b0-x86_64-apple-darwin-unsigned.zip 77003ff6a044d55d72a8e8bf7d66d65da07a7ce22c2d6bb6ff41d3cd2540c826 guix-build-4bff4ce561b0/output/x86_64-linux-gnu/SHA256SUMS.part 3160e76ddc373c5c9b3f230a8d21ee0d9f46f19cf547f4799d6bd6f692369400 guix-build-4bff4ce561b0/output/x86_64-linux-gnu/bitcoin-4bff4ce561b0-x86_64-linux-gnu-debug.tar.gz ff4a05d53920efd903f7f3ea13a0a7738548f1eb92165d32bd707e09a687262a guix-build-4bff4ce561b0/output/x86_64-linux-gnu/bitcoin-4bff4ce561b0-x86_64-linux-gnu.tar.gz 150b79a688eb5b2718b6a12a32eaeaf296fe5b7e0c5090dfc30f3f749c88fc44 guix-build-4bff4ce561b0/output/x86_64-w64-mingw32/SHA256SUMS.part 692612b7989c4a90cff9cd30821d8210e4a556003d77c48560c0038e7cd7bc89 guix-build-4bff4ce561b0/output/x86_64-w64-mingw32/bitcoin-4bff4ce561b0-win64-codesigning.tar.gz b480ec868f6d4e070707a8ff98ae53416de88c7cb1125e475de823e6046c2a52 guix-build-4bff4ce561b0/output/x86_64-w64-mingw32/bitcoin-4bff4ce561b0-win64-debug.zip ac2108d4c80a85aa9d72258e5d69f90b8fa8475ab91a0305717d5ce478f4951c guix-build-4bff4ce561b0/output/x86_64-w64-mingw32/bitcoin-4bff4ce561b0-win64-setup-unsigned.exe daef011a4775354b715591ca3e629bcfd9a7b582875c16dae26dc1cb91bde829 guix-build-4bff4ce561b0/output/x86_64-w64-mingw32/bitcoin-4bff4ce561b0-win64-unsigned.zip ``` ACKs for top commit: hebasto: ACK4bff4ce561
. Tree-SHA512: a5e373e5e7d2d3c626ac639816fadb6aed8acd63d1a7a54613b00c23c1361d5e6731bb3caa573d549135a7ccec0ff22133a301474780b386ad5b82792fe5f3b9
Bitcoin Core integration/staging tree
For an immediately usable, binary version of the Bitcoin Core software, see https://bitcoincore.org/en/download/.
What is Bitcoin Core?
Bitcoin Core connects to the Bitcoin peer-to-peer network to download and fully validate blocks and transactions. It also includes a wallet and graphical user interface, which can be optionally built.
Further information about Bitcoin Core is available in the doc folder.
License
Bitcoin Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/license/MIT.
Development Process
The master
branch is regularly built (see doc/build-*.md
for instructions) and tested, but it is not guaranteed to be
completely stable. Tags are created
regularly from release branches to indicate new official, stable release versions of Bitcoin Core.
The https://github.com/bitcoin-core/gui repository is used exclusively for the development of the GUI. Its master branch is identical in all monotree repositories. Release branches and tags do not exist, so please do not fork that repository unless it is for development reasons.
The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.
Testing
Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.
Automated Testing
Developers are strongly encouraged to write unit tests for new code, and to
submit new unit tests for old code. Unit tests can be compiled and run
(assuming they weren't disabled during the generation of the build system) with: ctest
. Further details on running
and extending unit tests can be found in /src/test/README.md.
There are also regression and integration tests, written
in Python.
These tests can be run (if the test dependencies are installed) with: build/test/functional/test_runner.py
(assuming build
is your build directory).
The CI (Continuous Integration) systems make sure that every pull request is tested on Windows, Linux, and macOS. The CI must pass on all commits before merge to avoid unrelated CI failures on new pull requests.
Manual Quality Assurance (QA) Testing
Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.
Translations
Changes to translations as well as new translations can be submitted to Bitcoin Core's Transifex page.
Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.
Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.