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