As described in D45395 This has been modeled after ARM's tail call opt.
ARM's abi seems to limit weak symbol.
I did not find the limitation for RISCV. (Please correct me if I am wrong)
gcc seems to use the tail-call opt: https://godbolt.org/z/bjWE68n5o