[RISCV] Check failed: (trampoline_pos - fixup_pos) <= kMaxBranchOffset.
if [ -x ""/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24"" ] && [ -e ""/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24"" ]; then ""/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24"" tools/doc/apilinks.mjs out/doc/apilinks.json lib/_http_agent.js lib/_http_client.js lib/_http_common.js lib/_http_incoming.js lib/_http_outgoing.js lib/_http_server.js lib/_stream_duplex.js lib/_stream_passthrough.js lib/_stream_readable.js lib/_stream_transform.js lib/_stream_wrap.js lib/_stream_writable.js lib/_tls_common.js lib/_tls_wrap.js lib/assert.js lib/async_hooks.js lib/buffer.js lib/child_process.js lib/cluster.js lib/console.js lib/constants.js lib/crypto.js lib/dgram.js lib/diagnostics_channel.js lib/dns.js lib/domain.js lib/events.js lib/fs.js lib/http.js lib/http2.js lib/https.js lib/inspector.js lib/module.js lib/net.js lib/os.js lib/path.js lib/perf_hooks.js lib/process.js lib/punycode.js lib/querystring.js lib/quic.js lib/readline.js lib/repl.js lib/sea.js lib/sqlite.js lib/stream.js lib/string_decoder.js lib/sys.js lib/test.js lib/timers.js lib/tls.js lib/trace_events.js lib/tty.js lib/url.js lib/util.js lib/v8.js lib/vm.js lib/wasi.js lib/worker_threads.js lib/zlib.js; elif [ -x command -v node ] && [ -e command -v node ] && [ command -v node ]; then command -v node tools/doc/apilinks.mjs out/doc/apilinks.json lib/_http_agent.js lib/_http_client.js lib/_http_common.js lib/_http_incoming.js lib/_http_outgoing.js lib/_http_server.js lib/_stream_duplex.js lib/_stream_passthrough.js lib/_stream_readable.js lib/_stream_transform.js lib/_stream_wrap.js lib/_stream_writable.js lib/_tls_common.js lib/_tls_wrap.js lib/assert.js lib/async_hooks.js lib/buffer.js lib/child_process.js lib/cluster.js lib/console.js lib/constants.js lib/crypto.js lib/dgram.js lib/diagnostics_channel.js lib/dns.js lib/domain.js lib/events.js lib/fs.js lib/http.js lib/http2.js lib/https.js lib/inspector.js lib/module.js lib/net.js lib/os.js lib/path.js lib/perf_hooks.js lib/process.js lib/punycode.js lib/querystring.js lib/quic.js lib/readline.js lib/repl.js lib/sea.js lib/sqlite.js lib/stream.js lib/string_decoder.js lib/sys.js lib/test.js lib/timers.js lib/tls.js lib/trace_events.js lib/tty.js lib/url.js lib/util.js lib/v8.js lib/vm.js lib/wasi.js lib/worker_threads.js lib/zlib.js; else echo "No available node, cannot run "node tools/doc/apilinks.mjs out/doc/apilinks.json lib/_http_agent.js lib/_http_client.js lib/_http_common.js lib/_http_incoming.js lib/_http_outgoing.js lib/_http_server.js lib/_stream_duplex.js lib/_stream_passthrough.js lib/_stream_readable.js lib/_stream_transform.js lib/_stream_wrap.js lib/_stream_writable.js lib/_tls_common.js lib/_tls_wrap.js lib/assert.js lib/async_hooks.js lib/buffer.js lib/child_process.js lib/cluster.js lib/console.js lib/constants.js lib/crypto.js lib/dgram.js lib/diagnostics_channel.js lib/dns.js lib/domain.js lib/events.js lib/fs.js lib/http.js lib/http2.js lib/https.js lib/inspector.js lib/module.js lib/net.js lib/os.js lib/path.js lib/perf_hooks.js lib/process.js lib/punycode.js lib/querystring.js lib/quic.js lib/readline.js lib/repl.js lib/sea.js lib/sqlite.js lib/stream.js lib/string_decoder.js lib/sys.js lib/test.js lib/timers.js lib/tls.js lib/trace_events.js lib/tty.js lib/url.js lib/util.js lib/v8.js lib/vm.js lib/wasi.js lib/worker_threads.js lib/zlib.js""; exit 1; fi;
Fatal error in , line 0
Check failed: (trampoline_pos - fixup_pos) <= kMaxBranchOffset.
#FailureMessage Object: 0x7f8b8affb4b8 ----- Native stack trace -----
1: 0x555555a17cda [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 2: 0x5555568f9504 V8_Fatal(char const*, ...) [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 3: 0x5555564f21f6 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 4: 0x555556ea54c6 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 5: 0x555556ea9c72 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 6: 0x555556a2cf54 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 7: 0x555556a2d0b4 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 8: 0x555556a3a084 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 9: 0x555555c91f7c [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 10: 0x555555cd06a6 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 11: 0x555555cd091e [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 12: 0x55555684a420 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 13: 0x555555a1b204 [/home/abuild/rpmbuild/BUILD/nodejs24-24.11.1-build/node-v24.11.1/node24] 14: 0x7f8b9328a866 [/lib64/lp64d/libc.so.6] 15: 0x7f8b932d7f5a [/lib64/lp64d/libc.so.6] make[1]: *** [Makefile:854: out/doc/api/errors.html] Error 133 make: *** [Makefile:804: doc-only] Error 2
This is an issue with the V8 assembler, and should be reported upstream to https://issues.chromium.org/ (but bear in mind that you will need to provide a reproducible example or reproduction instructions, not just a stacktrace).
Note that Node.js does not provide even experimental build support for riscv64 at present.
@Renegade334 I'll note that we have brought other V8 patches across for this architecture, and it should be considered an experimental architecture and is in the unofficial-builds repository. Ref:
- https://github.com/nodejs/node/pull/42251 (IMHO That should have been merged once we initially had riscv64 building in unofficial builds but I'd say that was an oversight)
- https://github.com/nodejs/build/issues/2876
Having said that I agree that this should be an upstream V8 contribution and then floated across to Node if that's not where this patch has originated.
@AyushAnand-28 Can you confirm if you have you been able to build Node from main on RISC-V and if so which compiler did you use? I've had build failures (Using GCC14 cross-compilation) with both Node v24 and main on riscv64. (Also tagging @luyahan and @kxxt as other people who may have tried recently
The correct fix is https://github.com/nodejs/node/pull/58746 instead of increasing the gap.
However, I think that PR missed its opportunity to make it into main branch. The v8 used in main branch and v25.x should already contain the fix. Only v24.x should be fixed.
I will open a PR for v24.x shortly.
@AyushAnand-28 Can you confirm if you have you been able to build Node from
mainon RISC-V and if so which compiler did you use? I've had build failures (Using GCC14 cross-compilation) with both Node v24 and main on riscv64. (Also tagging @luyahan and @kxxt as other people who may have tried recently
IIRC v25.2.1 builds fine natively on riscv with clang and a patch disabling RVV in highway: https://github.com/felixonmars/archriscv-packages/blob/master/nodejs/hwy-broken-rvv.diff . I am not sure about cross-compiling and gcc.
Resolved in v24.x by #60989.