Thanks to Eric Botcazou, this eliminates almost all of the remaining Ada testsuite failures by adding a missing definition for the target specific handling of function descriptors.
Tested with a native riscv64-linux bootstrap with Ada, and running the Ada testsuite. There are only 4 failures left. Committed. Jim gcc/ * config/riscv/riscv.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): New. --- gcc/config/riscv/riscv.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c index d87836f53f8..218f4de7d41 100644 --- a/gcc/config/riscv/riscv.c +++ b/gcc/config/riscv/riscv.c @@ -4786,6 +4786,10 @@ riscv_constant_alignment (const_tree exp, HOST_WIDE_INT align) #undef TARGET_WARN_FUNC_RETURN #define TARGET_WARN_FUNC_RETURN riscv_warn_func_return +/* The low bit is ignored by jump instructions so is safe to use. */ +#undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS +#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 1 + struct gcc_target targetm = TARGET_INITIALIZER; #include "gt-riscv.h" -- 2.17.1