Skip to content

Commit dbc450c

Browse files
committed
Merge bitcoin#31648: [28.x] Backports
e57359c doc: Update release notes (fanquake) 51fbcba depends: Fix compiling `libevent` package on NetBSD (Hennadii Stepanov) 2829588 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs (0xb10c) f676da8 depends: Fix spacing issue (Hennadii Stepanov) 4e7dd0a doc: upgrade license to 2025. (Kay) Pull request description: Backports: * bitcoin#31500 * bitcoin#31611 * bitcoin#31623 * bitcoin#31627 ACKs for top commit: stickies-v: ACK e57359c willcl-ark: ACK e57359c Tree-SHA512: 2ddc7e5cf1b84846b5b066509074a475bdce6ba70938c5100c985b1135ae0662568654c4053aeddb4a022c7c2c38c49f6ed42f9cc2ff68a3057236202fae141c
2 parents 32efe85 + e57359c commit dbc450c

File tree

8 files changed

+44
-55
lines changed

8 files changed

+44
-55
lines changed

COPYING

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2009-2024 The Bitcoin Core developers
4-
Copyright (c) 2009-2024 Bitcoin Developers
3+
Copyright (c) 2009-2025 The Bitcoin Core developers
4+
Copyright (c) 2009-2025 Bitcoin Developers
55

66
Permission is hereby granted, free of charge, to any person obtaining a copy
77
of this software and associated documentation files (the "Software"), to deal

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ define(_CLIENT_VERSION_MINOR, 1)
44
define(_CLIENT_VERSION_BUILD, 0)
55
define(_CLIENT_VERSION_RC, 0)
66
define(_CLIENT_VERSION_IS_RELEASE, true)
7-
define(_COPYRIGHT_YEAR, 2024)
7+
define(_COPYRIGHT_YEAR, 2025)
88
define(_COPYRIGHT_HOLDERS,[The %s developers])
99
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
1010
AC_INIT([Bitcoin Core],m4_join([.], _CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MINOR, _CLIENT_VERSION_BUILD)m4_if(_CLIENT_VERSION_RC, [0], [], [rc]_CLIENT_VERSION_RC),[https://github.com/bitcoin/bitcoin/issues],[bitcoin],[https://bitcoincore.org/])

contrib/debian/copyright

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Upstream-Contact: Satoshi Nakamoto <[email protected]>
55
Source: https://github.com/bitcoin/bitcoin
66

77
Files: *
8-
Copyright: 2009-2024, Bitcoin Core Developers
8+
Copyright: 2009-2025, Bitcoin Core Developers
99
License: Expat
1010
Comment: The Bitcoin Core Developers encompasses all contributors to the
1111
project, listed in the release notes or the git log.

contrib/tracing/log_raw_p2p_msgs.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
program = """
4242
#include <uapi/linux/ptrace.h>
4343
44-
#define MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
44+
// A min() macro. Prefixed with _TRACEPOINT_TEST to avoid collision with other MIN macros.
45+
#define _TRACEPOINT_TEST_MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
4546
4647
// Maximum possible allocation size
4748
// from include/linux/percpu.h in the Linux kernel
@@ -88,7 +89,7 @@
8889
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
8990
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
9091
bpf_usdt_readarg(5, ctx, &msg->msg_size);
91-
bpf_usdt_readarg_p(6, ctx, &msg->msg, MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
92+
bpf_usdt_readarg_p(6, ctx, &msg->msg, _TRACEPOINT_TEST_MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
9293
9394
inbound_messages.perf_submit(ctx, msg, sizeof(*msg));
9495
return 0;
@@ -108,7 +109,7 @@
108109
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
109110
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
110111
bpf_usdt_readarg(5, ctx, &msg->msg_size);
111-
bpf_usdt_readarg_p(6, ctx, &msg->msg, MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
112+
bpf_usdt_readarg_p(6, ctx, &msg->msg, _TRACEPOINT_TEST_MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
112113
113114
outbound_messages.perf_submit(ctx, msg, sizeof(*msg));
114115
return 0;

depends/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ include packages/packages.mk
143143
# 2. Before including packages/*.mk (excluding packages/packages.mk), since
144144
# they rely on the build_id variables
145145
#
146-
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))')
146+
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))')
147147
$(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))')
148148

149149
boost_packages_$(NO_BOOST) = $(boost_packages)

depends/packages/libevent.mk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ $(package)_file_name=$(package)-$($(package)_version).tar.gz
55
$(package)_sha256_hash=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
66
$(package)_patches=cmake_fixups.patch
77
$(package)_patches+=fix_mingw_link.patch
8+
$(package)_patches += netbsd_fixup.patch
89
$(package)_build_subdir=build
910

1011
# When building for Windows, we set _WIN32_WINNT to target the same Windows
@@ -24,7 +25,8 @@ endef
2425

2526
define $(package)_preprocess_cmds
2627
patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch && \
27-
patch -p1 < $($(package)_patch_dir)/fix_mingw_link.patch
28+
patch -p1 < $($(package)_patch_dir)/fix_mingw_link.patch && \
29+
patch -p1 < $($(package)_patch_dir)/netbsd_fixup.patch
2830
endef
2931

3032
define $(package)_config_cmds
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Improve portability on NetBSD
2+
3+
According to GCC documentation, "the various `-std` options disable
4+
certain keywords".
5+
This change adheres to GCC's recommendation by replacing the `typeof`
6+
keyword with its alternative, `__typeof__`.
7+
8+
See https://github.com/libevent/libevent/commit/1759485e9a59147a47a674f5132fcfe764e7748c.
9+
10+
11+
--- a/kqueue.c
12+
+++ b/kqueue.c
13+
@@ -52,8 +52,8 @@
14+
* intptr_t, whereas others define it as void*. There doesn't seem to be an
15+
* easy way to tell them apart via autoconf, so we need to use OS macros. */
16+
#if defined(__NetBSD__)
17+
-#define PTR_TO_UDATA(x) ((typeof(((struct kevent *)0)->udata))(x))
18+
-#define INT_TO_UDATA(x) ((typeof(((struct kevent *)0)->udata))(intptr_t)(x))
19+
+#define PTR_TO_UDATA(x) ((__typeof__(((struct kevent *)0)->udata))(x))
20+
+#define INT_TO_UDATA(x) ((__typeof__(((struct kevent *)0)->udata))(intptr_t)(x))
21+
#elif defined(EVENT__HAVE_INTTYPES_H) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__darwin__) && !defined(__APPLE__) && !defined(__CloudABI__)
22+
#define PTR_TO_UDATA(x) ((intptr_t)(x))
23+
#define INT_TO_UDATA(x) ((intptr_t)(x))

doc/release-notes.md

Lines changed: 9 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Bitcoin Core version 28.1 is now available from:
1+
Bitcoin Core version 28.x is now available from:
22

3-
<https://bitcoincore.org/bin/bitcoin-core-28.1>
3+
<https://bitcoincore.org/bin/bitcoin-core-28.x>
44

55
This release includes new features, various bug fixes and performance
66
improvements, as well as updated translations.
@@ -44,62 +44,25 @@ unsupported systems.
4444
Notable changes
4545
===============
4646

47-
### P2P
48-
49-
- When the `-port` configuration option is used, the default onion listening port will now
50-
be derived to be that port + 1 instead of being set to a fixed value (8334 on mainnet).
51-
This re-allows setups with multiple local nodes using different `-port` and not using `-bind`,
52-
which would lead to a startup failure in v28.0 due to a port collision.
53-
54-
Note that a `HiddenServicePort` manually configured in `torrc` may need adjustment if used in
55-
connection with the `-port` option.
56-
For example, if you are using `-port=5555` with a non-standard value and not using `-bind=...=onion`,
57-
previously Bitcoin Core would listen for incoming Tor connections on `127.0.0.1:8334`.
58-
Now it would listen on `127.0.0.1:5556` (`-port` plus one). If you configured the hidden service manually
59-
in torrc now you have to change it from `HiddenServicePort 8333 127.0.0.1:8334` to `HiddenServicePort 8333
60-
127.0.0.1:5556`, or configure bitcoind with `-bind=127.0.0.1:8334=onion` to get the previous behavior.
61-
(#31223)
62-
- #30568 addrman: change internal id counting to int64_t
63-
64-
### Key
65-
66-
- #31166 key: clear out secret data in DecodeExtKey
67-
6847
### Build
6948

70-
- #31013 depends: For mingw cross compile use `-gcc-posix` to prevent library conflict
71-
- #31502 depends: Fix CXXFLAGS on NetBSD
72-
73-
### Test
74-
75-
- #31016 test: add missing sync to feature_fee_estimation.py
76-
- #31448 fuzz: add cstdlib to FuzzedDataProvider
77-
- #31419 test: fix MIN macro redefinition
78-
- #31563 rpc: Extend scope of validation mutex in generateblock
79-
80-
### Doc
81-
82-
- #31007 doc: add testnet4 section header for config file
49+
- #31627 depends: Fix spacing issue
50+
- #31500 depends: Fix compiling libevent package on NetBSD
8351

84-
### CI
52+
### Tracing
8553

86-
- #30961 ci: add LLVM_SYMBOLIZER_PATH to Valgrind fuzz job
54+
- #31623 tracing: Rename the MIN macro to TRACEPOINT_TEST_MIN in log_raw_p2p_msgs
8755

8856
### Misc
8957

90-
- #31267 refactor: Drop deprecated space in `operator""_mst`
91-
- #31431 util: use explicit cast in MultiIntBitSet::Fill()
58+
- #31611 doc: upgrade license to 2025
9259

9360
Credits
9461
=======
9562

96-
- fanquake
63+
- 0xB10C
9764
- Hennadii Stepanov
98-
- laanwj
99-
- MarcoFalke
100-
- Martin Zumsande
101-
- Marnix
102-
- Sebastian Falbesoner
65+
- kehiy
10366

10467
Thanks to everyone who directly contributed to this release:
10568

0 commit comments

Comments
 (0)