Commit Graph

987 Commits

Author SHA1 Message Date
Luke Dashjr
990ff83c56 Merge ionice_win 2025-03-05 03:27:08 +00:00
Luke Dashjr
8c989494c2 Bugfix: ioprio: Correct type juggling and handle edge cases 2025-03-05 17:28:03 +00:00
Luke Dashjr
0fd00fcb11 ioprio: Standardise HAVE_WINDOWS_IOPRIO macro as defined with either 0 or 1 2025-03-05 17:23:03 +00:00
Luke Dashjr
ac2190c22a utilioprio: Add Windows support as ioprio_set_file_idle 2025-03-05 17:23:03 +00:00
Luke Dashjr
45fa891549 Merge branch 'ionice' into ionice_win 2025-03-05 17:21:08 +00:00
Luke Dashjr
20f5b5a056 Merge 9245 via ionice 2025-03-05 03:27:08 +00:00
Luke Dashjr
dee920da09 Merge 31672 via peer_cpu_load-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
a060ae018e Merge 22159 via conf_append_cxxflags-23 2025-03-05 03:27:08 +00:00
Luke Dashjr
2fc6668792 Merge 19873 via mempressure 2025-03-05 03:27:08 +00:00
Luke Dashjr
84b7c6adf4 Merge rm_kernel_lib 2025-03-05 03:27:08 +00:00
Luke Dashjr
86c5ef3785 Merge 28564 via fix_conf_fuzzbin_main 2025-03-05 03:27:08 +00:00
Luke Dashjr
301886f3d0 Merge 29868 via hww_windows-28 2025-03-05 03:27:08 +00:00
Luke Dashjr
da1e5f9ffa Merge 18427 via 2020mingwthrd-mini 2025-03-05 03:27:08 +00:00
Luke Dashjr
45a2e5951c Merge nowarn_unused-function 2025-03-05 03:27:08 +00:00
Luke Dashjr
ad6a12d7bb Merge nowarn_unreachable-code 2025-03-05 03:27:08 +00:00
Luke Dashjr
22df203e4c Merge 13789 via bugfix_asm_pragmas 2025-03-05 03:27:08 +00:00
Luke Dashjr
3d44110252 Merge 5416 via sys_libsecp256k1 2025-03-05 03:27:08 +00:00
Luke Dashjr
91af8d0c4e Merge 2241 via sys_leveldb 2025-03-05 03:27:08 +00:00
Luke Dashjr
eb4575a9de CI: Disable libbitcoinkernel (not supported by Knots) 2025-02-28 04:55:33 +00:00
Vasil Dimov
13e161aa1a rpc: add cpu_load to getpeerinfo
Add a new field `cpu_load` to the output of `getpeerinfo` RPC.

It represents the CPU time spent by the message handling thread for the
given peer, weighted for the duration of the connection. That is, for
example, if two peers are equally demanding and one is connected longer
than the other, then they will have the same `cpu_load` number.

Github-Pull: #31672
Rebased-From: 0f68c47e931de05200adeae639bcee50ea3c171d
2025-02-28 04:34:41 +00:00
Luke Dashjr
64112f9805 Revert "build: remove check for gettimeofday & librt"
This reverts commit e64e17830a.
2025-02-28 04:34:41 +00:00
Luke Dashjr
8a4e129845 Diff-minimise 2025-02-25 18:40:17 +00:00
Hennadii Stepanov
8c8249b545 build: Re-enable external signer support for Windows
Github-Pull: #29868
Rebased-From: 944717a08a99b750f27a0a81512b3cac92d39923
2025-02-25 18:40:17 +00:00
Luke Dashjr
71c74035dd ioprio: Standardise Linux & macOS HAVE_* macros as defined with either 0 or 1 2025-02-25 18:37:52 +00:00
Luke Dashjr
2011d6f969 configure: Never error for unused-function warnings 2025-02-21 15:25:57 +00:00
Luke Dashjr
ed77ceddd8 Revert "build: Enable -Wunreachable-code"
This partially reverts commit fa8adbe7c1.
2025-02-17 02:40:35 +00:00
Ava Chow
6a68ef9bfb build: bump to 28.1 2025-01-02 20:53:02 +01:00
Ava Chow
e0b27b234c build: Bump to 28.1rc2 2024-12-13 21:16:24 -05:00
fanquake
df7764621e
build: bump version to 28.1rc1 2024-12-02 14:20:15 +00:00
Luke Dashjr
1feccee07f util/ioprio: Add Mac support using iopolicy functions 2024-11-21 20:55:44 +00:00
Luke Dashjr
cd5fd154a9 Drop IO priority to idle while reading blocks for peer requests and startup verification 2024-11-21 20:55:44 +00:00
Ava Chow
5feef9ce7e
build: Bump to 28.0 2024-09-25 14:34:29 -04:00
Ava Chow
5315886bf5
build: Bump to 28.0rc2 2024-09-16 23:10:18 -04:00
Luke Dashjr
b84b22188c Explicitly enable SHA4.1 via pragma for sha_x86_shani which needs it 2024-08-28 20:56:46 +00:00
Luke Dashjr
4684e2971d configure: Check that libsecp256k1 is new enough and error clearly if not 2024-08-28 18:02:41 +00:00
Luke Dashjr
318c850e87 configure: Add unsupported --with-system-libsecp256k1 configure flag 2024-08-28 18:02:36 +00:00
Luke Dashjr
2080d467fa configure: Add unsupported --with-system-leveldb configure flag 2024-08-28 17:39:48 +00:00
Ava Chow
6974e30bdd build: Bump to 28.0rc1 2024-08-27 13:16:06 -04:00
Ava Chow
f5cf43bb91 build: Bump to 28.99 2024-08-26 15:12:58 -04:00
merge-script
d7333ece15
Merge bitcoin/bitcoin#30590: build: Remove unused visibility checks
bbcba09cd5 build: remove check for __declspec(dllexport) (fanquake)
37c9abdc43 build: remove check for __attribute__((visibility.. (fanquake)

Pull request description:

  These are unused (since libbitcoinconsensus / #29648), and the current CMake port doesn't quite match behaviour, such that there's no real point in doing the check. So rather than port anything, just remove it. If these are needed again in future (i.e for kernel or similar), they can be revisted, and it might be the case that build-system level checks will not be wanted.

ACKs for top commit:
  hebasto:
    ACK bbcba09cd5. I've verified that neither `HAVE_DEFAULT_VISIBILITY_ATTRIBUTE` nor `HAVE_DLLEXPORT_ATTRIBUTE` are used or evaluated in the current codebase.
  TheCharlatan:
    ACK bbcba09cd5
  willcl-ark:
    ACK bbcba09cd5

Tree-SHA512: 332f018c50a159d2cbfd2f9ce018538fa11cf06a94e27ed42146945b86645af5881095df39cadd2f775a8ae348ebfc949d54f7eb4b62264bf48119c9f9952c20
2024-08-06 17:44:43 +01:00
fanquake
bbcba09cd5
build: remove check for __declspec(dllexport) 2024-08-05 14:54:56 +01:00
fanquake
37c9abdc43
build: remove check for __attribute__((visibility.. 2024-08-05 14:54:55 +01:00
fanquake
9ec776adff
Revert "build: pass --with-ecmult-gen-kb=86 to secp256k1"
This reverts commit a057869aa3.
2024-08-02 11:33:07 +01:00
merge-script
3679fa167f
Merge bitcoin/bitcoin#28893: Fix SSE4.1-related issues
d440f13db0 crypto: Guard code with `ENABLE_SSE41` macro (Hennadii Stepanov)
6ec1ca7c85 build: Fix test for SSE4.1 intrinsics (Hennadii Stepanov)

Pull request description:

  1. Fix the test for SSE4.1 intrinsics during build system configuration, which currently can be false positive, for example, when `CXXFLAGS="-mno-sse4.1"` provided.

  This PR fixes the test by adding the `_mm_blend_epi16` SSE4.1 function used in our codebase.

  2. Guard `sha_x86_shani.cpp` code with `ENABLE_SSE41` macro as it uses the `_mm_blend_epi16` function from
  the SSE4.1 instruction set.

  It is possible that SHA-NI is enabled even when SSE4.1 is disabled, which causes compile errors in the master branch.

  Closes https://github.com/bitcoin/bitcoin/issues/28864.

ACKs for top commit:
  sipa:
    utACK d440f13db0
  willcl-ark:
    tACK d440f13db0
  theuni:
    utACK d440f13db0

Tree-SHA512: a6e1e8c94e1b94874ff51846815ef445e6135cbdb01b08eb695b3548115f2340dd835ebe53673ae46a553fe6be4815e68d8642c34235dd7af5106c4b7c9ea6f3
2024-07-17 16:58:54 +01:00
merge-script
24dffdde7b
Merge bitcoin/bitcoin#29072: build: use -no_exported_symbols on macOS
81d4dc8e87 build: use -no_exported_symbols on macOS (fanquake)

Pull request description:

  This reduces the size of the binary by ~1% when building with `--enable-reduce-exports`.

  > -no_exported_symbols
  > Useful for main executable that don't have plugins and thus need no symbol exports.

  Can be tested with `dyld_info -exports src/bitcoind`. The only exported symbol should be `__mh_execute_header`.

ACKs for top commit:
  theuni:
    utACK 81d4dc8e87
  hebasto:
    ACK 81d4dc8e87.

Tree-SHA512: ae46065a05d190753ba807943c0734a06cfe6d2cf9eaf3c3aa93250bf8639da8bc53b81c6b0390e6d572a74c6bb31a695f8c5924810bfa358a3c9b08caff03f7
2024-07-16 15:49:12 +01:00
merge-script
d3d2bbf576
Merge bitcoin/bitcoin#30327: build: Drop redundant sys/sysctl.h header check
c0b5ea5901 build: Drop redundant `sys/sysctl.h` header check (Hennadii Stepanov)

Pull request description:

  The `AC_CHECK_HEADERS` macro defines `HAVE_SYS_SYSCTL_H` if the `sys/sysctl.h` header is found. However, in the source code, this header is guarded by `HAVE_SYSCTL` and `HAVE_SYSCTL_ARND` macros, which have their own checks. Since `HAVE_SYS_SYSCTL_H` is not used, we can skip the `AC_CHECK_HEADERS(... sys/sysctl.h ...)` check.

ACKs for top commit:
  laanwj:
    ACK c0b5ea5901
  fanquake:
    ACK c0b5ea5901 - we could got the other way, and add nested #defs, but that doesn't seem worthwhile.

Tree-SHA512: 73bc4bbfc5c457cd2c38e40f8e57d2a70c06ef661d76d4148d683d262be45b9405b8cda1958ac611c312ca7d9e2f9624cf2cac1b61f1008af0856875c62f0eac
2024-06-26 15:25:46 +01:00
Hennadii Stepanov
c0b5ea5901
build: Drop redundant sys/sysctl.h header check
The `AC_CHECK_HEADERS` macro defines `HAVE_SYS_SYSCTL_H` if the
`sys/sysctl.h` header is found. However, in the source code, this header
is guarded by `HAVE_SYSCTL` and `HAVE_SYSCTL_ARND` macros, which have
their own checks. Since `HAVE_SYS_SYSCTL_H` is not used, we can skip the
`AC_CHECK_HEADERS(... sys/sysctl.h ...)` check.
2024-06-24 14:28:23 +01:00
fanquake
e3dc64f499
build: add -Wundef
"Warn if an undefined identifier is evaluated in an #if directive. Such
identifiers are replaced with zero."
2024-06-21 09:43:48 +01:00
Ryan Ofsky
79e197b175
build: Suppress warnings from boost and capnproto in multiprocess code
Without this change there are errors from boost like:

/ci_container_base/depends/i686-pc-linux-gnu/include/boost/signals2/expired_slot.hpp:23:28: error: 'what' overrides a member function but is not marked 'override' [-Werror,-Wsuggest-override]
/ci_container_base/depends/i686-pc-linux-gnu/include/boost/signals2/detail/signal_template.hpp:750:32: error: 'lock_pimpl' overrides a member function but is not marked 'override' [-Werror,-Wsuggest-override]
/ci_container_base/depends/i686-pc-linux-gnu/include/boost/signals2/connection.hpp:150:22: error: 'connected' overrides a member function but is not marked 'override' [-Werror,-Wsuggest-override]

There do not seem to be errors from capnproto currently, but add a suppression
for it, too, to be consistent with other libraries.
2024-06-21 09:42:32 +01:00
fanquake
81d4dc8e87
build: use -no_exported_symbols on macOS
This reduces the size of the binary by 2-3% when building with
`--enable-reduce-exports`.
2024-06-18 13:03:32 +01:00