-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmake: Regular rebasing of the cmake-staging
branch
#280
Commits on Jul 16, 2024
-
guard TxRequest and rejection caches with new mutex
We need to synchronize between various tx download structures. TxRequest does not inherently need cs_main for synchronization, and it's not appropriate to lock all of the tx download logic under cs_main.
Configuration menu - View commit details
-
Copy full SHA for 3eb1307 - Browse repository at this point
Copy the full SHA 3eb1307View commit details -
add ValidationInterface::ActiveTipChange
This is a synchronous callback notifying clients of all tip changes. It allows clients to respond to a new block immediately after it is connected. The synchronicity is important for things like m_recent_rejects, in which a transaction's validity can change (rejected vs accepted) when this event is processed. For example, the transaction might have a timelock condition that has just been met. This is distinct from something like m_recent_confirmed_transactions, in which the validation outcome is the same (valid vs already-have), so it does not need to be reset immediately.
Configuration menu - View commit details
-
Copy full SHA for 36f170d - Browse repository at this point
Copy the full SHA 36f170dView commit details -
update recent_rejects filters on ActiveTipChange
Resetting m_recent_rejects once per block is more efficient than comparing hashRecentRejectsChainTip with the chain tip every time we call AlreadyHaveTx. We keep hashRecentRejectsChainTip for now to assert that updates happen correctly; it is removed in the next commit.
Configuration menu - View commit details
-
Copy full SHA for 18a4355 - Browse repository at this point
Copy the full SHA 18a4355View commit details -
remove obsoleted hashRecentRejectsChainTip
This also means AlreadyHaveTx no longer needs cs_main held.
Configuration menu - View commit details
-
Copy full SHA for 723ea0f - Browse repository at this point
Copy the full SHA 723ea0fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 61745c7 - Browse repository at this point
Copy the full SHA 61745c7View commit details -
remove obsoleted TxOrphanage::m_mutex
The TxOrphanage is now guarded externally by m_tx_download_mutex.
Configuration menu - View commit details
-
Copy full SHA for 6ff8406 - Browse repository at this point
Copy the full SHA 6ff8406View commit details -
Configuration menu - View commit details
-
Copy full SHA for c85acce - Browse repository at this point
Copy the full SHA c85acceView commit details
Commits on Jul 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6c9746f - Browse repository at this point
Copy the full SHA 6c9746fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1810e20 - Browse repository at this point
Copy the full SHA 1810e20View commit details -
Configuration menu - View commit details
-
Copy full SHA for 51d8f43 - Browse repository at this point
Copy the full SHA 51d8f43View commit details -
contrib: assume binary existence in sec/sym checks
If the binaries don't exist, the Guix build has failed for some other reason. There's no need to check for unknown architectures, or executable formats, as the only ones that could be built are those that we've configured toolchains for in Guix. We've also been doing this inconsistently across the two scripts.
Configuration menu - View commit details
-
Copy full SHA for 1bc9f64 - Browse repository at this point
Copy the full SHA 1bc9f64View commit details
Commits on Jul 24, 2024
-
Merge bitcoin#30111: locks: introduce mutex for tx download, flush re…
…jection filters once per tip change c85acce [refactor] delete EraseTxNoLock, just use EraseTx (glozow) 6ff8406 remove obsoleted TxOrphanage::m_mutex (glozow) 61745c7 lock m_recent_confirmed_transactions using m_tx_download_mutex (glozow) 723ea0f remove obsoleted hashRecentRejectsChainTip (glozow) 18a4355 update recent_rejects filters on ActiveTipChange (glozow) 36f170d add ValidationInterface::ActiveTipChange (glozow) 3eb1307 guard TxRequest and rejection caches with new mutex (glozow) Pull request description: See bitcoin#27463 for full project tracking. This contains the first few commits of bitcoin#30110, which require some thinking about thread safety in review. - Introduce a new `m_tx_download_mutex` which guards the transaction download data structures including `m_txrequest`, the rolling bloom filters, and `m_orphanage`. Later this should become the mutex guarding `TxDownloadManager`. - `m_txrequest` doesn't need to be guarded using `cs_main` anymore - `m_recent_confirmed_transactions` doesn't need its own lock anymore - `m_orphanage` doesn't need its own lock anymore - Adds a new `ValidationInterface` event, `ActiveTipChanged`, which is a synchronous callback whenever the tip of the active chainstate changes. - Flush `m_recent_rejects` and `m_recent_rejects_reconsiderable` on `ActiveTipChanged` just once instead of checking the tip every time `AlreadyHaveTx` is called. This should speed up calls to that function (no longer comparing a block hash each time) and removes the need to lock `cs_main` every time it is called. Motivation: - These data structures need synchronization. While we are holding `m_tx_download_mutex`, these should hold: - a tx hash in `m_txrequest` is not also in `m_orphanage` - a tx hash in `m_txrequest` is not also in `m_recent_rejects` or `m_recent_confirmed_transactions` - In the future, orphan resolution tracking should also be synchronized. If a tx has an entry in the orphan resolution tracker, it is also in `m_orphanage`, and not in `m_txrequest`, etc. - Currently, `cs_main` is used to e.g. sync accesses to `m_txrequest`. We should not broaden the scope of things it locks. - Currently, we need to know the current chainstate every time we call `AlreadyHaveTx` so we can decide whether we should update it. Every call compares the current tip hash with `hashRecentRejectsChainTip`. It is more efficient to have a validation interface callback that updates the rejection filters whenever the chain tip changes. ACKs for top commit: instagibbs: reACK c85acce dergoegge: Code review ACK c85acce theStack: Light code-review ACK c85acce hebasto: ACK c85acce, I have reviewed the code and it looks OK. Tree-SHA512: c3bd524b5de1cafc9a10770dadb484cc479d6d4c687d80dd0f176d339fd95f73b85cb44cb3b6b464d38a52e20feda00aa2a1da5a73339e31831687e4bd0aa0c5
Configuration menu - View commit details
-
Copy full SHA for 9607277 - Browse repository at this point
Copy the full SHA 9607277View commit details -
Merge bitcoin#30423: contrib: simplify
test-security-check
1bc9f64 contrib: assume binary existence in sec/sym checks (fanquake) 51d8f43 contrib: simplify ELF test-security-check (fanquake) 1810e20 contrib: simplify PE test-security-check (fanquake) 6c9746f contrib: simplify MACHO test-security-check (fanquake) Pull request description: The current `test-security-check` script is hard to understand, and change (i.e https://github.com/bitcoin/bitcoin/pull/29987/files#diff-52aa0cda44721f089e53b128cb1232a876006ef257b211655456b17dfb2ec712); tests are also not done in isolation (when-possible). Fix that, and add missing checks. Simplifies future toolchain/security/hardening changes. ACKs for top commit: hebasto: ACK 1bc9f64 (assuming my Guix hashes match; I'll provide them shortly). TheCharlatan: ACK 1bc9f64 Tree-SHA512: 1885d0ce63a94ffa61345327f919da20b63de6dd4148d6db3ee8bad4485253a36e8ab0dbee48cecc02ea35d139edfed75453af45fc364bcbef6fe16b6823bc7a
Configuration menu - View commit details
-
Copy full SHA for fa0b5d6 - Browse repository at this point
Copy the full SHA fa0b5d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2dc6136 - Browse repository at this point
Copy the full SHA 2dc6136View commit details -
cmake: Introduce interface libraries to encapsulate common flags
Also add a sanity check for non-encapsulated (directory-wide) build properties.
Configuration menu - View commit details
-
Copy full SHA for 00c56c4 - Browse repository at this point
Copy the full SHA 00c56c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a53683 - Browse repository at this point
Copy the full SHA 5a53683View commit details -
Configuration menu - View commit details
-
Copy full SHA for c053404 - Browse repository at this point
Copy the full SHA c053404View commit details -
cmake: Add introspection module
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com> Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Configuration menu - View commit details
-
Copy full SHA for a26a3b7 - Browse repository at this point
Copy the full SHA a26a3b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 26a3e25 - Browse repository at this point
Copy the full SHA 26a3e25View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e33979 - Browse repository at this point
Copy the full SHA 2e33979View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b9a03c - Browse repository at this point
Copy the full SHA 6b9a03cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c405d64 - Browse repository at this point
Copy the full SHA c405d64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 120affb - Browse repository at this point
Copy the full SHA 120affbView commit details -
Configuration menu - View commit details
-
Copy full SHA for c5a750b - Browse repository at this point
Copy the full SHA c5a750bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c8abf25 - Browse repository at this point
Copy the full SHA c8abf25View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fffba9 - Browse repository at this point
Copy the full SHA 3fffba9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 741d537 - Browse repository at this point
Copy the full SHA 741d537View commit details -
cmake: Build
leveldb
static libraryCo-authored-by: Cory Fields <cory-nospam-@coryfields.com>
Configuration menu - View commit details
-
Copy full SHA for 641a13a - Browse repository at this point
Copy the full SHA 641a13aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c16b96 - Browse repository at this point
Copy the full SHA 8c16b96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9999a39 - Browse repository at this point
Copy the full SHA 9999a39View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7899465 - Browse repository at this point
Copy the full SHA 7899465View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b75736 - Browse repository at this point
Copy the full SHA 8b75736View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e66edb - Browse repository at this point
Copy the full SHA 0e66edbView commit details -
Configuration menu - View commit details
-
Copy full SHA for bff4cf2 - Browse repository at this point
Copy the full SHA bff4cf2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe8f4a6 - Browse repository at this point
Copy the full SHA fe8f4a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbca0ea - Browse repository at this point
Copy the full SHA bbca0eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9797b4f - Browse repository at this point
Copy the full SHA 9797b4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f51c88 - Browse repository at this point
Copy the full SHA 1f51c88View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3106231 - Browse repository at this point
Copy the full SHA 3106231View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7411fef - Browse repository at this point
Copy the full SHA 7411fefView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0df4049 - Browse repository at this point
Copy the full SHA 0df4049View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c09317 - Browse repository at this point
Copy the full SHA 2c09317View commit details -
Configuration menu - View commit details
-
Copy full SHA for 360023b - Browse repository at this point
Copy the full SHA 360023bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 013e586 - Browse repository at this point
Copy the full SHA 013e586View commit details -
Configuration menu - View commit details
-
Copy full SHA for faf2b8c - Browse repository at this point
Copy the full SHA faf2b8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2bd197f - Browse repository at this point
Copy the full SHA 2bd197fView commit details -
Configuration menu - View commit details
-
Copy full SHA for f36e637 - Browse repository at this point
Copy the full SHA f36e637View commit details -
Configuration menu - View commit details
-
Copy full SHA for 84c6e27 - Browse repository at this point
Copy the full SHA 84c6e27View commit details -
Configuration menu - View commit details
-
Copy full SHA for d99ea5a - Browse repository at this point
Copy the full SHA d99ea5aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d11165 - Browse repository at this point
Copy the full SHA 5d11165View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7253192 - Browse repository at this point
Copy the full SHA 7253192View commit details -
Configuration menu - View commit details
-
Copy full SHA for 173d60c - Browse repository at this point
Copy the full SHA 173d60cView commit details -
Configuration menu - View commit details
-
Copy full SHA for df76567 - Browse repository at this point
Copy the full SHA df76567View commit details -
Configuration menu - View commit details
-
Copy full SHA for e17298d - Browse repository at this point
Copy the full SHA e17298dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fc14b8 - Browse repository at this point
Copy the full SHA 4fc14b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e4662f - Browse repository at this point
Copy the full SHA 7e4662fView commit details -
Configuration menu - View commit details
-
Copy full SHA for b6e6b6a - Browse repository at this point
Copy the full SHA b6e6b6aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 597076f - Browse repository at this point
Copy the full SHA 597076fView commit details -
cmake: Build
bitcoinkernel
libraryCo-authored-by: TheCharlatan <seb.kung@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 271d0a7 - Browse repository at this point
Copy the full SHA 271d0a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for d2a8ed1 - Browse repository at this point
Copy the full SHA d2a8ed1View commit details -
Configuration menu - View commit details
-
Copy full SHA for e5c5069 - Browse repository at this point
Copy the full SHA e5c5069View commit details -
depends: Amend handling flags environment variables
If any of {C,CXX,CPP,LD}FLAGS is specified it should be assigned to a non-type-specific variable.
Configuration menu - View commit details
-
Copy full SHA for 74eae0b - Browse repository at this point
Copy the full SHA 74eae0bView commit details -
Revert "build, qt: Do not install *.prl files"
This reverts commit 1155978.
Configuration menu - View commit details
-
Copy full SHA for ae8edbf - Browse repository at this point
Copy the full SHA ae8edbfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e63d89 - Browse repository at this point
Copy the full SHA 4e63d89View commit details -
Configuration menu - View commit details
-
Copy full SHA for d534e52 - Browse repository at this point
Copy the full SHA d534e52View commit details -
Configuration menu - View commit details
-
Copy full SHA for c26d0f7 - Browse repository at this point
Copy the full SHA c26d0f7View commit details -
qt, build: Drop
QT_STATICPLUGIN
macroOur `QT_STATICPLUGIN` macro is effectively equivalent to the Qt's `QT_STATIC` macro. No need to handle both of them.
Configuration menu - View commit details
-
Copy full SHA for d2ec00b - Browse repository at this point
Copy the full SHA d2ec00bView commit details -
qt: Drop
Q_IMPORT_PLUGIN
macrosWhen using CMake, each plugin comes with a C++ stub file that automatically initializes the static plugin. Consequently, any target that links against a plugin has this C++ file added to its SOURCES, which makes the removed code redundant.
Configuration menu - View commit details
-
Copy full SHA for cb7000c - Browse repository at this point
Copy the full SHA cb7000cView commit details -
cmake: Add cross-compiling support
To configure CMake for cross-compiling, use `--toolchain depends/${HOST}/toolchain.cmake` command-line option.
Configuration menu - View commit details
-
Copy full SHA for 28353c0 - Browse repository at this point
Copy the full SHA 28353c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32d04c2 - Browse repository at this point
Copy the full SHA 32d04c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e1db0d - Browse repository at this point
Copy the full SHA 8e1db0dView commit details -
cmake: Add
APPEND_{CPP,C,CXX,LD}FLAGS
cache variablesThe content of those variables is appended to the each target after the flags added by the build system.
Configuration menu - View commit details
-
Copy full SHA for c37e542 - Browse repository at this point
Copy the full SHA c37e542View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7eda797 - Browse repository at this point
Copy the full SHA 7eda797View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66527db - Browse repository at this point
Copy the full SHA 66527dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 29ab654 - Browse repository at this point
Copy the full SHA 29ab654View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1356ae4 - Browse repository at this point
Copy the full SHA 1356ae4View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa0705d - Browse repository at this point
Copy the full SHA fa0705dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 199349f - Browse repository at this point
Copy the full SHA 199349fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a8957df - Browse repository at this point
Copy the full SHA a8957dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 123cfee - Browse repository at this point
Copy the full SHA 123cfeeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 69cc524 - Browse repository at this point
Copy the full SHA 69cc524View commit details -
Configuration menu - View commit details
-
Copy full SHA for dcd411e - Browse repository at this point
Copy the full SHA dcd411eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e465e1 - Browse repository at this point
Copy the full SHA 0e465e1View commit details -
cmake, ci: Skip
miniupnpc
package in dependsThis change fixes CI jobs as the `miniupnpc` source archive is not available neither at https://miniupnp.tuxfamily.org nor at https://bitcoincore.org/depends-sources at this moment.
Configuration menu - View commit details
-
Copy full SHA for dc490da - Browse repository at this point
Copy the full SHA dc490daView commit details