mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-25 01:24:07 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fcf6c8f4eb | ||
|
|
4253c619cf | ||
|
|
9549b28c04 | ||
|
|
cf42ffdaca | ||
|
|
30ad7ac8fe | ||
|
|
dabac355c8 | ||
|
|
a75b8ec836 |
@@ -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])
|
||||
|
||||
@@ -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
|
||||
|
||||
68
contrib/guix/patches/gcc-broken-longjmp.patch
Normal file
68
contrib/guix/patches/gcc-broken-longjmp.patch
Normal 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. */
|
||||
@@ -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
|
||||
\-?
|
||||
|
||||
@@ -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
|
||||
\-?
|
||||
|
||||
@@ -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
|
||||
\-?
|
||||
|
||||
@@ -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
|
||||
\-?
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
\-?
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user