Compare commits

...

7 Commits

Author SHA1 Message Date
laanwj
fcf6c8f4eb doc: Update manual pages for 23.0
Tree-SHA512: 0e683e928e3c8e2e5534b8a28eb288445caeadf698e27d1c307cad8a8edb02c151ec245de4ed64fc6b7f137dfcb808fec410bd9f968f6d3f80ee3067563ca97a
2022-04-21 21:28:32 +02:00
laanwj
4253c619cf build: Bump to final
Tree-SHA512: 389a841cb36dd8b9c99279d63473a10c83c09700b0077bd16f73d1141d5d79c1bdbba462f6fcb4c1917c28260bbf1359bf93bbe695b150adde23c4533d6c85cd
2022-04-21 21:23:55 +02:00
laanwj
9549b28c04 doc: Update manual pages for 23.0rc5
Tree-SHA512: cc721bc9a0a916a33979b17d98bfea1c569bd827072d651d8882ee674a0f14f0981bf22e3cd9eff384e580d6afd90c7310a1928d99f204833fce4d06a3287a67
2022-04-14 18:05:18 +02:00
laanwj
cf42ffdaca qt: 23.0rc5 translations update
Tree-SHA512: 86a246bf5a817084f077ace118edad16dc48d06ec8d39476d82d6d6c5010bde9ec91eec00d7bd9736fc3ecfd1b67629f06e38798d484e6a0f09768553a52a231
2022-04-14 18:05:02 +02:00
laanwj
30ad7ac8fe build: Bump rc to 23.0rc5
Tree-SHA512: 394d58796c13d8ce2cef2fc0f2dc364cd2736cefe019e4cf6bef82b773c2c8a8ecb77ead67014eab9046c40d416096a56ebfaaacac2d4485c40f1ec9c4659638
2022-04-14 17:26:41 +02:00
laanwj
dabac355c8 Merge bitcoin/bitcoin#24843: [23.x] rc5 backports
a75b8ec836 guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues (fanquake)

Pull request description:

  Currently backports:
  * https://github.com/bitcoin/bitcoin/pull/24842

ACKs for top commit:
  gruve-p:
    ACK a75b8ec836
  hebasto:
    ACK a75b8ec836
  jonatack:
    Code review and commit meta-data ACK a75b8ec836
  jarolrod:
    ACK a75b8ec836

Tree-SHA512: 1071b675647ed990ffda9c84391538b6c2e741b423a64e534754322250ca7f95cbc948e005cb976bf070099038f86997bfa1946c543a109e2086d2aaeaacb189
2022-04-14 17:25:53 +02:00
fanquake
a75b8ec836 guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues
This commit backports a patch to the GCC 10.3.0 we build for Windows
cross-compilation in Guix. The commit has been backported to the GCC
releases/gcc-10 branch, but hasn't yet made it into a release.

The patch corrects a regression from an earlier GCC commit, see:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=357c4350680bf29f0c7a115424e3da11c53b5582
and
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=074226d5aa86cd3de517014acfe34c7f69a2ccc7,
related to the way newer versions of mingw-w64 implement setjmp/longjmp.

Ultimately this was causing a crash for us when Windows users were
viewing the network traffic tab inside the GUI. After some period, long
enough that a buffer would need reallocating, a call into FreeTypes
gray_record_cell() would result in a call to ft_longjmp (longjmp), which
would then trigger a crash.

Fixes: https://github.com/bitcoin-core/gui/issues/582.

See also:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e8d1ca7d2c344a411779892616c423e157f4aea8.
https://bugreports.qt.io/browse/QTBUG-93476.

Github-Pull: #24842
Rebased-From: 457148a803
2022-04-13 13:49:04 +01:00
12 changed files with 799 additions and 225 deletions

View File

@@ -2,7 +2,7 @@ AC_PREREQ([2.69])
define(_CLIENT_VERSION_MAJOR, 23)
define(_CLIENT_VERSION_MINOR, 0)
define(_CLIENT_VERSION_BUILD, 0)
define(_CLIENT_VERSION_RC, 4)
define(_CLIENT_VERSION_RC, 0)
define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2022)
define(_COPYRIGHT_HOLDERS,[The %s developers])

View File

@@ -166,9 +166,10 @@ desirable for building Bitcoin Core release binaries."
(define (make-gcc-without-newlib gcc)
(package-with-extra-configure-variable gcc "--with-newlib" "no"))
(define (make-mingw-w64-cross-gcc-vmov-alignment cross-gcc)
(define (make-mingw-w64-cross-gcc cross-gcc)
(package-with-extra-patches cross-gcc
(search-our-patches "vmov-alignment.patch")))
(search-our-patches "vmov-alignment.patch"
"gcc-broken-longjmp.patch")))
(define (make-mingw-pthreads-cross-toolchain target)
"Create a cross-compilation toolchain package for TARGET"
@@ -176,7 +177,7 @@ desirable for building Bitcoin Core release binaries."
(pthreads-xlibc mingw-w64-x86_64-winpthreads)
(pthreads-xgcc (make-gcc-with-pthreads
(cross-gcc target
#:xgcc (make-gcc-without-newlib (make-ssp-fixed-gcc (make-mingw-w64-cross-gcc-vmov-alignment base-gcc)))
#:xgcc (make-gcc-without-newlib (make-ssp-fixed-gcc (make-mingw-w64-cross-gcc base-gcc)))
#:xbinutils xbinutils
#:libc pthreads-xlibc))))
;; Define a meta-package that propagates the resulting XBINUTILS, XLIBC, and

View File

@@ -0,0 +1,68 @@
commit eb5698897c52702498938592d7f76e67d126451f
Author: Eric Botcazou <ebotcazou@adacore.com>
Date: Wed May 5 22:48:51 2021 +0200
Fix PR target/100402
This is a regression for 64-bit Windows present from mainline down to the 9
branch and introduced by the fix for PR target/99234. Again SEH, but with
a twist related to the way MinGW implements setjmp/longjmp, which turns out
to be piggybacked on SEH with recent versions of MinGW, i.e. the longjmp
performs a bona-fide unwinding of the stack, because it calls RtlUnwindEx
with the second argument initially passed to setjmp, which is the result of
__builtin_frame_address (0) in the MinGW header file:
define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0))
This means that we directly expose the frame pointer to the SEH machinery
here (unlike with regular exception handling where we use an intermediate
CFA) and thus that we cannot do whatever we want with it. The old code
would leave it unaligned, i.e. not multiple of 16, whereas the new code
aligns it, but this breaks for some reason; at least it appears that a
.seh_setframe directive with 0 as second argument always works, so the
fix aligns it this way.
gcc/
PR target/100402
* config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
always return the establisher frame for __builtin_frame_address (0).
gcc/testsuite/
* gcc.c-torture/execute/20210505-1.c: New test.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 2f838840e96..06ad1b2274e 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -6356,12 +6356,29 @@ ix86_compute_frame_layout (void)
area, see the SEH code in config/i386/winnt.c for the rationale. */
frame->hard_frame_pointer_offset = frame->sse_reg_save_offset;
- /* If we can leave the frame pointer where it is, do so. Also, return
+ /* If we can leave the frame pointer where it is, do so; however return
the establisher frame for __builtin_frame_address (0) or else if the
- frame overflows the SEH maximum frame size. */
+ frame overflows the SEH maximum frame size.
+
+ Note that the value returned by __builtin_frame_address (0) is quite
+ constrained, because setjmp is piggybacked on the SEH machinery with
+ recent versions of MinGW:
+
+ # elif defined(__SEH__)
+ # if defined(__aarch64__) || defined(_ARM64_)
+ # define setjmp(BUF) _setjmp((BUF), __builtin_sponentry())
+ # elif (__MINGW_GCC_VERSION < 40702)
+ # define setjmp(BUF) _setjmp((BUF), mingw_getsp())
+ # else
+ # define setjmp(BUF) _setjmp((BUF), __builtin_frame_address (0))
+ # endif
+
+ and the second argument passed to _setjmp, if not null, is forwarded
+ to the TargetFrame parameter of RtlUnwindEx by longjmp (after it has
+ built an ExceptionRecord on the fly describing the setjmp buffer). */
const HOST_WIDE_INT diff
= frame->stack_pointer_offset - frame->hard_frame_pointer_offset;
- if (diff <= 255)
+ if (diff <= 255 && !crtl->accesses_prior_frames)
{
/* The resulting diff will be a multiple of 16 lower than 255,
i.e. at most 240 as required by the unwind data structure. */

View File

@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
.TH BITCOIN-CLI "1" "April 2022" "bitcoin-cli v23.0.0rc4" "User Commands"
.TH BITCOIN-CLI "1" "April 2022" "bitcoin-cli v23.0.0" "User Commands"
.SH NAME
bitcoin-cli \- manual page for bitcoin-cli v23.0.0rc4
bitcoin-cli \- manual page for bitcoin-cli v23.0.0
.SH SYNOPSIS
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
@@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v23.0.0rc4
.B bitcoin-cli
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
.SH DESCRIPTION
Bitcoin Core RPC client version v23.0.0rc4
Bitcoin Core RPC client version v23.0.0
.SH OPTIONS
.HP
\-?

View File

@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
.TH BITCOIN-QT "1" "April 2022" "bitcoin-qt v23.0.0rc4" "User Commands"
.TH BITCOIN-QT "1" "April 2022" "bitcoin-qt v23.0.0" "User Commands"
.SH NAME
bitcoin-qt \- manual page for bitcoin-qt v23.0.0rc4
bitcoin-qt \- manual page for bitcoin-qt v23.0.0
.SH SYNOPSIS
.B bitcoin-qt
[\fI\,command-line options\/\fR]
.SH DESCRIPTION
Bitcoin Core version v23.0.0rc4
Bitcoin Core version v23.0.0
.SH OPTIONS
.HP
\-?

View File

@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
.TH BITCOIN-TX "1" "April 2022" "bitcoin-tx v23.0.0rc4" "User Commands"
.TH BITCOIN-TX "1" "April 2022" "bitcoin-tx v23.0.0" "User Commands"
.SH NAME
bitcoin-tx \- manual page for bitcoin-tx v23.0.0rc4
bitcoin-tx \- manual page for bitcoin-tx v23.0.0
.SH SYNOPSIS
.B bitcoin-tx
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
@@ -9,7 +9,7 @@ bitcoin-tx \- manual page for bitcoin-tx v23.0.0rc4
.B bitcoin-tx
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
.SH DESCRIPTION
Bitcoin Core bitcoin\-tx utility version v23.0.0rc4
Bitcoin Core bitcoin\-tx utility version v23.0.0
.SH OPTIONS
.HP
\-?

View File

@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
.TH BITCOIN-UTIL "1" "April 2022" "bitcoin-util v23.0.0rc4" "User Commands"
.TH BITCOIN-UTIL "1" "April 2022" "bitcoin-util v23.0.0" "User Commands"
.SH NAME
bitcoin-util \- manual page for bitcoin-util v23.0.0rc4
bitcoin-util \- manual page for bitcoin-util v23.0.0
.SH SYNOPSIS
.B bitcoin-util
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
.SH DESCRIPTION
Bitcoin Core bitcoin\-util utility version v23.0.0rc4
Bitcoin Core bitcoin\-util utility version v23.0.0
.SH OPTIONS
.HP
\-?

View File

@@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
.TH BITCOIN-WALLET "1" "April 2022" "bitcoin-wallet v23.0.0rc4" "User Commands"
.TH BITCOIN-WALLET "1" "April 2022" "bitcoin-wallet v23.0.0" "User Commands"
.SH NAME
bitcoin-wallet \- manual page for bitcoin-wallet v23.0.0rc4
bitcoin-wallet \- manual page for bitcoin-wallet v23.0.0
.SH DESCRIPTION
Bitcoin Core bitcoin\-wallet version v23.0.0rc4
Bitcoin Core bitcoin\-wallet version v23.0.0
.PP
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.

View File

@@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
.TH BITCOIND "1" "April 2022" "bitcoind v23.0.0rc4" "User Commands"
.TH BITCOIND "1" "April 2022" "bitcoind v23.0.0" "User Commands"
.SH NAME
bitcoind \- manual page for bitcoind v23.0.0rc4
bitcoind \- manual page for bitcoind v23.0.0
.SH SYNOPSIS
.B bitcoind
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
.SH DESCRIPTION
Bitcoin Core version v23.0.0rc4
Bitcoin Core version v23.0.0
.SH OPTIONS
.HP
\-?

View File

@@ -472,6 +472,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
<translation type="unfinished">Κλάδεμα: ο τελευταίος συγχρονισμός πορτοφολιού ξεπερνά τα κλαδεμένα δεδομένα. Πρέπει να κάνετε -reindex (κατεβάστε ολόκληρο το blockchain και πάλι σε περίπτωση κλαδέματος κόμβου)</translation>
</message>
<message>
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
<translation type="unfinished">SQLiteDatabase: Άγνωστη sqlite έκδοση %d του schema πορτοφολιού . Υποστηρίζεται μόνο η έκδοση %d.</translation>
</message>
<message>
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
<translation type="unfinished">Η βάση δεδομένων μπλοκ περιέχει ένα μπλοκ που φαίνεται να είναι από το μέλλον. Αυτό μπορεί να οφείλεται στην εσφαλμένη ρύθμιση της ημερομηνίας και της ώρας του υπολογιστή σας. Αποκαταστήστε μόνο τη βάση δεδομένων μπλοκ αν είστε βέβαιοι ότι η ημερομηνία και η ώρα του υπολογιστή σας είναι σωστές</translation>

File diff suppressed because it is too large Load Diff

View File

@@ -632,6 +632,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>The -txindex upgrade started by a previous version cannot be completed. Restart with the previous version or run a full -reindex.</source>
<translation type="unfinished"> -txindex -reindex </translation>
</message>
<message>
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any Bitcoin Core peers connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
<translation type="unfinished">%s请求监听端口%u doc/p2p-bad-ports.md</translation>
</message>
<message>
<source>Cannot provide specific connections and have addrman find outgoing connections at the same time.</source>
<translation type="unfinished">使(addrman)</translation>
@@ -640,6 +644,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
<translation type="unfinished">%s时出错: 编译时未启用外部签名器支持</translation>
</message>
<message>
<source>Failed to rename invalid peers.dat file. Please move or delete it and try again.</source>
<translation type="unfinished"> peers.dat </translation>
</message>
<message>
<source>Outbound connections restricted to Tor (-onlynet=onion) but the proxy for reaching the Tor network is not provided (no -proxy= and no -onion= given) or it is explicitly forbidden (-onion=0)</source>
<translation type="unfinished"> Tor (-onlynet=onion) Tor no -proxy= and no -onion= given (-onion=0)</translation>
</message>
<message>
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
<translation type="unfinished"> %s %s [%s] </translation>