290 Commits

Author SHA1 Message Date
Patrick Lodder
2fd8d58ad5
fixate 1.14.7 for release 2024-02-27 11:13:31 -05:00
chromatic
94f5ef4a43
Merge pull request #3214 from patricklodder/1.14.7-fix-avx2-qt-dep
build: constrain -lQt5PlatformSupport check as AVX2 dependency
2023-11-27 17:16:34 -08:00
Patrick Lodder
b09aa70cd8
build: fix bdb detection through brew
Fixes the detection of bdb on brew enabled systems by using
dogecoin_find_bdb53.m4 parametrization and checking if the
brew-located files actually work.

Searches brew installed packages in the order: 5.x, 4.x, default.

The reason for this order is that 4.x is still fully readable by
5.3.27NC that is distributed by default, and therefore prefered
over newer-than 5.x versions.
2023-08-30 19:33:15 -04:00
Patrick Lodder
4fe6972938
build: constrain -lQt5PlatformSupport check as AVX2 dependency
This allows windows binaries to be built with AVX2 but without gui
2023-06-28 17:38:18 -04:00
Patrick Lodder
e1c688dfd2
compat: link librt even if it is not needed on build host
glibc absorbed clock_gettime in 2.17. To retain backward
compatibility with systems that package glibc < 2.17, we need to
include it anyway. Until gcc-7, librt still got included with all
relevant symbols, so there was no issue and we could just use
that instead of gcc-native clock_gettime.

Since gcc-9, we need to explicitly add lrt outside the scope of
"as-needed" packages, because ld finds no reason to add a
DT_NEEDED tag for it, despite our inclusion, as the function
gets pulled from libc.so.6. Therefore, we:

1. disable "as-needed"
2. add librt
3. re-enable "as-needed" again

This way, we both force include librt, but still not link any
other unneeded libraries.

Because this is only valid for backward compatible binaries where
our build system is newer than the oldest supported OS (i.e. when
cross-compiling, running CI or gitian built releases) the -lrt flag
is now part of COMPAT_LDFLAGS instead of global "LIBS" when
configuring with --with-glibc-back-compat.

This explicit link can be removed when we drop support for glibc
versions < 2.17 (i.e. in the next major version)
2023-06-22 09:23:00 -04:00
Dakoda Greaves
4657f98839
compat: wrap fcntl and fcntl64 for 32-bit linux
On 32-bit platforms, glibc wraps fcntl to 64-bit address space
fcntl64, for reading files > 2GB. Since we don't open any files
of that size, we do not need this and can safely wrap to the old
32-bit fcntl.

Co-authored-by: Patrick Lodder <patricklodder@users.noreply.github.com>
2023-05-05 17:54:56 +02:00
Patrick Lodder
99cbe5129a
compat: wrap clock_gettime
wraps librt clock_gettime for backward compatibility with glibc
versions < 2.17.
2023-05-05 17:54:56 +02:00
Dakoda Greaves
87b1dc9300
compat: add interface overrides for libm
wraps pow.3 exp.3 and log.3 to explicitly use backward compatible
glibc symbols. this is needed to stay compatible with old linux
versions with minor releases
2023-05-05 17:54:56 +02:00
Patrick Lodder
167ca801ef
build: clean up security and symbol checks from makefile
Fixes calls to make check-security and make check-symbols
to have better integration with the CI and Gitian

The condition in the check-symbols target requiring the configure
flag --enable-glibc-back-compat is removed because that is
exclusive to Linux. By removing it, we enable the check for all
binaries, including those built for Windows and macOs.

Finally, removes configure.ac lines for readelf and cppfilt. Those
are no longer needed because lief is used in their stead.

squash into:
  build: clean up security and symbol checks from makefile
2023-01-22 03:55:02 +01:00
chromatic
0ddbfd7974 Add release date and duration constants
These constants, when defined at the point of each new release, give us
the ability to detect when a running node may be out of date with
respect to an expected upcoming release.

This is the starting point for adding out-of-date notifications to the
daemon, CLI tool, and Qt binary.
2023-01-07 11:32:29 -08:00
Patrick Lodder
5446a74f08
build: explicitly enable experimental functions
Introduces a configure flag --enable-experimental that controls at
configure time whether or not experimental features can be
enabled. This serves as a circuit breaker to both make sure that
CI jobs are configured properly, and ensures manual compilations
are intentionally configuring experimental / non-production code.

Additionally, experimental features get listed in the summary after
configuration completes if enabled.

Further work can insert compile time checks with static_asserts
against the ALLOW_DOGECOIN_EXPERIMENTAL macro.
2022-10-30 13:20:25 +01:00
Patrick Lodder
c5c0c3ecee
Revert "crypto: added runtime checks for SHA hardware"
This reverts commit e78cfc630dbb712662328eb6c8b401bd3fab8969.

Besides adding runtime checks, this also removes experimental
guards and makes the features leak into release code as we have
no way of disabling them.

Additionally, this breaks on non-gnu systems which currently have
no released binaries, like arm-apple-darwin20 (Apple silicon macs)
2022-10-14 09:26:33 +02:00
Ed Tubbs
e78cfc630d crypto: added runtime checks for SHA hardware 2022-08-07 23:03:10 -05:00
Ed
8cff29b8db
Merge branch '1.14.7-dev' into 1.14.7-dev 2022-07-28 20:16:08 -05:00
Ed Tubbs
7a5358c77b depends: Updated intel-ipsec-mb to 1.2
config: Updated intel-ipsec-mb checks for Win64
ci: Added build with intel-ipsec-mb for Win64
src: Updated intel-ipsec-mb guard for Win64 in SHAs
2022-07-28 20:13:57 -05:00
chromatic
4f00f033f7
Merge pull request #2773 from patricklodder/1.14.6-fix-scrypt-sse2
Fix and enable scrypt sse2 integration
2022-07-26 11:43:04 -07:00
Patrick Lodder
79aa24389f
build: configure scrypt-sse2 through autoconf
- Add --enable/disable-scrypt-sse2 configuration flag
- use bitcoin-config.h instead of CPPFLAGS, like all other
  features
- make the scrypt.h header guard to be similar to everything else
2022-07-21 06:52:47 +02:00
Patrick Lodder
324fe600cf
open 1.14.7-dev for development 2022-07-21 03:38:25 +02:00
Patrick Lodder
43fbdfa9b8
fixate v1.14.6 2022-07-16 23:32:52 +02:00
Ed Tubbs
7f4f3450e1 Added declaration check for vsha512su0q_u64 2022-04-29 05:30:10 +00:00
Michi Lumin
7019ead6a1
Merge pull request #2687 from edtubbs/1.14.6-dev
[feat] Added ARMv8 SHA support
2021-12-11 13:07:22 -07:00
Ed Tubbs
be9df91a4d Updated ARMv8 intrinsics for SHA-512
Updated cross build for ci environment
Updated experimental build to focal
Unified cross and native ARMv8.2 build options
Updated experimental build in ci
2021-12-08 19:24:49 -06:00
sinetek
fd5798d431 doge: we don't support android, so drop autoconf target. 2021-11-29 18:58:59 +01:00
Wladimir J. van der Laan
87946deb94 build: Update build system for new leveldb
Upstream leveldb switched build systems, which means we need to define
a few different values.
2021-11-29 18:35:38 +01:00
Ed Tubbs
54d5954761 Added cross and native variables for experimental build
Updated ci
2021-11-17 22:55:59 +00:00
Ed Tubbs
3a7fef10ca Added ARMv8.2 intrinsics for SHA-512
Added build parameter for ARMv8.2
Added experimental ci build
Updated comments
2021-11-17 22:55:59 +00:00
Patrick Lodder
bd865b061d
build: remove outdated boost checks now that we require 1_60+ 2021-11-11 10:13:19 -05:00
Patrick Lodder
a2587deb83
build: fix minimum boost version for autoconf: 1_60_0 2021-11-10 19:33:44 -05:00
Ed Tubbs
2767f3e8a5 Added --with-armv8-crypto to configure.ac
Added ARMv8 SHA1 and SHA256 intrinsics
2021-11-08 23:08:39 -06:00
Ross Nicoll
3b1376906d
Merge pull request #2680 from patricklodder/1.14.6-cfgac-format
trivial: fix spacing issues in configure.ac
2021-11-08 19:21:43 +00:00
Patrick Lodder
b0edf35ab0
trivial: fix spacing issues in configure.ac 2021-11-08 09:07:27 -05:00
Patrick Lodder
9a237032dd
open 1.14.6 for development 2021-11-08 08:22:02 -05:00
Patrick Lodder
e92aba9190
fixate 1.14.5 2021-11-04 16:54:55 -04:00
Patrick Lodder
8e4ea27962
Merge pull request #2491 from edtubbs/master
[feat] Added AVX2 SHA support
2021-11-01 18:47:05 -04:00
Patrick Lodder
7dae118b0a build: experimental ci build with AVX2 2021-10-03 00:55:55 -05:00
Ed Tubbs
bef1ae5f3c Commit changes to SHA sources
Added nasm and intel-ipsec-mb to depends
Added remote_digest_init.patch
Added argument and checks to configure.ac
Make nasm a native dependency
2021-10-02 23:32:42 -05:00
Chun Kuan Lee
4598ec33fc
GCC-7 and glibc-2.27 compat code
Cherry-picked from: 908c1d7

Note: fixes __divmoddi4 and log2f when compiling with gcc-7
2021-09-29 20:50:09 +02:00
Patrick Lodder
f8a5488be3
Merge pull request #2483 from bjacquin/dev/beber/db53
Update to Berkeley DB 5.3
2021-08-24 22:26:03 +02:00
Bertrand Jacquin
1a6738f920
Update to Berkeley DB 5.3
Old BerkeleyDB version such as 5.1 are being removed from most Linux
distribution.

See: https://bugs.gentoo.org/792222
See: https://fedoraproject.org/wiki/Changes/Libdb_deprecated
2021-08-21 23:55:05 +01:00
Patrick Lodder
6591f8ed67
open 1.14.5 for development 2021-08-20 23:37:24 +02:00
Patrick Lodder
d946a24d6f
fixate v1.14.4 2021-08-20 04:16:14 +02:00
Malta Micael
83121eacf7
fix: macos qt build 2021-07-01 14:43:09 -04:00
Patrick Lodder
fcdf94ca2c
open 1.14.4 for development 2021-03-01 02:24:55 +01:00
Patrick Lodder
05c54fceca
mark 1.14.3 as release 2021-02-27 17:34:05 +01:00
Ross Nicoll
0fce867c51
Bump version to 1.14.3 (#1745)
* Bump version to 1.14.3
* Update copyright year and release status
2021-02-18 07:59:35 +00:00
langerhans
0b46a40ed1 Set next release version to 1.14.2 2019-11-03 19:45:02 +01:00
Ross Nicoll
dbfb33abe0 Revert behaviour change in getauxblock
Change getauxblock to respond with a "target" field instead of "_target".
2019-07-13 19:23:36 +00:00
Ross Nicoll
b84d1fe1d9 Mark 1.14 ready for release 2019-05-19 12:28:37 -07:00
langerhans
4b89d4cc01 Fix version and update copyright year 2019-03-25 05:36:12 +00:00
Ross Nicoll
2cb9f8ce8d Fix copyright substitution
List both Bitcoin & Dogecoin developers in copyright notice.
2019-03-25 05:36:11 +00:00