Commit Graph

409 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
ec35169d92
Merge #11936: [build] Warn that only libconsensus can be built without Boost
3eb4d45 [build] Warn that only libconsensus can be built without boost (Varunram)

Pull request description:

  This replaces the "configure: error: Could not find a version of the boost_system library!" message you receive when trying to build without Boost, with "only libbitcoinconsensus can be built without boost".

  `./configure --with-utils=no --disable-bench --disable-gui-tests --disable-tests --with-daemon=no --without-gui --disable-wallet --with-boost=no` builds libconsensus.

  `./configure --with-boost=no` should always fail with:
  ```
  checking whether to build Bitcoin Core GUI... yes (Qt5)
  configure: error: only libbitcoinconsensus can be built without boost
  ```

  For anyone wondering why the check comes after the AX_BOOST_BASE check, see this [comment](https://github.com/bitcoin/bitcoin/pull/11806#discussion_r155359394). "the AX_BOOST_BASE macro that does the --with-boost handling (along with the actual checks), and sets "want_boost". "

  Fixes #10826, replaces #11806.

  @theuni if you re-ACK we can get this merged.

Tree-SHA512: f0b8f483586465187ca6689e731b24ff77da41a06fb5c9d6390c82990719911dd54ebcccaf6d4fcea2be92986cc7fa88ed979e6cb9d77917920181e5e5188067
2020-01-31 07:43:43 -06:00
UdjinM6
39a524d684
Merge pull request #3289 from PastaPastaPasta/backports-0.16-pr4
Backports 0.16 pr4
2020-01-22 13:33:57 +03:00
UdjinM6
7d39637b02 Bump copyright year to 2020 (#3290)
* Bump _COPYRIGHT_YEAR

* Run copyright update script

./contrib/devtools/copyright_header.py update .

* Update COPYING

* Bump copyright year in dash-cli/qt/tx and dashd map pages
2020-01-17 15:42:55 +01:00
Wladimir J. van der Laan
bbd89c54f1
Merge #11611: [build] Don't fail when passed --disable-lcov and lcov isn't available
223a4aa [build] Don't fail when passed --disable-lcov and lcov isn't available (fanquake)

Pull request description:

  Fixes #10828
  As pointed out in #10828, failing with "lcov not found" when we've been passed --disable-lcov doesn't make sense. Master currently behaves like this (where lcov isn't available):
  ```
  ./configure --disable-lcov
  checking for pkg-config... /usr/local/bin/pkg-config
  checking pkg-config is at least version 0.9.0... yes
  configure: error: "lcov testing requested but lcov not found"
  ```

  cc @janstary

Tree-SHA512: 606fdbddae67e72fff175f2f34e2c9af4e6972d40d5e1ec5c5d8be5051a728e5b16c35cfd856da0c0ce81dcab9db154a4937b1a6ca1e0233b6e160f2f4362002
2020-01-16 09:22:46 -06:00
Wladimir J. van der Laan
806849470b
Merge #11164: Fix boost headers included as user instead of system headers
5ac072caa Fix boost headers included as user instead of system headers (Dan Raviv)

Pull request description:

  In most of the project, boost headers are included as system headers.
  Fix the few inconsistent places where they aren't.

Tree-SHA512: 280af33a7bdc9d68a15b729fa88e1e7627e20a054b8d52a12cc5350c1ac9e9c90fb09f0aa97a00960969f75bcf3403dc52b834c94448b814efa63bfaf3b82663
2020-01-01 22:31:14 -06:00
Alexander Block
dc656e3236
Bump version to 0.16 on develop (#3239)
* Bump version to 0.16

* Run gen-manpages.sh

* Bump versions in gitian descriptors
2019-12-13 18:52:52 +01:00
UdjinM6
37f96f5a3a
Bump version to 0.15 and update few const-s/chainparams (#3204)
* Bump const-s

* Bump version to 0.15

* Run gen-manpages.sh
2019-11-21 23:52:35 +03:00
MarcoFalke
4bfc6ab303 Merge #13788: Fix --disable-asm for newer assembly checks/code
4207c1b35c configure: Initialise assembly enable_* variables (Luke Dashjr)
afe0875577 configure: Skip assembly support checks, when assembly is disabled (Luke Dashjr)
d8ab8dc12d configure: Invert --enable-asm help string since default is now enabled (Luke Dashjr)

Pull request description:

  Fixes #13759

  Also inverts the help (so it shows `--disable-asm` like other enabled-by-default options, and initialises the flag variables.

ACKs for commit 4207c1:
  laanwj:
    makes sense, utACK 4207c1b35c2e2ee1c9217cc7db3290a24c3b4b52
  achow101:
    utACK 4207c1b35c2e2ee1c9217cc7db3290a24c3b4b52
  ken2812221:
    ACK 4207c1b35c2e2ee1c9217cc7db3290a24c3b4b52
  practicalswift:
    tACK 4207c1b35c2e2ee1c9217cc7db3290a24c3b4b52

Tree-SHA512: a30be1008fd8f019db34073f78e90a3c4ad3767d88d7c20ebb83e99c7abc23552f7da3ac8bd20f727405799aff1ecb6044cf869653f8db70478a074d0b877e0a
2019-10-01 23:20:06 +02:00
Wladimir J. van der Laan
1b2252c28c Merge #13386: SHA256 implementations based on Intel SHA Extensions
66b2cf1ccfad545a8ec3f2a854e23f647322bf30 Use immintrin.h everywhere for intrinsics (Pieter Wuille)
4c935e2eee456ff66cdfb908b0edffdd1e8a6c04 Add SHA256 implementation using using Intel SHA intrinsics (Pieter Wuille)
268400d3188200c9e3dcd3482c4853354388a721 [Refactor] CPU feature detection logic for SHA256 (Pieter Wuille)

Pull request description:

  Based on #13191.

  This adds SHA256 implementations that use Intel's SHA Extension instructions (using intrinsics). This needs GCC 4.9 or Clang 3.4.

  In addition to #13191, two extra implementations are provided:
  * (a) A variable-length SHA256 implementation using SHA extensions.
  * (b) A 2-way 64-byte input double-SHA256 implementation using SHA extensions.

  Benchmarks for 9001-element Merkle tree root computation on an AMD Ryzen 1800X system:
  * Using generic C++ code (pre-#10821): 6.1ms
  * Using SSE4 (master, #10821): 4.6ms
  * Using 4-way SSE4 specialized for 64-byte inputs (#13191): 2.8ms
  * Using 8-way AVX2 specialized for 64-byte inputs (#13191): 2.1ms
  * Using 2-way SHA-NI specialized for 64-byte inputs (this PR): 0.56ms

  Benchmarks for 32-byte SHA256 on the same system:
  * Using SSE4 (master, #10821): 190ns
  * Using SHA-NI (this PR): 53ns

  Benchmarks for 1000000-byte SHA256 on the same system:
  * Using SSE4 (master, #10821): 2.5ms
  * Using SHA-NI (this PR): 0.51ms

Tree-SHA512: 2b319e33b22579f815d91f9daf7994a5e1e799c4f73c13e15070dd54ba71f3f6438ccf77ae9cbd1ce76f972d9cbeb5f0edfea3d86f101bbc1055db70e42743b7
2019-10-01 23:20:06 +02:00
Wladimir J. van der Laan
5a23934df1 Merge #13191: Specialized double-SHA256 with 64 byte inputs with SSE4.1 and AVX2
4defdfab94504018f822dc34a313ad26cedc8255 [MOVEONLY] Move unused Merkle branch code to tests (Pieter Wuille)
4437d6e1f3107a20a8c7b66be8b4b972a82e3b28 8-way AVX2 implementation for double SHA256 on 64-byte inputs (Pieter Wuille)
230294bf5fdeba7213471cd0b795fb7aa36e5717 4-way SSE4.1 implementation for double SHA256 on 64-byte inputs (Pieter Wuille)
1f0e7ca09c9d7c5787c218156fa5096a1bdf2ea8 Use SHA256D64 in Merkle root computation (Pieter Wuille)
d0c96328833127284574bfef26f96aa2e4afc91a Specialized double sha256 for 64 byte inputs (Pieter Wuille)
57f34630fb6c3e218bd19535ac607008cb894173 Refactor SHA256 code (Pieter Wuille)
0df017889b4f61860092e1d54e271092cce55f62 Benchmark Merkle root computation (Pieter Wuille)

Pull request description:

  This introduces a framework for specialized double-SHA256 with 64 byte inputs. 4 different implementations are provided:
  * Generic C++ (reusing the normal SHA256 code)
  * Specialized C++ for 64-byte inputs, but no special instructions
  * 4-way using SSE4.1 intrinsics
  * 8-way using AVX2 intrinsics

  On my own system (AVX2 capable), I get these benchmarks for computing the Merkle root of 9001 leaves (supported lengths / special instructions / parallellism):
  * 7.2 ms with varsize/naive/1way (master, non-SSE4 hardware)
  * 5.8 ms with size64/naive/1way (this PR, non-SSE4 capable systems)
  * 4.8 ms with varsize/SSE4/1way (master, SSE4 hardware)
  * 2.9 ms with size64/SSE4/4way (this PR, SSE4 hardware)
  * 1.1 ms with size64/AVX2/8way (this PR, AVX2 hardware)

Tree-SHA512: efa32d48b32820d9ce788ead4eb583949265be8c2e5f538c94bc914e92d131a57f8c1ee26c6f998e81fb0e30675d4e2eddc3360bcf632676249036018cff343e
2019-10-01 23:20:06 +02:00
Wladimir J. van der Laan
ad55048a68 Merge #11176: build: Rename --enable-experimental-asm to --enable-asm and enable by default
538cc0ca8 build: Mention use of asm in summary (Wladimir J. van der Laan)
ce5381e7f build: Rename --enable-experimental-asm to --enable-asm and enable by default (Wladimir J. van der Laan)

Pull request description:

  Now that 0.15 is branched off, enable assembler SHA256 optimizations by default, but still allow disabling them, for example if something goes wrong with auto-detection on a platform.

  Also add mention of the use of asm in the configure summary.

Tree-SHA512: cd20c497f65edd6b1e8b2cc3dfe82be11fcf4777543c830ccdec6c10f25eab4576b0f2953f3957736d7e04deaa4efca777aa84b12bb1cecb40c258e86c120ec8
2019-10-01 23:20:06 +02:00
MarcoFalke
dc303defc0 qa: Fix lcov for out-of-tree builds 2019-09-24 17:47:35 +02:00
Nathan Marley
783653f6a8 Ensure execinfo.h and linker flags set in autoconf (#3098)
* Ensure execinfo.h and linker flags set in autoconf

* Only check for backtrace() if not Windows
2019-09-22 23:46:45 +03:00
Wladimir J. van der Laan
a0fb110e98
Merge #10971: build: fix missing sse42 in depends builds
9baca41 build: always attempt to enable targeted sse42 cxxflags (Cory Fields)

Pull request description:

  For depends builds without this, configure thinks that the user has overridden CXXFLAGS manually, when really they've just been set by the config.site.

  The effect is that warnings and extra cxxflags (sse4.2 for example) were not being added.

Tree-SHA512: 9fd615ad0e926bd9d6b541ffcf7fc555e2147e8761f57ff3b5fb5d196c9cef0f26aa99681ff72db8c83c0f9a7ed91f4253f46bab09f2c835044b68047358fa47
2019-08-12 09:07:03 -05:00
Gregory Sanders
8ed0d522fb
disable jni in builds
Github-Pull: #11056
Rebased-From: 844b73e486
Tree-SHA512: f735853c3d9abbde5032cc55201b0ddc29679e681ba7d3822cbcbeee17c7185ee984b235411224cfb8ff12550de88a0f1367d55ad24bf52c5c03061330849eb2
2019-08-01 14:48:40 -05:00
Wladimir J. van der Laan
52aef4cfec
Merge #10301: Check if sys/random.h is required for getentropy.
ee2d10a Check if sys/random.h is required for getentropy on OSX. (James Hilliard)

Pull request description:

  This should check and include sys/random.h if required for osx as mentioned [here](https://github.com/bitcoin/bitcoin/pull/9821#issuecomment-290936636).

Tree-SHA512: e9491f67f2e8b2e6bcdbcbb8063295e844d5627daf5336e3e17b4a8027d888fa65a08e4580a745abdc35ffd8d86b4fc7434daaac172c4a06ab7566a2ed0bfb92
2019-08-01 14:41:39 -05:00
Wladimir J. van der Laan
c7dcf79f02
Merge #10821: Add SSE4 optimized SHA256
6b8d872 Protect SSE4 code behind a compile-time flag (Pieter Wuille)
fa9be90 Add selftest for SHA256 transform (Pieter Wuille)
c1ccb15 Add SSE4 based SHA256 (Pieter Wuille)
2991c91 Add SHA256 dispatcher (Pieter Wuille)
4d50f38 Support multi-block SHA256 transforms (Pieter Wuille)

Pull request description:

  This adds an SSE4 assembly version of the SHA256 transform by Intel, and uses it at run time if SSE4 instructions are available, and use a fallback C++ implementation otherwise. Nearly every x86_64 CPU supports SSE4. The feature is only enabled when compiled with `--enable-experimental-asm`.

  In order to avoid build dependencies and other complications, the original Intel YASM code was translated to GCC extended asm syntax.

  This gives around a 50% speedup on the SHA256 benchmark for me.

  It is based on an earlier patch by @laanwj, though only includes a single assembly version (for now), and removes the YASM dependency.

Tree-SHA512: d31c50695ceb45264291537b93c0d7497670be38edf021ca5402eaa7d4e1e0e1ae492326e28d4e93979d066168129e62d1825e0384b1b906d36f85d93dfcb43c
2019-07-24 11:59:09 -05:00
PastaPastaPasta
a4f046cd0f
adjust formatting from review configure.ac
Co-Authored-By: UdjinM6 <UdjinM6@users.noreply.github.com>
2019-07-17 19:31:57 -05:00
Pieter Wuille
d7057d429e
Merge #10766: Building Environment: Set ARFLAGS to cr
912da1dcc Use AC_ARG_VAR to set ARFLAGS. (René Nyffenegger)

Pull request description:

  Override the default of ARFLAGS of `cru` to `cr`.

  When building, ar produces a warning for each archive, for example
  ```
    AR       libbitcoin_server.a
  /usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')

  ```
  Since `u` is the default anyway, it cannot hurt to remove it.

Tree-SHA512: 7466764f847b70f0f67db25dac87a7794477abf1997cb946682f394fe80ae86ac3ed52cbadb35f0c18a87467755bde5a5158430444cd26fb60fa363cc7bd486d
2019-07-17 19:01:41 -05:00
Wladimir J. van der Laan
a0ff957d18
Merge #10806: build: verify that the assembler can handle crc32 functions
d34d77a build: verify that the assembler can handle crc32 functions (Cory Fields)

Pull request description:

  Also, enable crc32 even if -msse4.2 wasn't added by us, as long as it works. This allows custom flags (such as -march=native) to work as expected.

  Addresses #10670.

Tree-SHA512: e1a41a87b078d270bc645814315b229ad9c16556a4d14fb66b27a65b28d0caf9bf324f8c1e221854992aa17f53466eece06faebbf74d59b3d4ff2e6db6c614a4
2019-07-17 19:01:41 -05:00
Wladimir J. van der Laan
3f4d08d36a
Merge #10565: [coverage] Remove subtrees and benchmarks from coverage report
d5711f4 Filter subtrees and and benchmarks from coverage report (Andrew Chow)
405b86a Replace lcov -r commands with faster way (Andrew Chow)
c8914b9 Have `make cov` optionally include branch coverage statistics (Andrew Chow)

Tree-SHA512: 9c349a7baeb7430ea586617c52f91177df58e3546d6dc573e26815ddb79e30ab1873542d85ac1daca5e1fb2c6d6c8965824b42d027b6b0496a744af57b095852
2019-07-11 10:34:46 -05:00
Wladimir J. van der Laan
946388169d Merge #10544: Update to LevelDB 1.20
3ee3d04 Add extra LevelDB source to Makefile (MarcoFalke)
2424989 leveldb: enable runtime-detected crc32 instructions (Cory Fields)
cf44e4c Squashed 'src/leveldb/' changes from a31c8aa40..196962ff0 (Pieter Wuille)

Tree-SHA512: 19ade77e3f6265507b3ab7b9aa5150d378aa0751e24ac7a61567b0f720a566cedc6c3d3336da17a3bd2b5d068ee86600d96a15228f78bd20ccf98c8fc9041a91
2019-07-09 13:08:20 -05:00
MarcoFalke
648848b797
Merge #10331: Share config between util and functional tests
8ad5bde Merge bctest.py into bitcoin-util-test.py (John Newbery)
95836c5 Use shared config file for functional and util tests (John Newbery)
89fcd35 Use an .ini config file for environment vars in bitcoin-util-test.py (John Newbery)
e9265df Change help_text in bitcoin-util-test.py to a docstring. (John Newbery)
ce58e93 Change bitcoin-util-test.py to use Python3 (John Newbery)

Tree-SHA512: 66dab0b4a8546aee0dfaef134a165f1447aff4c0ec335754bbc7d9e55909721c62f09cdbf4b22d02ac1fcd5a9b66780f91e1cc4d8687fae7288cc9072a23a78f
2019-07-08 10:24:26 -05:00
Alexander Block
780bffeb78 Enable stacktrace support in gitian builds (#3006)
* Remove use of -rdynamic

This causes check-symbols to fail horribly and also turned out to be not
required when using libbacktrace. It was only required when using
"backtrace()" from "<execinfo.h>"

* Remove spurious ], from configure.ac

* Add -DENABLE_STACKTRACES=1 to CMakeLists.txt

* Remove unused method my_backtrace_simple_callback

* Use fs::path().filename() instead of basename()

* Add static g_exeFileName and g_exeFileBaseName

* Use .exe.dbg file when available

* Use uint64_t instead of uintptr_t

* Implement GetBaseAddress() for unix and win32

* Implement unified crash_info and use it everywhere before printing crash info

* Print a serialized version of crash_info when there is no debug info

* Implement "-printcrashinfo" command line option

* Compile stacktrace support unconditionally and only make crash hooks conditional

This also renames the --enable-stacktraces option to --enable-crash-hooks

* Enable crash hooks in win/linux Gitian builds

* Try to load .debug file on MacOS and enable crash hooks for osx Gitian builds

* Check for dsymutil and if it needs --flat

* Create .debug files in osx Gitian build

* Handle review comments

* Also print crash description when no stacktrace is available

* Unconditionally add -g1 debug information

Instead of making it dependent on "--enable-crash-hooks". We will need the
debug info every time now, even in release builds.

* Put MacOS debug info into dSYM symbols instead of plain .debug files

* Implement MacOS specific GetBaseAddress
2019-07-02 07:16:11 +03:00
Wladimir J. van der Laan
fbae76b21e
Merge #10011: build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT
5073100 build: Fix typo s/HAVE_DONTWAIT/HAVE_MSG_DONTWAIT (Wladimir J. van der Laan)

Tree-SHA512: 2305fd68afe940611da10bdebd4994a12612f610365e980313d7e75e13935252366efcaae6cb52da5f8d7e022a164399a3185b385151276ea3843fdcc231fdb1
2019-06-24 11:39:34 -05:00
Wladimir J. van der Laan
198558a362
Merge #9792: FastRandomContext improvements and switch to ChaCha20
4fd2d2f Add a FastRandomContext::randrange and use it (Pieter Wuille)
1632922 Switch FastRandomContext to ChaCha20 (Pieter Wuille)
e04326f Add ChaCha20 (Pieter Wuille)
663fbae FastRandom benchmark (Pieter Wuille)
c21cbe6 Introduce FastRandomContext::randbool() (Pieter Wuille)

Tree-SHA512: 7fff61e3f6d6dc6ac846ca643d877b377db609646dd401a0e8f50b052c6b9bcd2f5fc34de6bbf28f04afd1724f6279ee163ead5f37d724fb782a00239f35db1d
2019-06-14 01:25:59 -05:00
Wladimir J. van der Laan
1dde64aaa0
Merge #10155: build: Deduplicate version numbers
9ff7818 doc: Update release process for simplified version bumping (Wladimir J. van der Laan)
08d9aee build: Remove duplicate version information from src/clientversion.h (Wladimir J. van der Laan)
168a703 doc: Make build system insert version in Doxyfile (Wladimir J. van der Laan)
b67eb8d doc: Remove version numbers from READMEs (Wladimir J. van der Laan)

Tree-SHA512: 531e44282b1c1383a382847a5605177917dfbf78acfaa754d1cbadd2e165c7e34ddbd01790f87615083fac359571708c2551ad24b712aab1f84a2068360c3a17
2019-06-14 01:25:59 -05:00
Wladimir J. van der Laan
7cf74ddbc4
Merge #10239: Make Boost use std::atomic internally
394ccf7 Make Boost use std::atomic internally (Pieter Wuille)

Tree-SHA512: 2be198caea1b255d29ab841ca9f6ee4f32ec875cb9657553ed6ea6d21a4cd1390f1e3b22b23a3a4a24d9efc0bda100c7fbfd4dc480e0cc9831b565e989a2b636
2019-06-08 09:36:56 -05:00
Wladimir J. van der Laan
07ed44df6b
Merge #10136: build: Disable Wshadow warning
2c83911 build: Disable Wshadow warning (Wladimir J. van der Laan)

Tree-SHA512: e3c1f7253c43449740760da287985b8027344dfc48c8a85ea9bca977c73cbaf75709d6e32ac0fea51eb89dccb48706a5abdf006be45375838df10ccba35e9aa1
2019-05-19 20:42:58 -05:00
PastaPastaPasta
6edbc9cebd Merge bitcoin#9956: Reorganise qa directory (#2912)
* Merge #9956: Reorganise qa directory

63d66ba Move src/test/bitcoin-util-test.py to test/util/bitcoin-util-test.py (John Newbery)
5b0bff4 Rename --enable-extended-rpc-tests to --enable-extended-functional-tests (John Newbery)
a9bd622 Rename test/pull-tester/rpc-tests.py to test/functional/test_runner.py (John Newbery)
c28ee91 Rename rpc-tests directory to functional (John Newbery)
00902c4 Rename qa directory to test (John Newbery)

Tree-SHA512: ee7125c0c647d81590177beef2c8852c4ef76fdcf888096d9d4d360562a01d8d3b453345c3040487b2a043935bd1e7e80018f34462d6e02262bedbe23edcc576

resolve build errors

Signed-off-by: Pasta <Pasta@dash.org>

update test_runner.py in testintegrations.sh

Signed-off-by: Pasta <Pasta@dash.org>

* moved dash specific tests

Signed-off-by: Pasta <Pasta@dash.org>

* dashify README.md

Signed-off-by: Pasta <Pasta@dash.org>

* removed autoix*.py

Signed-off-by: Pasta <Pasta@dash.org>

* change back file perms

* dedashify

Signed-off-by: Pasta <Pasta@dash.org>
2019-05-19 23:20:34 +03:00
UdjinM6
89d8f7a37d
Merge pull request #2763 from PastaPastaPasta/backports-0.15-pr8
Backports 0.15 pr8
2019-05-17 12:22:18 +03:00
UdjinM6
acbf0a2211
Bump version to 0.14.1 (#2928) 2019-05-17 12:21:03 +03:00
Wladimir J. van der Laan
1914c2d788
Merge #10038: Add mallocinfo mode to getmemoryinfo RPC
e141aa4 Add mallocinfo mode to `getmemoryinfo` RPC (Wladimir J. van der Laan)

Tree-SHA512: e778631765c29b3b5fb94eb66e5f50a8f108a234891bdcc4883f1e6e2fdd223f7660fad987eb2d7cbda5b800482d78adc1a309a3f6f83a84c556af43ebee2ed7
2019-05-06 14:51:46 -05:00
Wladimir J. van der Laan
594b78fdf5
Merge #9921: build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL
a4d1c9f compat: use `unsigned int` instead of `u_int` (Wladimir J. van der Laan)
25da1ee build: cleanup: define MSG_DONTWAIT/MSG_NO_SIGNAL locally (Wladimir J. van der Laan)
c459d50 build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNAL (Wladimir J. van der Laan)

Tree-SHA512: 60d79d69439bb181465e4244aa5ddc28bbd84f69c0ca0c753956b3798c9022394e29d791bc085fe7ffb1268c64c789a57e24797daad63525bb776088188ff9ae

fix merge error in configure.ac

Signed-off-by: Pasta <Pasta@dash.org>
2019-05-06 14:51:42 -05:00
UdjinM6
4a79f7a700
Few trivial cleanups (#2803)
* fix typo

* align `=`s

* fix warniing
2019-03-25 09:15:46 +03:00
UdjinM6
9df6acdc2b
Disable in-wallet miner for win/macos Travis/Gitian builds (#2778)
* Add new configure option to disable in-wallet miner

* Use new option to disable in-wallet miner for win/macos Travis/Gitian builds
2019-03-19 10:43:37 +03:00
Alexander Block
48d92f116e Implement optional pretty printed stacktraces (#2420)
* Add libbacktrace to depends

This is currently only useful to extract symbols. It fails to gather
stacktraces when compiled with MinGW, so we can only use it to get symbol
information from a stack trace which we gathered outside of libbacktrace.

* Add -mbig-obj to CXXFLAGS for MinGW builds

* Implement stacktraces for C++ exceptions

This is a hack and should only be used for debugging. It works by wrapping
the C++ ABI __wrap___cxa_allocate_exception. The wrapper records a backtrace
and stores it in a global map. Later the stacktrace can be retrieved with
GetExceptionStacktraceStr.

This commit also adds handlers to pretty print uncaught exceptions and
signals.

* Use GetPrettyExceptionStr for all unhandled exceptions

* Use --enable-stacktraces in CI for linux32/linux64

* Register exception translators to pretty print exceptions in unit tests

* Catch and print python exceptions when stopping nodes

Otherwise the code at the bottom is never executed when nodes crash,
leading to no output of debug.log files on Travis.

* Remove now unneeded/unused TestCrash methods
2019-02-21 21:37:15 +03:00
Wladimir J. van der Laan
3d3443b6a9
Merge #8808: Do not shadow variables (gcc set)
ad1ae7a Check and enable -Wshadow by default. (Pavel Janík)
9de90bb Do not shadow variables (gcc set) (Pavel Janík)

Tree-SHA512: 9517feb423dc8ddd63896016b25324673bfbe0bffa97f22996f59d7a3fcbdc2ebf2e43ac02bc067546f54e293e9b2f2514be145f867321e9031f895c063d9fb8
2019-02-01 00:41:12 -06:00
PastaPastaPasta
f123248f1c update copyright (#2648)
* update copyright

* Update copyright in configure.ac and COPYING
2019-01-29 15:53:14 +01:00
Wladimir J. van der Laan
21e00e9050
Merge #9821: util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD
7e6dcd9 random: Add fallback if getrandom syscall not available (Wladimir J. van der Laan)
7cad849 sanity: Move OS random to sanity check function (Wladimir J. van der Laan)
aa09ccb squashme: comment that NUM_OS_RANDOM_BYTES should not be changed lightly (Wladimir J. van der Laan)
224e6eb util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (Wladimir J. van der Laan)

Tree-SHA512: 9fd408b1316c69de86674f342339b2f89192fd317c8c036b5df4320f828fa263c7966146bfc1904c51137ee4a26e4cb0f560b2cd05e18cde4d808b9b92ad15c4
2019-01-22 22:57:09 -06:00
PastaPastaPasta
a49f4123e5 Backports 0.15 pr1 (#2590)
* Merge #9744: Remove unused module from rpc-tests

a432aa0 Remove unused module from rpc-tests (Takashi Mitsuta)

* Merge #9696: [trivial] Fix recently introduced typos in comments

0c9b9b7 [trivial] Fix recently introduced typos in comments (practicalswift)

* Merge #9657: Improve rpc-tests.py

a6a3e58 Various review markups for rpc-tests.py improvements (John Newbery)
3de3ccd Refactor rpc-tests.py (John Newbery)
afd38e7 Improve rpc-tests.py arguments (John Newbery)
91bffff Use argparse in rpc_tests.py (John Newbery)
1581ecb Use configparser in rpc-tests.py (John Newbery)

* Merge #9724: Qt/Intro: Add explanation of IBD process

f6d18f5 Qt/Intro: Explain a bit more what will happen first time (Luke Dashjr)
50c5657 Qt/Intro: Storage shouldn't grow significantly with pruning enabled (Luke Dashjr)
9adb694 Qt/Intro: Move sizeWarningLabel text into C++ code (Luke Dashjr)

* Merge #9794: Minor update to qrencode package builder

1bfe6b4 Use package name variable inside $(package)_file_name variable (Mitchell Cash)

* Merge #9726: netbase: Do not print an error on connection timeouts through proxy

3ddfe29 netbase: Do not print an error on connection timeouts through proxy (Wladimir J. van der Laan)
13f6085 netbase: Make InterruptibleRecv return an error code instead of bool (Wladimir J. van der Laan)

* Merge #9727: Remove fallbacks for boost_filesystem < v3

056aba2 Remove fallbacks for boost_filesystem < v3 (Wladimir J. van der Laan)

* Merge #9485: ZMQ example using python3 and asyncio

b471daf Adddress nits, use asyncio signal handling, create_task (Bob McElrath)
4bb7d1b Add python version checks and 3.4 example (Bob McElrath)
5406d51 Rewrite to not use Polling wrapper for asyncio, link to python2.7 example (Bob McElrath)
5ea5368 ZMQ example using python3 and asyncio (Bob McElrath)

* Merge #9807: RPC doc fix-ups.

851f6a3 [qa][doc] Correct rpc test options in readme (fanquake)
41e7219 [trivial] Add tests_config.ini to .gitignore (fanquake)

* Dashify

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* Change file permissions

* update travis.yml -parallel -> --jobs
2019-01-03 12:18:47 +03:00
UdjinM6
361900e461
Bump version to 0.14 (#2589) 2018-12-28 19:12:52 +03:00
Alexander Block
9eb9c99d59 Bump version to 0.13.0 (#2386) 2018-10-26 19:43:08 +03:00
Alexander Block
c4c6107839 Use C++14 standard when building (#2209)
We have upgraded CI to use a recent compiler already and thus can also
increase the C++ standard now. After this, we'll also have to update
Gitian build to work with C++14 as well, but this is going to happen in
separate commits/PRs.
2018-08-11 01:29:28 +03:00
UdjinM6
a527845e4f
Bump to 0.12.4.0 pre-release (#2167) 2018-07-12 12:01:10 +03:00
UdjinM6
f833e2ed6c
Bump to 0.12.3.2 (#2173) 2018-07-08 00:17:36 +03:00
UdjinM6
cf0ef9e63c
Bump to 0.12.3.1 (#2158)
* update release notes

* Bump to 0.12.3.1

* update Doxyfile
2018-06-30 23:39:49 +03:00
UdjinM6
9af9d57b41
Release 0.12.3 (#2145)
CLIENT_VERSION_IS_RELEASE false->true
2018-06-24 21:21:56 +03:00
Alexander Block
cc593615e1 Bump copyright year to 2018 (#2087) 2018-05-30 15:28:44 +03:00
Wladimir J. van der Laan
42d3060568 Merge #10120: util: Work around (virtual) memory exhaustion on 32-bit w/ glibc
625488a util: Work around (virtual) memory exhaustion on 32-bit w/ glibc (Wladimir J. van der Laan)

Tree-SHA512: 99b610a8cf9561998af90e16fc19320fddd30c987e8f33325d63df0f56d70235b94d9482e80f28154d4b33a3ecf4961686380c444ec18d1da5e8804a8b6f4de1
2018-01-26 12:59:29 +01:00