- riscv: Fix building on non-Linux systems
  9861f1c213565f1533eca88bebfc5ae1bef28249
- riscv: Fix orc_riscv_target_flush_cache() for OpenBSD
  180a3999bd862a34c29641211dd7bae909be6f39
- riscv: Don't enable Vector support if no CPU detection support
  34502d128b25dda6b6f04e8c7f3845ab104d912d

Index: orc/riscv/orcriscvtarget.c
--- orc/riscv/orcriscvtarget.c.orig
+++ orc/riscv/orcriscvtarget.c
@@ -67,7 +67,9 @@ orc_riscv_target_detect_extension (const char *exts, c
 
   return FALSE;
 }
+#endif
 
+#ifdef HAVE_RISCV
 static orc_uint32
 orc_riscv_target_get_cpu_flags (void)
 {
@@ -77,6 +79,7 @@ orc_riscv_target_get_cpu_flags (void)
   ret |= ORC_TARGET_RISCV_64BIT;
 #endif
 
+#ifdef __linux__
   char *cpuinfo = get_proc_cpuinfo ();
   if (cpuinfo == NULL) {
     ORC_DEBUG ("Failed to read /proc/cpuinfo");
@@ -105,16 +108,16 @@ orc_riscv_target_get_cpu_flags (void)
 
     free (cpuinfo_line);
   }
+#endif
 
   return ret;
 }
-
 #endif
 
 static void
 orc_riscv_target_flush_cache (OrcCode *code)
 {
-#if defined(HAVE_RISCV) && defined(__linux__)
+#if defined(HAVE_RISCV) && (defined(__linux__) || defined(__OpenBSD__))
 #if __has_builtin(__builtin___clear_cache)
   __builtin___clear_cache ((char*)code->code, (char*)code->code + code->code_size);
   if ((void *) code->exec != (void *) code->code)
@@ -136,7 +139,11 @@ orc_riscv_target_get_default_flags (void)
 #if defined(HAVE_RISCV) && defined(__linux__)
   return orc_riscv_target_get_cpu_flags ();
 #else
-  return ORC_TARGET_RISCV_64BIT | ORC_TARGET_RISCV_V;
+  orc_uint32 ret = 0;
+#if defined(__riscv_xlen) && __riscv_xlen == 64
+  ret |= ORC_TARGET_RISCV_64BIT;
+#endif
+  return ret;
 #endif
 }
 
