Hi Alex.
As you may know, in BPF we have to live (for now) with the constant pain from being limited to functions whose arguments can be compiled to get their arguments in five or less registers. The recently introduced __hardcfr_check_fail in the run-time component of hardcfr breaks the bpf-unknown-none build: ../../../libgcc/hardcfr.c: In function ‘__hardcfr_check_fail’: ../../../libgcc/hardcfr.c:210:1: error: too many function arguments for eBPF 210 | __hardcfr_check_fail (size_t const blocks ATTRIBUTE_UNUSED, | ^~~~~~~~~~~~~~~~~~~~ It seems to me that __hardcfr_check_fail is only called from __hardcfr_check, and compiled code is not instrumentalized with direct calls to it. If so, would it be possible to modify that function so it gets one less argument? :) Alternatively, we would need to disable the hardcfr from the BPF backend and being able to define something in tm.h to inhibit building the corresponding runtime in libgcc. Would you be ok with having an #ifndef DISABLE_LIBGCC_HARDCFR wrapping the stuff in that file? Thanks.