mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-04 13:55:23 -05:00
Merge bitcoin/bitcoin#31422: [27.x] More backports
25f150304d
doc: update release notes (fanquake)8588d5bbe0
tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs (0xb10c)a1db79c31d
depends: Fix spacing issue (Hennadii Stepanov)c70bd786f8
depends: Fix CXXFLAGS on NetBSD (Hennadii Stepanov)166fea73eb
test: fix MIN macro-redefinition (0xb10c) Pull request description: Backports: * #31419 * #31502 * #31623 * #31627 ACKs for top commit: stickies-v: ACK25f150304d
Tree-SHA512: 331027b176f5fd344a74d7b6d6668db5251ab2fec9f079977601499a37f71fe84cb6dee1cdee40a0570aa92d29839093c578e8eebde92188e4de534f4a6dee65
This commit is contained in:
commit
1e7041a9f3
5 changed files with 20 additions and 46 deletions
|
@ -41,7 +41,8 @@ from bcc import BPF, USDT
|
||||||
program = """
|
program = """
|
||||||
#include <uapi/linux/ptrace.h>
|
#include <uapi/linux/ptrace.h>
|
||||||
|
|
||||||
#define MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
|
// A min() macro. Prefixed with _TRACEPOINT_TEST to avoid collision with other MIN macros.
|
||||||
|
#define _TRACEPOINT_TEST_MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
|
||||||
|
|
||||||
// Maximum possible allocation size
|
// Maximum possible allocation size
|
||||||
// from include/linux/percpu.h in the Linux kernel
|
// from include/linux/percpu.h in the Linux kernel
|
||||||
|
@ -88,7 +89,7 @@ int trace_inbound_message(struct pt_regs *ctx) {
|
||||||
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
|
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg(5, ctx, &msg->msg_size);
|
bpf_usdt_readarg(5, ctx, &msg->msg_size);
|
||||||
bpf_usdt_readarg_p(6, ctx, &msg->msg, MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
|
bpf_usdt_readarg_p(6, ctx, &msg->msg, _TRACEPOINT_TEST_MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
|
||||||
|
|
||||||
inbound_messages.perf_submit(ctx, msg, sizeof(*msg));
|
inbound_messages.perf_submit(ctx, msg, sizeof(*msg));
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -108,7 +109,7 @@ int trace_outbound_message(struct pt_regs *ctx) {
|
||||||
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
|
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg(5, ctx, &msg->msg_size);
|
bpf_usdt_readarg(5, ctx, &msg->msg_size);
|
||||||
bpf_usdt_readarg_p(6, ctx, &msg->msg, MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
|
bpf_usdt_readarg_p(6, ctx, &msg->msg, _TRACEPOINT_TEST_MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
|
||||||
|
|
||||||
outbound_messages.perf_submit(ctx, msg, sizeof(*msg));
|
outbound_messages.perf_submit(ctx, msg, sizeof(*msg));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -147,7 +147,7 @@ include packages/packages.mk
|
||||||
# 2. Before including packages/*.mk (excluding packages/packages.mk), since
|
# 2. Before including packages/*.mk (excluding packages/packages.mk), since
|
||||||
# they rely on the build_id variables
|
# they rely on the build_id variables
|
||||||
#
|
#
|
||||||
build_id:=$(shell env CC='$(build_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(build_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(build_AR) 'NM='$(build_NM)' RANLIB='$(build_RANLIB)' STRIP='$(build_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
build_id:=$(shell env CC='$(build_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(build_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(build_AR)' NM='$(build_NM)' RANLIB='$(build_RANLIB)' STRIP='$(build_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
||||||
$(host_arch)_$(host_os)_id:=$(shell env CC='$(host_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(host_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(host_AR)' NM='$(host_NM)' RANLIB='$(host_RANLIB)' STRIP='$(host_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
$(host_arch)_$(host_os)_id:=$(shell env CC='$(host_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(host_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(host_AR)' NM='$(host_NM)' RANLIB='$(host_RANLIB)' STRIP='$(host_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
||||||
|
|
||||||
boost_packages_$(NO_BOOST) = $(boost_packages)
|
boost_packages_$(NO_BOOST) = $(boost_packages)
|
||||||
|
|
|
@ -7,8 +7,6 @@ netbsd_NM = $(host_toolchain)gcc-nm
|
||||||
netbsd_RANLIB = $(host_toolchain)gcc-ranlib
|
netbsd_RANLIB = $(host_toolchain)gcc-ranlib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
netbsd_CXXFLAGS=$(netbsd_CFLAGS)
|
|
||||||
|
|
||||||
netbsd_release_CFLAGS=-O2
|
netbsd_release_CFLAGS=-O2
|
||||||
netbsd_release_CXXFLAGS=$(netbsd_release_CFLAGS)
|
netbsd_release_CXXFLAGS=$(netbsd_release_CFLAGS)
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
27.2 Release Notes
|
27.x Release Notes
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Bitcoin Core version 27.2 is now available from:
|
Bitcoin Core version 27.x is now available from:
|
||||||
|
|
||||||
<https://bitcoincore.org/bin/bitcoin-core-27.2/>
|
<https://bitcoincore.org/bin/bitcoin-core-27.x/>
|
||||||
|
|
||||||
This release includes various bug fixes and performance
|
This release includes various bug fixes and performance
|
||||||
improvements, as well as updated translations.
|
improvements, as well as updated translations.
|
||||||
|
@ -40,53 +40,27 @@ unsupported systems.
|
||||||
Notable changes
|
Notable changes
|
||||||
===============
|
===============
|
||||||
|
|
||||||
### P2P
|
|
||||||
|
|
||||||
- #30394 net: fix race condition in self-connect detection
|
|
||||||
|
|
||||||
### Init
|
|
||||||
|
|
||||||
- #30435 init: change shutdown order of load block thread and scheduler
|
|
||||||
|
|
||||||
### RPC
|
|
||||||
|
|
||||||
- #30357 Fix cases of calls to FillPSBT errantly returning complete=true
|
|
||||||
|
|
||||||
### PSBT
|
|
||||||
|
|
||||||
- #29855 psbt: Check non witness utxo outpoint early
|
|
||||||
|
|
||||||
### Test
|
### Test
|
||||||
|
|
||||||
- #30552 test: fix constructor of msg_tx
|
- #31419 test: fix MIN macro redefinition
|
||||||
|
|
||||||
### Doc
|
|
||||||
|
|
||||||
- #30504 doc: use proper doxygen formatting for CTxMemPool::cs
|
|
||||||
|
|
||||||
### Build
|
### Build
|
||||||
|
|
||||||
- #30283 upnp: fix build with miniupnpc 2.2.8
|
- #31502 depends: Fix CXXFLAGS on NetBSD
|
||||||
- #30633 Fixes for GCC 15 compatibility
|
- #31627 depends: Fix spacing issue
|
||||||
|
|
||||||
### CI
|
### Misc
|
||||||
|
|
||||||
|
- #31623 tracing: Rename the MIN macro to TRACEPOINT_TEST_MIN in log_raw_p2p_msgs
|
||||||
|
|
||||||
- #30193 ci: move ASan job to GitHub Actions from Cirrus CI
|
|
||||||
- #30299 ci: remove unused bcc variable from workflow
|
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Thanks to everyone who directly contributed to this release:
|
Thanks to everyone who directly contributed to this release:
|
||||||
|
|
||||||
- Ava Chow
|
- 0xb10c
|
||||||
- Cory Fields
|
- Hennadii Stepanov
|
||||||
- Martin Zumsande
|
|
||||||
- Matt Whitlock
|
|
||||||
- Max Edwards
|
|
||||||
- Sebastian Falbesoner
|
|
||||||
- Vasil Dimov
|
|
||||||
- willcl-ark
|
|
||||||
|
|
||||||
As well as to everyone that helped with translations on
|
As well as to everyone that helped with translations on
|
||||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||||
|
|
|
@ -40,7 +40,8 @@ net_tracepoints_program = """
|
||||||
MAX_MSG_TYPE_LENGTH,
|
MAX_MSG_TYPE_LENGTH,
|
||||||
MAX_MSG_DATA_LENGTH
|
MAX_MSG_DATA_LENGTH
|
||||||
) + """
|
) + """
|
||||||
#define MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
|
// A min() macro. Prefixed with _TRACEPOINT_TEST to avoid collision with other MIN macros.
|
||||||
|
#define _TRACEPOINT_TEST_MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
|
||||||
|
|
||||||
struct p2p_message
|
struct p2p_message
|
||||||
{
|
{
|
||||||
|
@ -60,7 +61,7 @@ int trace_inbound_message(struct pt_regs *ctx) {
|
||||||
bpf_usdt_readarg_p(3, ctx, &msg.peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
bpf_usdt_readarg_p(3, ctx, &msg.peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg_p(4, ctx, &msg.msg_type, MAX_MSG_TYPE_LENGTH);
|
bpf_usdt_readarg_p(4, ctx, &msg.msg_type, MAX_MSG_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg(5, ctx, &msg.msg_size);
|
bpf_usdt_readarg(5, ctx, &msg.msg_size);
|
||||||
bpf_usdt_readarg_p(6, ctx, &msg.msg, MIN(msg.msg_size, MAX_MSG_DATA_LENGTH));
|
bpf_usdt_readarg_p(6, ctx, &msg.msg, _TRACEPOINT_TEST_MIN(msg.msg_size, MAX_MSG_DATA_LENGTH));
|
||||||
inbound_messages.perf_submit(ctx, &msg, sizeof(msg));
|
inbound_messages.perf_submit(ctx, &msg, sizeof(msg));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -73,7 +74,7 @@ int trace_outbound_message(struct pt_regs *ctx) {
|
||||||
bpf_usdt_readarg_p(3, ctx, &msg.peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
bpf_usdt_readarg_p(3, ctx, &msg.peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg_p(4, ctx, &msg.msg_type, MAX_MSG_TYPE_LENGTH);
|
bpf_usdt_readarg_p(4, ctx, &msg.msg_type, MAX_MSG_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg(5, ctx, &msg.msg_size);
|
bpf_usdt_readarg(5, ctx, &msg.msg_size);
|
||||||
bpf_usdt_readarg_p(6, ctx, &msg.msg, MIN(msg.msg_size, MAX_MSG_DATA_LENGTH));
|
bpf_usdt_readarg_p(6, ctx, &msg.msg, _TRACEPOINT_TEST_MIN(msg.msg_size, MAX_MSG_DATA_LENGTH));
|
||||||
outbound_messages.perf_submit(ctx, &msg, sizeof(msg));
|
outbound_messages.perf_submit(ctx, &msg, sizeof(msg));
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue