build: x86 afl++ ASan build broken “error: inline assembly requires more registers than available” #31913

issue dergoegge openend this issue on February 20, 2025
  1. dergoegge commented at 11:27 am on February 20, 2025: member

    Dockerfile to reproduce: https://gist.github.com/dergoegge/fc97743028f60719759b5498f5f022bf

    Building with clang-19 and -fsantize=address fails with:

    07.574 /bitcoin/src/secp256k1/src/scalar_4x64_impl.h:356:5: error: inline assembly requires more registers than available
    17.574   356 |     "movq 32(%%rsi), %%r11\n"
    27.574       |     ^
    37.575 /bitcoin/src/secp256k1/src/scalar_4x64_impl.h:356:5: error: inline assembly requires more registers than available
    47.575 /bitcoin/src/secp256k1/src/scalar_4x64_impl.h:356:5: error: inline assembly requires more registers than available
    57.643 [ 24%] Building CXX object src/CMakeFiles/bitcoin_consensus.dir/uint256.cpp.o
    67.722 3 errors generated.
    77.738 gmake[3]: *** [src/secp256k1/src/CMakeFiles/secp256k1.dir/build.make:76: src/secp256k1/src/CMakeFiles/secp256k1.dir/secp256k1.c.o] Error 1
    87.738 gmake[2]: *** [CMakeFiles/Makefile2:1020: src/secp256k1/src/CMakeFiles/secp256k1.dir/all] Error 2
    

    Since this looks secp256k1 related I tried reproducing on a separate secp build but couldn’t. This could very well be a compiler/linker bug.

    I am surprised that I’m the only one running into this, we don’t have a x86 ASan job anywhere? I think I first observed this sometime mid last year.

  2. maflcko commented at 2:07 pm on February 20, 2025: member

    For reference, the compiler command (without docker) is:

    0# /usr/bin/clang-20  -DUSE_ASM_X86_64=1   -std=c90   -o secp256k1.c.o -c /bitcoin/src/secp256k1/src/secp256k1.c -fsanitize=address 
    1In file included from /bitcoin/src/secp256k1/src/secp256k1.c:28:
    2In file included from /bitcoin/src/secp256k1/src/scalar_impl.h:20:
    3/bitcoin/src/secp256k1/src/scalar_4x64_impl.h:356:5: error: inline assembly requires more registers than available
    4  356 |     "movq 32(%%rsi), %%r11\n"
    5      |     ^
    61 error generated.
    
  3. sipa commented at 2:11 pm on February 20, 2025: member
    This looks familiar. Can you try if -fomit-frame-pointer fixes it?
  4. dergoegge commented at 2:38 pm on February 20, 2025: member

    Can you try if -fomit-frame-pointer fixes it?

    Still the same issue.

    0root@7069ec4b9a4e:/# clang-19  -DUSE_ASM_X86_64=1 -std=c90   -o secp256k1.c.o -c /bitcoin/src/secp256k1/src/secp256k1.c -fsanitize=address -fomit-frame-pointer
    1In file included from /bitcoin/src/secp256k1/src/secp256k1.c:28:
    2In file included from /bitcoin/src/secp256k1/src/scalar_impl.h:20:
    3/bitcoin/src/secp256k1/src/scalar_4x64_impl.h:356:5: error: inline assembly requires more registers than available
    4  356 |     "movq 32(%%rsi), %%r11\n"
    5      |     ^
    6/bitcoin/src/secp256k1/src/scalar_4x64_impl.h:356:5: error: inline assembly requires more registers than available
    7/bitcoin/src/secp256k1/src/scalar_4x64_impl.h:356:5: error: inline assembly requires more registers than available
    83 errors generated.
    

    Not using -DUSE_ASM_X86_64=1 obviously works. Could be a work around once #31379 is merged.

  5. sipa commented at 2:41 pm on February 20, 2025: member
    I believe the explanation here is just that they’re incompatible. The asm code in libsecp256k1 requires many registers; an amount which is generally available in builds. But presumably, asan instrumentation reduces the set of general-purpose available register from use in the instrumentation itself, and as a result the code doesn’t compile anymore.
  6. maflcko commented at 2:55 pm on February 20, 2025: member
    You can also set -O1 instead of -O0, but I guess you don’t want that?
  7. maflcko added the label Build system on Feb 20, 2025
  8. maflcko removed the label Build system on Feb 20, 2025
  9. dergoegge commented at 3:02 pm on February 20, 2025: member

    I wonder if this is related to it: https://github.com/llvm/llvm-project/blob/1c4e9863fa1cba6d28be92026e0912808b01780d/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp#L3096-L3107. Currently limited to 32-bit but maybe it’s also broken for 64-bit?

    You can also set -O1 instead of -O0, but I guess you don’t want that?

    -O1 works but -O0 does not. Could be a workaround as well.

    Interestingly using afl-clang-{lto,fast} does not fail to compile /bitcoin/src/secp256k1/src/secp256k1.c but it does fail to link bitcoind with a similar message: error: LLVM gold plugin: inline assembly requires more registers than available at line 2171 (maybe an entirely separate issue).

  10. sipa commented at 3:02 pm on February 20, 2025: member
    Does -O0 even work with -DUSE_ASM_X86_64=1, absent asan?
  11. dergoegge commented at 3:04 pm on February 20, 2025: member

    Does -O0 even work with -DUSE_ASM_X86_64=1, absent asan?

    Looks like it.

    You can also set -O1 instead of -O0, but I guess you don’t want that?

    Just re-read your message, isn’t -O2 our default? i.e. I don’t think I was using -O0 when I first saw this.

  12. maflcko commented at 8:44 pm on February 20, 2025: member

    You can also set -O1 instead of -O0, but I guess you don’t want that?

    Just re-read your message, isn’t -O2 our default? i.e. I don’t think I was using -O0 when I first saw this.

    You explicitly set it to the empty string in -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="" and IIRC the default for compilers is -O0, so I presumed that this was intentional.

  13. dergoegge commented at 8:55 am on February 21, 2025: member

    You explicitly set it to the empty string in -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="" and IIRC the default for compilers is -O0, so I presumed that this was intentional.

    Ah yes. The actual setup involved setting flags like we do in oss-fuzz https://github.com/google/oss-fuzz/blob/1472130318ff69f8dcfc44db7aa9fe0610423c57/projects/bitcoin-core/build.sh#L70. So it doesn’t work with O0 or O2.

    I wonder if the afl++ build failure is also why we don’t see any afl++ fuzzing on oss-fuzz anymore (https://github.com/google/oss-fuzz/issues/13020).

  14. maflcko commented at 9:08 am on February 21, 2025: member

    I wonder if the afl++ build failure is also why we don’t see any afl++ fuzzing on oss-fuzz anymore (google/oss-fuzz#13020).

    oss-fuzz has -O1 set, so I think the build should succeed. See also https://oss-fuzz-build-logs.storage.googleapis.com/index.html#bitcoin-core

    Excerpt:

     0Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": C++ compiler .......................... Clang 18.1.8, /src/aflplusplus/afl-clang-fast++
     1Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": CMAKE_BUILD_TYPE ...................... RelWithDebInfo
     2Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": Preprocessor defined macros ........... FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG BOOST_MULTI_INDEX_ENABLE_SAFE_MODE
     3Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": C++ compiler flags .................... -O1 -fno-omit-frame-pointer -gline-tables-only -Wno-error=enum-constexpr-conversion -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion -Wno-error=deprecated-declarations -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=vla-cxx-extension -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -stdlib=libc++ -std=c++20 -fPIC -fdebug-prefix-map=/src/bitcoin-core/src=. -fmacro-prefix-map=/src/bitcoin-core/src=. -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wloop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wdocumentation -Wself-assign -Wundef -Wno-unused-parameter -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection
     4Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": Linker flags .......................... -O1 -fno-omit-frame-pointer -gline-tables-only -Wno-error=enum-constexpr-conversion -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion -Wno-error=deprecated-declarations -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=vla-cxx-extension -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -stdlib=libc++ /usr/lib/libFuzzingEngine.a -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code -fPIE -pie
     5Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": 
     6Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": NOTE: The summary above may not exactly match the final applied build flags
     7Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64":       if any additional CMAKE_* or environment variables have been modified.
     8Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64":       To see the exact flags applied, build with the --verbose option.
     9Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": 
    10Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": Attempt to harden executables ......... ON
    11Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": Treat compiler warnings as errors ..... OFF
    12Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": Use ccache for compiling .............. ON
    13Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": 
    14Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": 
    15Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": -- Configuring done (14.8s)
    16Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": -- Generating done (0.1s)
    17Step [#3](/bitcoin-bitcoin/3/) - "compile-afl-address-x86_64": -- Build files have been written to: /src/bitcoin-core/build_fuzz
    
  15. dergoegge commented at 9:20 am on February 21, 2025: member
    For me the afl-clang-{fast,lto} build fails even with -O1 but you’re right the oss-fuzz build logs look fine. I’ll try using the afl++ version they use, maybe there’s a bug in the newer version I use. In any case the afl++ issue seems separate from the secp asm failure with plain clang (even though the error message is almost the same).
  16. dergoegge commented at 2:29 pm on February 21, 2025: member

    So turns out newer versions of afl++ (i.e. newer than the one oss-fuzz is using) will insert -flto when -fcf-protection is detected. That results in -flto -fcf-protection -fsanitize=address and for some reason that combination doesn’t work, not sure if it’s just not supported or there’s a bug but for us a simple workaround is to simply set -DENABLE_HARDENING=OFF when fuzzing with afl++ and ASan on x86. The PR that changed this on the afl++ side is: https://github.com/AFLplusplus/AFLplusplus/pull/1966.

    In conclusion, for a plain clang build on x86 with ASan use either -O1 or disable the secp256k1 custom assembly and for a afl-clang-* build with ASan use our -DENABLE_HARDENING=OFF cmake option (this will become relevant for our oss-fuzz build once they bump afl++).

    I don’t think there is anything for us left to do here, so closing.

  17. dergoegge closed this on Feb 21, 2025

  18. dergoegge reopened this on Apr 29, 2025

  19. dergoegge commented at 3:43 pm on April 29, 2025: member

    Now that we’ve removed ENABLE_HARDENING this is happening again. The suggested workaround of injecting flags manually via APPEND_* does not work.

    This is an issue for me with https://github.com/dergoegge/fuzzamoto and it’’ll also be a problem on oss-fuzz, when they bump their afl++ version.

  20. dergoegge renamed this:
    build: x86 ASan build broken "error: inline assembly requires more registers than available"
    build: x86 afl++ ASan build broken "error: inline assembly requires more registers than available"
    on Apr 29, 2025
  21. hebasto commented at 3:50 pm on April 29, 2025: member

    Now that we’ve removed ENABLE_HARDENING this is happening again. The suggested workaround of injecting flags manually via APPEND_* does not work.

    Which suggestion exactly?

  22. dergoegge commented at 3:52 pm on April 29, 2025: member
    Sorry forgot to link it, from the PR description here: #32071.
  23. dergoegge referenced this in commit 08b832ccf1 on Apr 29, 2025
  24. fanquake commented at 4:55 pm on April 29, 2025: member
    I think the issue here is similar to #32323. The user provided flags (to override the hardening options) aren’t checked during CMake compiler checks, which means the disabling doesn’t actually happen when using afl. As far as I can tell this also isn’t fixed by #32367. Will open a PR to further patch fcf-protection out.
  25. maflcko commented at 4:37 pm on April 30, 2025: member

    Now that we’ve removed ENABLE_HARDENING this is happening again. The suggested workaround of injecting flags manually via APPEND_* does not work.

    To clarify, now it is a configure failure, as opposed to a build (make) failure?

    edit: and the new steps to reproduce are https://github.com/dergoegge/fuzzamoto/blob/master/Dockerfile ?

  26. fanquake commented at 4:42 pm on April 30, 2025: member

    To clarify, now it is a configure failure, as opposed to a build (make) failure?

    It’s still a build failure, with no way to override the offending flag, as the APPEND options don’t currently work properly.

  27. hebasto commented at 4:45 pm on April 30, 2025: member

    To clarify, now it is a configure failure, as opposed to a build (make) failure?

    It’s still a build failure, with no way to override the offending flag, as the APPEND options don’t currently work properly.

    Could someone provide configuration options and a line from the verbose build to show what exactly is broken?

  28. maflcko commented at 5:24 pm on April 30, 2025: member

    I checked the original non-afl asan dockerfile and the existing workaround should still apply there (Don’t use -O0, or disable secp256k1 asm).

    Thus, my guess is the new issue is about afl only and the new dockerfile is https://github.com/dergoegge/fuzzamoto/blob/master/Dockerfile?

  29. davidgumberg commented at 9:24 pm on April 30, 2025: contributor

    Could someone provide configuration options and a line from the verbose build to show what exactly is broken?

    Reproduced as follows:

    0# clone and checkout hash before addr san was disabled
    1git clone git@github.com:dergoegge/fuzzamoto.git && cd fuzzamoto && git checkout 3f72735 
    2docker build .
    3# or, to get full logs
    4docker build --no-cache --progress=plain . 2>&1 | tee build.log
    

    Here is the configure line, and noteworthy output:

    0$ cmake -B build_fuzz       --toolchain ./depends/$(./depends/config.guess)/toolchain.cmake       -DSANITIZERS="address"       -DAPPEND_CPPFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"       -DAPPEND_CFLAGS="-fcf-protection=none"       -DAPPEND_CXXFLAGS="-fcf-protection=none"       -DAPPEND_LDFLAGS="-fcf-protection=none"
    1C++ compiler flags .................... -pipe -std=c++20 -O2 -g -std=c++20 -fPIC -fdebug-prefix-map=/bitcoin/src=. -fmacro-prefix-map=/bitcoin/src=. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection -fsanitize=address -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wloop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wdocumentation -Wself-assign -Wundef -Wno-unused-parameter -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fcf-protection=none
    2Linker flags .......................... -pipe -std=c++20 -O2 -g -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code -fsanitize=address -fPIE -pie -fcf-protection=none
    
      0[#26](/bitcoin-bitcoin/26/) [22/44] RUN cd bitcoin/ && cmake -B build_fuzz       --toolchain ./depends/$(./depends/config.guess)/toolchain.cmake       -DSANITIZERS="address"       -DAPPEND_CPPFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"       -DAPPEND_CFLAGS="-fcf-protection=none"       -DAPPEND_CXXFLAGS="-fcf-protection=none"       -DAPPEND_LDFLAGS="-fcf-protection=none"
      1[#26](/bitcoin-bitcoin/26/) 0.231 -- The CXX compiler identification is Clang 19.1.7
      2[#26](/bitcoin-bitcoin/26/) 0.234 -- Detecting CXX compiler ABI info
      3[#26](/bitcoin-bitcoin/26/) 0.298 -- Detecting CXX compiler ABI info - done
      4[#26](/bitcoin-bitcoin/26/) 0.303 -- Check for working CXX compiler: /AFLplusplus/afl-clang-fast++ - skipped
      5[#26](/bitcoin-bitcoin/26/) 0.303 -- Detecting CXX compile features
      6[#26](/bitcoin-bitcoin/26/) 0.303 -- Detecting CXX compile features - done
      7[#26](/bitcoin-bitcoin/26/) 0.304 -- Setting build type to "RelWithDebInfo" as none was specified
      8[#26](/bitcoin-bitcoin/26/) 0.304 -- Performing Test CXX_SUPPORTS__WERROR
      9[#26](/bitcoin-bitcoin/26/) 0.347 -- Performing Test CXX_SUPPORTS__WERROR - Success
     10[#26](/bitcoin-bitcoin/26/) 0.347 -- Performing Test CXX_SUPPORTS__G3
     11[#26](/bitcoin-bitcoin/26/) 0.391 -- Performing Test CXX_SUPPORTS__G3 - Success
     12[#26](/bitcoin-bitcoin/26/) 0.391 -- Performing Test LINKER_SUPPORTS__G3
     13[#26](/bitcoin-bitcoin/26/) 0.452 -- Performing Test LINKER_SUPPORTS__G3 - Success
     14[#26](/bitcoin-bitcoin/26/) 0.452 -- Performing Test CXX_SUPPORTS__FTRAPV
     15[#26](/bitcoin-bitcoin/26/) 0.498 -- Performing Test CXX_SUPPORTS__FTRAPV - Success
     16[#26](/bitcoin-bitcoin/26/) 0.498 -- Performing Test LINKER_SUPPORTS__FTRAPV
     17[#26](/bitcoin-bitcoin/26/) 0.558 -- Performing Test LINKER_SUPPORTS__FTRAPV - Success
     18[#26](/bitcoin-bitcoin/26/) 0.559 -- Found SQLite3: /bitcoin/depends/x86_64-pc-linux-gnu/include (found suitable version "3.46.1", minimum required is "3.7.17") 
     19[#26](/bitcoin-bitcoin/26/) 0.701 -- Performing Test LINKER_SUPPORTS__WL___FATAL_WARNINGS
     20[#26](/bitcoin-bitcoin/26/) 0.776 -- Performing Test LINKER_SUPPORTS__WL___FATAL_WARNINGS - Success
     21[#26](/bitcoin-bitcoin/26/) 0.777 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
     22[#26](/bitcoin-bitcoin/26/) 0.853 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
     23[#26](/bitcoin-bitcoin/26/) 0.853 -- Found Threads: TRUE  
     24[#26](/bitcoin-bitcoin/26/) 0.854 -- Performing Test CXX_SUPPORTS__FSANITIZE_ADDRESS
     25[#26](/bitcoin-bitcoin/26/) 0.898 -- Performing Test CXX_SUPPORTS__FSANITIZE_ADDRESS - Success
     26[#26](/bitcoin-bitcoin/26/) 0.898 -- Performing Test LINKER_SUPPORTS__FSANITIZE_ADDRESS_6231
     27[#26](/bitcoin-bitcoin/26/) 1.001 -- Performing Test LINKER_SUPPORTS__FSANITIZE_ADDRESS_6231 - Success
     28[#26](/bitcoin-bitcoin/26/) 1.007 -- Found Boost: /bitcoin/depends/x86_64-pc-linux-gnu/include (found suitable version "1.81.0", minimum required is "1.73.0")  
     29[#26](/bitcoin-bitcoin/26/) 1.007 -- Performing Test NO_DIAGNOSTICS_BOOST_NO_CXX98_FUNCTION_BASE
     30[#26](/bitcoin-bitcoin/26/) 1.036 -- Performing Test NO_DIAGNOSTICS_BOOST_NO_CXX98_FUNCTION_BASE - Failed
     31[#26](/bitcoin-bitcoin/26/) 1.037 -- Found Libevent: /bitcoin/depends/x86_64-pc-linux-gnu/lib/cmake/libevent (found suitable version "2.1.12", minimum required is "2.1.8") 
     32[#26](/bitcoin-bitcoin/26/) 1.037 -- Performing Test HAVE_EVHTTP_CONNECTION_GET_PEER_CONST_CHAR
     33[#26](/bitcoin-bitcoin/26/) 1.065 -- Performing Test HAVE_EVHTTP_CONNECTION_GET_PEER_CONST_CHAR - Failed
     34[#26](/bitcoin-bitcoin/26/) 1.065 -- Looking for C++ include sys/prctl.h
     35[#26](/bitcoin-bitcoin/26/) 1.136 -- Looking for C++ include sys/prctl.h - found
     36[#26](/bitcoin-bitcoin/26/) 1.136 -- Looking for C++ include sys/resources.h
     37[#26](/bitcoin-bitcoin/26/) 1.157 -- Looking for C++ include sys/resources.h - not found
     38[#26](/bitcoin-bitcoin/26/) 1.157 -- Looking for C++ include sys/vmmeter.h
     39[#26](/bitcoin-bitcoin/26/) 1.178 -- Looking for C++ include sys/vmmeter.h - not found
     40[#26](/bitcoin-bitcoin/26/) 1.178 -- Looking for C++ include vm/vm_param.h
     41[#26](/bitcoin-bitcoin/26/) 1.198 -- Looking for C++ include vm/vm_param.h - not found
     42[#26](/bitcoin-bitcoin/26/) 1.198 -- Looking for O_CLOEXEC
     43[#26](/bitcoin-bitcoin/26/) 1.270 -- Looking for O_CLOEXEC - found
     44[#26](/bitcoin-bitcoin/26/) 1.270 -- Looking for fdatasync
     45[#26](/bitcoin-bitcoin/26/) 1.345 -- Looking for fdatasync - found
     46[#26](/bitcoin-bitcoin/26/) 1.345 -- Looking for fork
     47[#26](/bitcoin-bitcoin/26/) 1.418 -- Looking for fork - found
     48[#26](/bitcoin-bitcoin/26/) 1.418 -- Looking for pipe2
     49[#26](/bitcoin-bitcoin/26/) 1.491 -- Looking for pipe2 - found
     50[#26](/bitcoin-bitcoin/26/) 1.491 -- Looking for setsid
     51[#26](/bitcoin-bitcoin/26/) 1.566 -- Looking for setsid - found
     52[#26](/bitcoin-bitcoin/26/) 1.566 -- Looking for C++ include sys/types.h
     53[#26](/bitcoin-bitcoin/26/) 1.640 -- Looking for C++ include sys/types.h - found
     54[#26](/bitcoin-bitcoin/26/) 1.640 -- Looking for C++ include ifaddrs.h
     55[#26](/bitcoin-bitcoin/26/) 1.715 -- Looking for C++ include ifaddrs.h - found
     56[#26](/bitcoin-bitcoin/26/) 1.715 -- Performing Test IFADDR_LINKS_WITHOUT_LIBSOCKET
     57[#26](/bitcoin-bitcoin/26/) 1.792 -- Performing Test IFADDR_LINKS_WITHOUT_LIBSOCKET - Success
     58[#26](/bitcoin-bitcoin/26/) 1.792 -- Performing Test STD_ATOMIC_LINKS_WITHOUT_LIBATOMIC
     59[#26](/bitcoin-bitcoin/26/) 2.058 -- Performing Test STD_ATOMIC_LINKS_WITHOUT_LIBATOMIC - Success
     60[#26](/bitcoin-bitcoin/26/) 2.058 -- Looking for std::system
     61[#26](/bitcoin-bitcoin/26/) 2.139 -- Looking for std::system - found
     62[#26](/bitcoin-bitcoin/26/) 2.139 -- Looking for ::_wsystem
     63[#26](/bitcoin-bitcoin/26/) 2.164 -- Looking for ::_wsystem - not found
     64[#26](/bitcoin-bitcoin/26/) 2.164 -- Performing Test STRERROR_R_CHAR_P
     65[#26](/bitcoin-bitcoin/26/) 2.238 -- Performing Test STRERROR_R_CHAR_P - Success
     66[#26](/bitcoin-bitcoin/26/) 2.238 -- Looking for malloc_info
     67[#26](/bitcoin-bitcoin/26/) 2.313 -- Looking for malloc_info - found
     68[#26](/bitcoin-bitcoin/26/) 2.313 -- Performing Test HAVE_MALLOPT_ARENA_MAX
     69[#26](/bitcoin-bitcoin/26/) 2.386 -- Performing Test HAVE_MALLOPT_ARENA_MAX - Success
     70[#26](/bitcoin-bitcoin/26/) 2.386 -- Performing Test HAVE_POSIX_FALLOCATE
     71[#26](/bitcoin-bitcoin/26/) 2.460 -- Performing Test HAVE_POSIX_FALLOCATE - Success
     72[#26](/bitcoin-bitcoin/26/) 2.460 -- Performing Test HAVE_STRONG_GETAUXVAL
     73[#26](/bitcoin-bitcoin/26/) 2.532 -- Performing Test HAVE_STRONG_GETAUXVAL - Success
     74[#26](/bitcoin-bitcoin/26/) 2.532 -- Performing Test HAVE_SOCKADDR_UN
     75[#26](/bitcoin-bitcoin/26/) 2.607 -- Performing Test HAVE_SOCKADDR_UN - Success
     76[#26](/bitcoin-bitcoin/26/) 2.607 -- Performing Test HAVE_GETRANDOM
     77[#26](/bitcoin-bitcoin/26/) 2.680 -- Performing Test HAVE_GETRANDOM - Success
     78[#26](/bitcoin-bitcoin/26/) 2.680 -- Performing Test HAVE_GETENTROPY_RAND
     79[#26](/bitcoin-bitcoin/26/) 2.757 -- Performing Test HAVE_GETENTROPY_RAND - Success
     80[#26](/bitcoin-bitcoin/26/) 2.757 -- Performing Test HAVE_SYSCTL
     81[#26](/bitcoin-bitcoin/26/) 2.780 -- Performing Test HAVE_SYSCTL - Failed
     82[#26](/bitcoin-bitcoin/26/) 2.780 -- Performing Test HAVE_SYSCTL_ARND
     83[#26](/bitcoin-bitcoin/26/) 2.802 -- Performing Test HAVE_SYSCTL_ARND - Failed
     84[#26](/bitcoin-bitcoin/26/) 2.802 -- Performing Test HAVE_SSE41
     85[#26](/bitcoin-bitcoin/26/) 2.965 -- Performing Test HAVE_SSE41 - Success
     86[#26](/bitcoin-bitcoin/26/) 2.965 -- Performing Test HAVE_AVX2
     87[#26](/bitcoin-bitcoin/26/) 3.127 -- Performing Test HAVE_AVX2 - Success
     88[#26](/bitcoin-bitcoin/26/) 3.127 -- Performing Test HAVE_X86_SHANI
     89[#26](/bitcoin-bitcoin/26/) 3.284 -- Performing Test HAVE_X86_SHANI - Success
     90[#26](/bitcoin-bitcoin/26/) 3.284 -- Performing Test HAVE_ARM_SHANI
     91[#26](/bitcoin-bitcoin/26/) 3.304 -- Performing Test HAVE_ARM_SHANI - Failed
     92[#26](/bitcoin-bitcoin/26/) 3.304 -- Performing Test CXX_SUPPORTS__WALL
     93[#26](/bitcoin-bitcoin/26/) 3.346 -- Performing Test CXX_SUPPORTS__WALL - Success
     94[#26](/bitcoin-bitcoin/26/) 3.346 -- Performing Test CXX_SUPPORTS__WEXTRA
     95[#26](/bitcoin-bitcoin/26/) 3.388 -- Performing Test CXX_SUPPORTS__WEXTRA - Success
     96[#26](/bitcoin-bitcoin/26/) 3.388 -- Performing Test CXX_SUPPORTS__WGNU
     97[#26](/bitcoin-bitcoin/26/) 3.431 -- Performing Test CXX_SUPPORTS__WGNU - Success
     98[#26](/bitcoin-bitcoin/26/) 3.431 -- Performing Test CXX_SUPPORTS__WFORMAT__WFORMAT_SECURITY
     99[#26](/bitcoin-bitcoin/26/) 3.474 -- Performing Test CXX_SUPPORTS__WFORMAT__WFORMAT_SECURITY - Success
    100[#26](/bitcoin-bitcoin/26/) 3.474 -- Performing Test CXX_SUPPORTS__WVLA
    101[#26](/bitcoin-bitcoin/26/) 3.517 -- Performing Test CXX_SUPPORTS__WVLA - Success
    102[#26](/bitcoin-bitcoin/26/) 3.517 -- Performing Test CXX_SUPPORTS__WSHADOW_FIELD
    103[#26](/bitcoin-bitcoin/26/) 3.557 -- Performing Test CXX_SUPPORTS__WSHADOW_FIELD - Success
    104[#26](/bitcoin-bitcoin/26/) 3.558 -- Performing Test CXX_SUPPORTS__WTHREAD_SAFETY
    105[#26](/bitcoin-bitcoin/26/) 3.599 -- Performing Test CXX_SUPPORTS__WTHREAD_SAFETY - Success
    106[#26](/bitcoin-bitcoin/26/) 3.599 -- Performing Test CXX_SUPPORTS__WLOOP_ANALYSIS
    107[#26](/bitcoin-bitcoin/26/) 3.644 -- Performing Test CXX_SUPPORTS__WLOOP_ANALYSIS - Success
    108[#26](/bitcoin-bitcoin/26/) 3.644 -- Performing Test CXX_SUPPORTS__WREDUNDANT_DECLS
    109[#26](/bitcoin-bitcoin/26/) 3.686 -- Performing Test CXX_SUPPORTS__WREDUNDANT_DECLS - Success
    110[#26](/bitcoin-bitcoin/26/) 3.687 -- Performing Test CXX_SUPPORTS__WUNUSED_MEMBER_FUNCTION
    111[#26](/bitcoin-bitcoin/26/) 3.727 -- Performing Test CXX_SUPPORTS__WUNUSED_MEMBER_FUNCTION - Success
    112[#26](/bitcoin-bitcoin/26/) 3.727 -- Performing Test CXX_SUPPORTS__WDATE_TIME
    113[#26](/bitcoin-bitcoin/26/) 3.769 -- Performing Test CXX_SUPPORTS__WDATE_TIME - Success
    114[#26](/bitcoin-bitcoin/26/) 3.769 -- Performing Test CXX_SUPPORTS__WCONDITIONAL_UNINITIALIZED
    115[#26](/bitcoin-bitcoin/26/) 3.811 -- Performing Test CXX_SUPPORTS__WCONDITIONAL_UNINITIALIZED - Success
    116[#26](/bitcoin-bitcoin/26/) 3.811 -- Performing Test CXX_SUPPORTS__WDUPLICATED_BRANCHES
    117[#26](/bitcoin-bitcoin/26/) 3.830 -- Performing Test CXX_SUPPORTS__WDUPLICATED_BRANCHES - Failed
    118[#26](/bitcoin-bitcoin/26/) 3.830 -- Performing Test CXX_SUPPORTS__WDUPLICATED_COND
    119[#26](/bitcoin-bitcoin/26/) 3.848 -- Performing Test CXX_SUPPORTS__WDUPLICATED_COND - Failed
    120[#26](/bitcoin-bitcoin/26/) 3.848 -- Performing Test CXX_SUPPORTS__WLOGICAL_OP
    121[#26](/bitcoin-bitcoin/26/) 3.867 -- Performing Test CXX_SUPPORTS__WLOGICAL_OP - Failed
    122[#26](/bitcoin-bitcoin/26/) 3.867 -- Performing Test CXX_SUPPORTS__WOVERLOADED_VIRTUAL
    123[#26](/bitcoin-bitcoin/26/) 3.908 -- Performing Test CXX_SUPPORTS__WOVERLOADED_VIRTUAL - Success
    124[#26](/bitcoin-bitcoin/26/) 3.909 -- Performing Test CXX_SUPPORTS__WSUGGEST_OVERRIDE
    125[#26](/bitcoin-bitcoin/26/) 3.949 -- Performing Test CXX_SUPPORTS__WSUGGEST_OVERRIDE - Success
    126[#26](/bitcoin-bitcoin/26/) 3.949 -- Performing Test CXX_SUPPORTS__WIMPLICIT_FALLTHROUGH
    127[#26](/bitcoin-bitcoin/26/) 3.989 -- Performing Test CXX_SUPPORTS__WIMPLICIT_FALLTHROUGH - Success
    128[#26](/bitcoin-bitcoin/26/) 3.990 -- Performing Test CXX_SUPPORTS__WUNREACHABLE_CODE
    129[#26](/bitcoin-bitcoin/26/) 4.030 -- Performing Test CXX_SUPPORTS__WUNREACHABLE_CODE - Success
    130[#26](/bitcoin-bitcoin/26/) 4.030 -- Performing Test CXX_SUPPORTS__WDOCUMENTATION
    131[#26](/bitcoin-bitcoin/26/) 4.072 -- Performing Test CXX_SUPPORTS__WDOCUMENTATION - Success
    132[#26](/bitcoin-bitcoin/26/) 4.072 -- Performing Test CXX_SUPPORTS__WSELF_ASSIGN
    133[#26](/bitcoin-bitcoin/26/) 4.114 -- Performing Test CXX_SUPPORTS__WSELF_ASSIGN - Success
    134[#26](/bitcoin-bitcoin/26/) 4.114 -- Performing Test CXX_SUPPORTS__WBIDI_CHARS_ANY
    135[#26](/bitcoin-bitcoin/26/) 4.133 -- Performing Test CXX_SUPPORTS__WBIDI_CHARS_ANY - Failed
    136[#26](/bitcoin-bitcoin/26/) 4.133 -- Performing Test CXX_SUPPORTS__WUNDEF
    137[#26](/bitcoin-bitcoin/26/) 4.175 -- Performing Test CXX_SUPPORTS__WUNDEF - Success
    138[#26](/bitcoin-bitcoin/26/) 4.175 -- Performing Test CXX_SUPPORTS__WUNUSED_PARAMETER
    139[#26](/bitcoin-bitcoin/26/) 4.217 -- Performing Test CXX_SUPPORTS__WUNUSED_PARAMETER - Success
    140[#26](/bitcoin-bitcoin/26/) 4.217 -- Performing Test CXX_SUPPORTS__FNO_EXTENDED_IDENTIFIERS
    141[#26](/bitcoin-bitcoin/26/) 4.236 -- Performing Test CXX_SUPPORTS__FNO_EXTENDED_IDENTIFIERS - Failed
    142[#26](/bitcoin-bitcoin/26/) 4.236 -- Performing Test CXX_SUPPORTS__FDEBUG_PREFIX_MAP_A_B
    143[#26](/bitcoin-bitcoin/26/) 4.278 -- Performing Test CXX_SUPPORTS__FDEBUG_PREFIX_MAP_A_B - Success
    144[#26](/bitcoin-bitcoin/26/) 4.278 -- Performing Test CXX_SUPPORTS__FMACRO_PREFIX_MAP_A_B
    145[#26](/bitcoin-bitcoin/26/) 4.321 -- Performing Test CXX_SUPPORTS__FMACRO_PREFIX_MAP_A_B - Success
    146[#26](/bitcoin-bitcoin/26/) 4.321 -- Performing Test CXX_SUPPORTS__FSTACK_REUSE_NONE
    147[#26](/bitcoin-bitcoin/26/) 4.340 -- Performing Test CXX_SUPPORTS__FSTACK_REUSE_NONE - Failed
    148[#26](/bitcoin-bitcoin/26/) 4.340 -- Performing Test CXX_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08
    149[#26](/bitcoin-bitcoin/26/) 4.381 -- Performing Test CXX_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08 - Success
    150[#26](/bitcoin-bitcoin/26/) 4.381 -- Performing Test LINKER_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08
    151[#26](/bitcoin-bitcoin/26/) 4.449 -- Performing Test LINKER_SUPPORTS__U_FORTIFY_SOURCE__D_FORTIFY_SOURCE_3_2d08 - Success
    152[#26](/bitcoin-bitcoin/26/) 4.449 -- Performing Test CXX_SUPPORTS__WSTACK_PROTECTOR
    153[#26](/bitcoin-bitcoin/26/) 4.491 -- Performing Test CXX_SUPPORTS__WSTACK_PROTECTOR - Success
    154[#26](/bitcoin-bitcoin/26/) 4.491 -- Performing Test CXX_SUPPORTS__FSTACK_PROTECTOR_ALL
    155[#26](/bitcoin-bitcoin/26/) 4.534 -- Performing Test CXX_SUPPORTS__FSTACK_PROTECTOR_ALL - Success
    156[#26](/bitcoin-bitcoin/26/) 4.534 -- Performing Test LINKER_SUPPORTS__FSTACK_PROTECTOR_ALL
    157[#26](/bitcoin-bitcoin/26/) 4.603 -- Performing Test LINKER_SUPPORTS__FSTACK_PROTECTOR_ALL - Success
    158[#26](/bitcoin-bitcoin/26/) 4.603 -- Performing Test CXX_SUPPORTS__FCF_PROTECTION_FULL
    159[#26](/bitcoin-bitcoin/26/) 4.646 -- Performing Test CXX_SUPPORTS__FCF_PROTECTION_FULL - Success
    160[#26](/bitcoin-bitcoin/26/) 4.647 -- Performing Test LINKER_SUPPORTS__FCF_PROTECTION_FULL
    161[#26](/bitcoin-bitcoin/26/) 4.714 -- Performing Test LINKER_SUPPORTS__FCF_PROTECTION_FULL - Success
    162[#26](/bitcoin-bitcoin/26/) 4.714 -- Performing Test CXX_SUPPORTS__FSTACK_CLASH_PROTECTION
    163[#26](/bitcoin-bitcoin/26/) 4.757 -- Performing Test CXX_SUPPORTS__FSTACK_CLASH_PROTECTION - Success
    164[#26](/bitcoin-bitcoin/26/) 4.757 -- Performing Test LINKER_SUPPORTS__FSTACK_CLASH_PROTECTION
    165[#26](/bitcoin-bitcoin/26/) 4.825 -- Performing Test LINKER_SUPPORTS__FSTACK_CLASH_PROTECTION - Success
    166[#26](/bitcoin-bitcoin/26/) 4.825 -- Performing Test LINKER_SUPPORTS__WL___ENABLE_RELOC_SECTION
    167[#26](/bitcoin-bitcoin/26/) 4.868 -- Performing Test LINKER_SUPPORTS__WL___ENABLE_RELOC_SECTION - Failed
    168[#26](/bitcoin-bitcoin/26/) 4.868 -- Performing Test LINKER_SUPPORTS__WL___DYNAMICBASE
    169[#26](/bitcoin-bitcoin/26/) 4.910 -- Performing Test LINKER_SUPPORTS__WL___DYNAMICBASE - Failed
    170[#26](/bitcoin-bitcoin/26/) 4.910 -- Performing Test LINKER_SUPPORTS__WL___NXCOMPAT
    171[#26](/bitcoin-bitcoin/26/) 4.953 -- Performing Test LINKER_SUPPORTS__WL___NXCOMPAT - Failed
    172[#26](/bitcoin-bitcoin/26/) 4.953 -- Performing Test LINKER_SUPPORTS__WL___HIGH_ENTROPY_VA
    173[#26](/bitcoin-bitcoin/26/) 4.996 -- Performing Test LINKER_SUPPORTS__WL___HIGH_ENTROPY_VA - Failed
    174[#26](/bitcoin-bitcoin/26/) 4.997 -- Performing Test LINKER_SUPPORTS__WL__Z_RELRO
    175[#26](/bitcoin-bitcoin/26/) 5.065 -- Performing Test LINKER_SUPPORTS__WL__Z_RELRO - Success
    176[#26](/bitcoin-bitcoin/26/) 5.065 -- Performing Test LINKER_SUPPORTS__WL__Z_NOW
    177[#26](/bitcoin-bitcoin/26/) 5.134 -- Performing Test LINKER_SUPPORTS__WL__Z_NOW - Success
    178[#26](/bitcoin-bitcoin/26/) 5.134 -- Performing Test LINKER_SUPPORTS__WL__Z_SEPARATE_CODE
    179[#26](/bitcoin-bitcoin/26/) 5.205 -- Performing Test LINKER_SUPPORTS__WL__Z_SEPARATE_CODE - Success
    180[#26](/bitcoin-bitcoin/26/) 5.247 -- Found Python3: /usr/bin/python3 (found suitable version "3.11.2", minimum required is "3.10") found components: Interpreter 
    181[#26](/bitcoin-bitcoin/26/) 5.253 -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE dot) 
    182[#26](/bitcoin-bitcoin/26/) 5.255 -- Performing Test HAVE_BUILTIN_PREFETCH
    183[#26](/bitcoin-bitcoin/26/) 5.329 -- Performing Test HAVE_BUILTIN_PREFETCH - Success
    184[#26](/bitcoin-bitcoin/26/) 5.329 -- Performing Test HAVE_MM_PREFETCH
    185[#26](/bitcoin-bitcoin/26/) 5.413 -- Performing Test HAVE_MM_PREFETCH - Success
    186[#26](/bitcoin-bitcoin/26/) 5.413 -- Performing Test HAVE_SSE42
    187[#26](/bitcoin-bitcoin/26/) 5.498 -- Performing Test HAVE_SSE42 - Success
    188[#26](/bitcoin-bitcoin/26/) 5.498 -- Performing Test HAVE_ARM64_CRC32C
    189[#26](/bitcoin-bitcoin/26/) 5.518 -- Performing Test HAVE_ARM64_CRC32C - Failed
    190[#26](/bitcoin-bitcoin/26/) 5.518 -- Looking for F_FULLFSYNC
    191[#26](/bitcoin-bitcoin/26/) 5.538 -- Looking for F_FULLFSYNC - not found
    192[#26](/bitcoin-bitcoin/26/) 5.539 -- Performing Test HAVE_CLMUL
    193[#26](/bitcoin-bitcoin/26/) 5.697 -- Performing Test HAVE_CLMUL - Success
    194[#26](/bitcoin-bitcoin/26/) 5.698 
    195[#26](/bitcoin-bitcoin/26/) 5.698 Configuring secp256k1 subtree...
    196[#26](/bitcoin-bitcoin/26/) 5.732 -- The C compiler identification is Clang 19.1.7
    197[#26](/bitcoin-bitcoin/26/) 5.735 -- Detecting C compiler ABI info
    198[#26](/bitcoin-bitcoin/26/) 5.783 -- Detecting C compiler ABI info - done
    199[#26](/bitcoin-bitcoin/26/) 5.788 -- Check for working C compiler: /AFLplusplus/afl-clang-fast - skipped
    200[#26](/bitcoin-bitcoin/26/) 5.788 -- Detecting C compile features
    201[#26](/bitcoin-bitcoin/26/) 5.788 -- Detecting C compile features - done
    202[#26](/bitcoin-bitcoin/26/) 5.789 -- Performing Test HAVE_X86_64_ASM
    203[#26](/bitcoin-bitcoin/26/) 5.835 -- Performing Test HAVE_X86_64_ASM - Success
    204[#26](/bitcoin-bitcoin/26/) 5.836 -- Could NOT find Valgrind (missing: Valgrind_INCLUDE_DIR Valgrind_WORKS) 
    205[#26](/bitcoin-bitcoin/26/) 5.836 -- Performing Test C_SUPPORTS__PEDANTIC
    206[#26](/bitcoin-bitcoin/26/) 5.881 -- Performing Test C_SUPPORTS__PEDANTIC - Success
    207[#26](/bitcoin-bitcoin/26/) 5.882 -- Performing Test C_SUPPORTS__WALL
    208[#26](/bitcoin-bitcoin/26/) 5.924 -- Performing Test C_SUPPORTS__WALL - Success
    209[#26](/bitcoin-bitcoin/26/) 5.924 -- Performing Test C_SUPPORTS__WCAST_ALIGN
    210[#26](/bitcoin-bitcoin/26/) 5.968 -- Performing Test C_SUPPORTS__WCAST_ALIGN - Success
    211[#26](/bitcoin-bitcoin/26/) 5.968 -- Performing Test C_SUPPORTS__WCAST_ALIGN_STRICT
    212[#26](/bitcoin-bitcoin/26/) 5.987 -- Performing Test C_SUPPORTS__WCAST_ALIGN_STRICT - Failed
    213[#26](/bitcoin-bitcoin/26/) 5.987 -- Performing Test C_SUPPORTS__WCONDITIONAL_UNINITIALIZED
    214[#26](/bitcoin-bitcoin/26/) 6.030 -- Performing Test C_SUPPORTS__WCONDITIONAL_UNINITIALIZED - Success
    215[#26](/bitcoin-bitcoin/26/) 6.031 -- Performing Test C_SUPPORTS__WEXTRA
    216[#26](/bitcoin-bitcoin/26/) 6.074 -- Performing Test C_SUPPORTS__WEXTRA - Success
    217[#26](/bitcoin-bitcoin/26/) 6.074 -- Performing Test C_SUPPORTS__WNESTED_EXTERNS
    218[#26](/bitcoin-bitcoin/26/) 6.116 -- Performing Test C_SUPPORTS__WNESTED_EXTERNS - Success
    219[#26](/bitcoin-bitcoin/26/) 6.117 -- Performing Test C_SUPPORTS__WNO_LONG_LONG
    220[#26](/bitcoin-bitcoin/26/) 6.161 -- Performing Test C_SUPPORTS__WNO_LONG_LONG - Success
    221[#26](/bitcoin-bitcoin/26/) 6.162 -- Performing Test C_SUPPORTS__WNO_OVERLENGTH_STRINGS
    222[#26](/bitcoin-bitcoin/26/) 6.204 -- Performing Test C_SUPPORTS__WNO_OVERLENGTH_STRINGS - Success
    223[#26](/bitcoin-bitcoin/26/) 6.204 -- Performing Test C_SUPPORTS__WNO_UNUSED_FUNCTION
    224[#26](/bitcoin-bitcoin/26/) 6.246 -- Performing Test C_SUPPORTS__WNO_UNUSED_FUNCTION - Success
    225[#26](/bitcoin-bitcoin/26/) 6.247 -- Performing Test C_SUPPORTS__WRESERVED_IDENTIFIER
    226[#26](/bitcoin-bitcoin/26/) 6.290 -- Performing Test C_SUPPORTS__WRESERVED_IDENTIFIER - Success
    227[#26](/bitcoin-bitcoin/26/) 6.291 -- Performing Test C_SUPPORTS__WSHADOW
    228[#26](/bitcoin-bitcoin/26/) 6.333 -- Performing Test C_SUPPORTS__WSHADOW - Success
    229[#26](/bitcoin-bitcoin/26/) 6.334 -- Performing Test C_SUPPORTS__WSTRICT_PROTOTYPES
    230[#26](/bitcoin-bitcoin/26/) 6.377 -- Performing Test C_SUPPORTS__WSTRICT_PROTOTYPES - Success
    231[#26](/bitcoin-bitcoin/26/) 6.378 -- Performing Test C_SUPPORTS__WUNDEF
    232[#26](/bitcoin-bitcoin/26/) 6.420 -- Performing Test C_SUPPORTS__WUNDEF - Success
    233[#26](/bitcoin-bitcoin/26/) 6.422 
    234[#26](/bitcoin-bitcoin/26/) 6.422 
    235[#26](/bitcoin-bitcoin/26/) 6.422 secp256k1 configure summary
    236[#26](/bitcoin-bitcoin/26/) 6.422 ===========================
    237[#26](/bitcoin-bitcoin/26/) 6.422 Build artifacts:
    238[#26](/bitcoin-bitcoin/26/) 6.422   library type ........................ Static
    239[#26](/bitcoin-bitcoin/26/) 6.422 Optional modules:
    240[#26](/bitcoin-bitcoin/26/) 6.422   ECDH ................................ OFF
    241[#26](/bitcoin-bitcoin/26/) 6.422   ECDSA pubkey recovery ............... ON
    242[#26](/bitcoin-bitcoin/26/) 6.422   extrakeys ........................... ON
    243[#26](/bitcoin-bitcoin/26/) 6.422   schnorrsig .......................... ON
    244[#26](/bitcoin-bitcoin/26/) 6.422   musig ............................... OFF
    245[#26](/bitcoin-bitcoin/26/) 6.422   ElligatorSwift ...................... ON
    246[#26](/bitcoin-bitcoin/26/) 6.422 Parameters:
    247[#26](/bitcoin-bitcoin/26/) 6.422   ecmult window size .................. 15
    248[#26](/bitcoin-bitcoin/26/) 6.422   ecmult gen table size ............... 86 KiB
    249[#26](/bitcoin-bitcoin/26/) 6.422 Optional features:
    250[#26](/bitcoin-bitcoin/26/) 6.422   assembly ............................ x86_64
    251[#26](/bitcoin-bitcoin/26/) 6.422   external callbacks .................. OFF
    252[#26](/bitcoin-bitcoin/26/) 6.422 Optional binaries:
    253[#26](/bitcoin-bitcoin/26/) 6.422   benchmark ........................... OFF
    254[#26](/bitcoin-bitcoin/26/) 6.422   noverify_tests ...................... ON
    255[#26](/bitcoin-bitcoin/26/) 6.422   tests ............................... ON
    256[#26](/bitcoin-bitcoin/26/) 6.422   exhaustive tests .................... ON
    257[#26](/bitcoin-bitcoin/26/) 6.422   ctime_tests ......................... OFF
    258[#26](/bitcoin-bitcoin/26/) 6.422   examples ............................ OFF
    259[#26](/bitcoin-bitcoin/26/) 6.422 
    260[#26](/bitcoin-bitcoin/26/) 6.422 Cross compiling ....................... FALSE
    261[#26](/bitcoin-bitcoin/26/) 6.422 Valgrind .............................. OFF
    262[#26](/bitcoin-bitcoin/26/) 6.422 Preprocessor defined macros ........... ENABLE_MODULE_ELLSWIFT=1 ENABLE_MODULE_SCHNORRSIG=1 ENABLE_MODULE_EXTRAKEYS=1 ENABLE_MODULE_RECOVERY=1 ECMULT_WINDOW_SIZE=15 COMB_BLOCKS=43 COMB_TEETH=6 USE_ASM_X86_64=1
    263[#26](/bitcoin-bitcoin/26/) 6.422 C compiler ............................ Clang 19.1.7, /AFLplusplus/afl-clang-fast
    264[#26](/bitcoin-bitcoin/26/) 6.422 CFLAGS ................................ -pipe -std=c11
    265[#26](/bitcoin-bitcoin/26/) 6.422 Compile options ....................... -pedantic -Wall -Wcast-align -Wconditional-uninitialized -Wextra -Wnested-externs -Wno-long-long -Wno-overlength-strings -Wno-unused-function -Wreserved-identifier -Wshadow -Wstrict-prototypes -Wundef
    266[#26](/bitcoin-bitcoin/26/) 6.422 Build type:
    267[#26](/bitcoin-bitcoin/26/) 6.422  - CMAKE_BUILD_TYPE ................... RelWithDebInfo
    268[#26](/bitcoin-bitcoin/26/) 6.422  - CFLAGS ............................. -O2 -g 
    269[#26](/bitcoin-bitcoin/26/) 6.422  - LDFLAGS for executables ............ 
    270[#26](/bitcoin-bitcoin/26/) 6.422  - LDFLAGS for shared libraries ....... 
    271[#26](/bitcoin-bitcoin/26/) 6.422 SECP256K1_APPEND_CFLAGS ............... -fsanitize=address -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fcf-protection=none
    272[#26](/bitcoin-bitcoin/26/) 6.422 SECP256K1_APPEND_LDFLAGS .............. -fsanitize=address -fcf-protection=none
    273[#26](/bitcoin-bitcoin/26/) 6.422 
    274[#26](/bitcoin-bitcoin/26/) 6.430 
    275[#26](/bitcoin-bitcoin/26/) 6.430 
    276[#26](/bitcoin-bitcoin/26/) 6.430 Configure summary
    277[#26](/bitcoin-bitcoin/26/) 6.430 =================
    278[#26](/bitcoin-bitcoin/26/) 6.430 Executables:
    279[#26](/bitcoin-bitcoin/26/) 6.430   bitcoind ............................ ON
    280[#26](/bitcoin-bitcoin/26/) 6.430   bitcoin-node (multiprocess) ......... OFF
    281[#26](/bitcoin-bitcoin/26/) 6.430   bitcoin-qt (GUI) .................... OFF
    282[#26](/bitcoin-bitcoin/26/) 6.430   bitcoin-gui (GUI, multiprocess) ..... OFF
    283[#26](/bitcoin-bitcoin/26/) 6.430   bitcoin-cli ......................... ON
    284[#26](/bitcoin-bitcoin/26/) 6.430   bitcoin-tx .......................... ON
    285[#26](/bitcoin-bitcoin/26/) 6.430   bitcoin-util ........................ ON
    286[#26](/bitcoin-bitcoin/26/) 6.430   bitcoin-wallet ...................... ON
    287[#26](/bitcoin-bitcoin/26/) 6.430   bitcoin-chainstate (experimental) ... OFF
    288[#26](/bitcoin-bitcoin/26/) 6.430   libbitcoinkernel (experimental) ..... OFF
    289[#26](/bitcoin-bitcoin/26/) 6.430 Optional features:
    290[#26](/bitcoin-bitcoin/26/) 6.430   wallet support ...................... ON
    291[#26](/bitcoin-bitcoin/26/) 6.430    - legacy wallets (Berkeley DB) ..... OFF
    292[#26](/bitcoin-bitcoin/26/) 6.430   external signer ..................... ON
    293[#26](/bitcoin-bitcoin/26/) 6.430   ZeroMQ .............................. OFF
    294[#26](/bitcoin-bitcoin/26/) 6.430   IPC ................................. OFF
    295[#26](/bitcoin-bitcoin/26/) 6.430   USDT tracing ........................ OFF
    296[#26](/bitcoin-bitcoin/26/) 6.430   QR code (GUI) ....................... OFF
    297[#26](/bitcoin-bitcoin/26/) 6.430   DBus (GUI, Linux only) .............. OFF
    298[#26](/bitcoin-bitcoin/26/) 6.430 Tests:
    299[#26](/bitcoin-bitcoin/26/) 6.430   test_bitcoin ........................ ON
    300[#26](/bitcoin-bitcoin/26/) 6.430   test_bitcoin-qt ..................... OFF
    301[#26](/bitcoin-bitcoin/26/) 6.430   bench_bitcoin ....................... OFF
    302[#26](/bitcoin-bitcoin/26/) 6.430   fuzz binary ......................... OFF
    303[#26](/bitcoin-bitcoin/26/) 6.430 
    304[#26](/bitcoin-bitcoin/26/) 6.430 Cross compiling ....................... FALSE
    305[#26](/bitcoin-bitcoin/26/) 6.430 C++ compiler .......................... Clang 19.1.7, /AFLplusplus/afl-clang-fast++
    306[#26](/bitcoin-bitcoin/26/) 6.431 CMAKE_BUILD_TYPE ...................... RelWithDebInfo
    307[#26](/bitcoin-bitcoin/26/) 6.431 Preprocessor defined macros ........... 
    308[#26](/bitcoin-bitcoin/26/) 6.431 C++ compiler flags .................... -pipe -std=c++20 -O2 -g -std=c++20 -fPIC -fdebug-prefix-map=/bitcoin/src=. -fmacro-prefix-map=/bitcoin/src=. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection -fsanitize=address -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wloop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wdocumentation -Wself-assign -Wundef -Wno-unused-parameter -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fcf-protection=none
    309[#26](/bitcoin-bitcoin/26/) 6.431 Linker flags .......................... -pipe -std=c++20 -O2 -g -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code -fsanitize=address -fPIE -pie -fcf-protection=none
    310[#26](/bitcoin-bitcoin/26/) 6.431 
    311[#26](/bitcoin-bitcoin/26/) 6.431 NOTE: The summary above may not exactly match the final applied build flags
    312[#26](/bitcoin-bitcoin/26/) 6.431       if any additional CMAKE_* or environment variables have been modified.
    313[#26](/bitcoin-bitcoin/26/) 6.431       To see the exact flags applied, build with the --verbose option.
    314[#26](/bitcoin-bitcoin/26/) 6.431 
    315[#26](/bitcoin-bitcoin/26/) 6.431 Treat compiler warnings as errors ..... OFF
    316[#26](/bitcoin-bitcoin/26/) 6.431 Use ccache for compiling .............. OFF
    317[#26](/bitcoin-bitcoin/26/) 6.431 
    318[#26](/bitcoin-bitcoin/26/) 6.431 
    319[#26](/bitcoin-bitcoin/26/) 6.431 -- Configuring done
    320[#26](/bitcoin-bitcoin/26/) 6.471 -- Generating done
    321[#26](/bitcoin-bitcoin/26/) 6.473 -- Build files have been written to: /bitcoin/build_fuzz
    322[#26](/bitcoin-bitcoin/26/) DONE 6.5s
    

    And, (modifying the Dockerfile to make the cmake --build --verbose) here is the build command that fails:

     0[#27](/bitcoin-bitcoin/27/) 25.07 [100%] Linking CXX executable ../bin/bitcoind
     1[#27](/bitcoin-bitcoin/27/) 25.07 cd /bitcoin/build_fuzz/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/bitcoind.dir/link.txt --verbose=1
     2[#27](/bitcoin-bitcoin/27/) 25.07 /AFLplusplus/afl-clang-fast++ -pipe -std=c++20 -O2 -g -fstack-protector-all -fcf-protection=full -fstack-clash
     3-protection -Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code -fsanitize=address -fPIE -pie CMakeFiles/bitcoind.dir/bitcoind.
     4cpp.o CMakeFiles/bitcoind.dir/init/bitcoind.cpp.o -o ../bin/bitcoind  ../lib/libbitcoin_node.a ../lib/libbitcoin_wallet.
     5a libleveldb.a libcrc32c.a libminisketch.a /bitcoin/depends/x86_64-pc-linux-gnu/lib/libevent_extra.a /bitcoin/depends/x8
     66_64-pc-linux-gnu/lib/libevent_pthreads.a /bitcoin/depends/x86_64-pc-linux-gnu/lib/libevent_core.a ../lib/libbitcoin_com
     7mon.a ../lib/libbitcoin_util.a ../lib/libbitcoin_clientversion.a ../lib/libbitcoin_consensus.a ../lib/libbitcoin_crypto.
     8a secp256k1/lib/libsecp256k1.a univalue/libunivalue.a /bitcoin/depends/x86_64-pc-linux-gnu/lib/libsqlite3.a  -fcf-protec
     9tion=none
    10[#27](/bitcoin-bitcoin/27/) 218.8 /usr/bin/ld: error: LLVM gold plugin: inline assembly requires more registers than available at line 2171
    11[#27](/bitcoin-bitcoin/27/) 218.9 clang++: error: linker command failed with exit code 1 (use -v to see invocation)
    
  30. hebasto commented at 10:13 pm on April 30, 2025: member

    @davidgumberg

    Could someone provide configuration options and a line from the verbose build to show what exactly is broken?

    Reproduced as follows:

    Thank you!

    Could you please try the following patch:

     0diff --git a/CMakeLists.txt b/CMakeLists.txt
     1index 99490f742a..47d50b6ba7 100644
     2--- a/CMakeLists.txt
     3+++ b/CMakeLists.txt
     4@@ -192,9 +192,9 @@ set(APPEND_CXXFLAGS "" CACHE STRING "(Objective) C++ compiler flags that are app
     5 set(APPEND_LDFLAGS "" CACHE STRING "Linker flags that are appended to the command line after all other flags added by the build system. This variable is intended for debugging and special builds.")
     6 # Appending to this low-level rule variables is the only way to
     7 # guarantee that the flags appear at the end of the command line.
     8-string(APPEND CMAKE_CXX_COMPILE_OBJECT " ${APPEND_CPPFLAGS} ${APPEND_CXXFLAGS}")
     9-string(APPEND CMAKE_CXX_CREATE_SHARED_LIBRARY " ${APPEND_LDFLAGS}")
    10-string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}")
    11+string(REPLACE "<FLAGS>" "<FLAGS> ${APPEND_CPPFLAGS} ${APPEND_CXXFLAGS}" CMAKE_CXX_COMPILE_OBJECT "${CMAKE_CXX_COMPILE_OBJECT}")
    12+string(REPLACE "<LINK_FLAGS>" "<LINK_FLAGS> ${APPEND_LDFLAGS}" CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
    13+string(REPLACE "<LINK_FLAGS>" "<LINK_FLAGS> ${APPEND_LDFLAGS}" CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE}")
    14 
    15 set(configure_warnings)
    16 
    17diff --git a/src/secp256k1/CMakeLists.txt b/src/secp256k1/CMakeLists.txt
    18index 041bfa3dca..9f4f2fd40d 100644
    19--- a/src/secp256k1/CMakeLists.txt
    20+++ b/src/secp256k1/CMakeLists.txt
    21@@ -284,15 +284,15 @@ set(SECP256K1_APPEND_CFLAGS "" CACHE STRING "Compiler flags that are appended to
    22 if(SECP256K1_APPEND_CFLAGS)
    23   # Appending to this low-level rule variable is the only way to
    24   # guarantee that the flags appear at the end of the command line.
    25-  string(APPEND CMAKE_C_COMPILE_OBJECT " ${SECP256K1_APPEND_CFLAGS}")
    26+  string(REPLACE "<FLAGS>" "<FLAGS> ${SECP256K1_APPEND_CFLAGS}" CMAKE_C_COMPILE_OBJECT "${CMAKE_C_COMPILE_OBJECT}")
    27 endif()
    28 
    29 set(SECP256K1_APPEND_LDFLAGS "" CACHE STRING "Linker flags that are appended to the command line after all other flags added by the build system. This variable is intended for debugging and special builds.")
    30 if(SECP256K1_APPEND_LDFLAGS)
    31   # Appending to this low-level rule variable is the only way to
    32   # guarantee that the flags appear at the end of the command line.
    33-  string(APPEND CMAKE_C_CREATE_SHARED_LIBRARY " ${SECP256K1_APPEND_LDFLAGS}")
    34-  string(APPEND CMAKE_C_LINK_EXECUTABLE " ${SECP256K1_APPEND_LDFLAGS}")
    35+  string(REPLACE "<LINK_FLAGS>" "<LINK_FLAGS> ${SECP256K1_APPEND_LDFLAGS}" CMAKE_C_CREATE_SHARED_LIBRARY "${CMAKE_C_CREATE_SHARED_LIBRARY}")
    36+  string(REPLACE "<LINK_FLAGS>" "<LINK_FLAGS> ${SECP256K1_APPEND_LDFLAGS}" CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE}")
    37 endif()
    38 
    39 if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
    

    ?

  31. davidgumberg referenced this in commit 7b0cf3d852 on Apr 30, 2025
  32. davidgumberg commented at 1:26 am on May 1, 2025: contributor

    Could you please try the following patch:

    […]

    It failed with this build command:

    026.64 /AFLplusplus/afl-clang-fast++ -pipe -std=c++20 -O2 -g -fstack-protector-all -fcf-protection=full -fstack-clash-pro
    1tection -Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code -fsanitize=address -fPIE -pie -fcf-protection=none CMakeFiles/bitco
    2ind.dir/bitcoind.cpp.o CMakeFiles/bitcoind.dir/init/bitcoind.cpp.o -o ../bin/bitcoind  ../lib/libbitcoin_node.a ../lib/l
    3ibbitcoin_wallet.a libleveldb.a libcrc32c.a libminisketch.a /bitcoin/depends/x86_64-pc-linux-gnu/lib/libevent_extra.a /b
    4itcoin/depends/x86_64-pc-linux-gnu/lib/libevent_pthreads.a /bitcoin/depends/x86_64-pc-linux-gnu/lib/libevent_core.a ../l
    5ib/libbitcoin_common.a ../lib/libbitcoin_util.a ../lib/libbitcoin_clientversion.a ../lib/libbitcoin_consensus.a ../lib/l
    6ibbitcoin_crypto.a secp256k1/lib/libsecp256k1.a univalue/libunivalue.a /bitcoin/depends/x86_64-pc-linux-gnu/lib/libsqlit
    7e3.a
    8231.7 /usr/bin/ld: error: LLVM gold plugin: inline assembly requires more registers than available at line 2171
    9231.9 clang++: error: linker command failed with exit code 1 (use -v to see invocation)
    
  33. hebasto commented at 2:45 pm on May 2, 2025: member
    My guess is that /AFLplusplus/afl-clang-fast++ fails to handle the -fcf-protection=full -fcf-protection=none flags properly.
  34. fanquake referenced this in commit 18163a87f7 on May 7, 2025
  35. fanquake referenced this in commit b47d267a0b on May 7, 2025
  36. fanquake referenced this in commit 4e8ab5e00f on May 7, 2025
  37. fanquake added the label Build system on May 7, 2025
  38. fanquake closed this on May 8, 2025

  39. fanquake referenced this in commit 03ebdd0793 on May 8, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-05-20 21:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me