31d575
diff -ur gc-7.6.4.old/include/private/gcconfig.h gc-7.6.4/include/private/gcconfig.h
31d575
--- gc-7.6.4.old/include/private/gcconfig.h	2018-02-27 09:35:01.074561443 +0000
31d575
+++ gc-7.6.4/include/private/gcconfig.h	2018-02-27 09:35:38.571522689 +0000
31d575
@@ -603,13 +603,8 @@
31d575
 #   define mach_type_known
31d575
 # endif
31d575
 # if defined(__riscv) && defined(LINUX)
31d575
-#   if __riscv_xlen == 32
31d575
-#     define RISCV32
31d575
-#     define mach_type_known
31d575
-#   elif __riscv_xlen == 64
31d575
-#     define RISCV64
31d575
-#     define mach_type_known
31d575
-#   endif
31d575
+#   define RISCV
31d575
+#   define mach_type_known
31d575
 # endif
31d575
 
31d575
 /* Feel free to add more clauses here */
31d575
@@ -2659,23 +2654,10 @@
31d575
 #   endif
31d575
 # endif
31d575
 
31d575
-# ifdef RISCV32
31d575
-#   define CPP_WORDSZ 32
31d575
-#   define MACH_TYPE "RISC-V32"
31d575
-#   define ALIGNMENT 4
31d575
-#   ifdef LINUX
31d575
-#     define OS_TYPE "LINUX"
31d575
-      extern int __data_start[];
31d575
-#     define DATASTART ((ptr_t)__data_start)
31d575
-#     define LINUX_STACKBOTTOM
31d575
-#     define DYNAMIC_LOADING
31d575
-#   endif
31d575
-# endif /* RISCV32 */
31d575
-
31d575
-# ifdef RISCV64
31d575
-#   define CPP_WORDSZ 64
31d575
-#   define MACH_TYPE "RISC-V64"
31d575
-#   define ALIGNMENT 8
31d575
+# ifdef RISCV
31d575
+#   define MACH_TYPE "RISC-V"
31d575
+#   define CPP_WORDSZ __riscv_xlen /* 32 or 64 */
31d575
+#   define ALIGNMENT (CPP_WORDSZ/8)
31d575
 #   ifdef LINUX
31d575
 #     define OS_TYPE "LINUX"
31d575
       extern int __data_start[];
31d575
@@ -2683,7 +2665,7 @@
31d575
 #     define LINUX_STACKBOTTOM
31d575
 #     define DYNAMIC_LOADING
31d575
 #   endif
31d575
-# endif /* RISCV64 */
31d575
+# endif /* RISCV */
31d575
 
31d575
 #if defined(__GLIBC__) && !defined(DONT_USE_LIBC_PRIVATES)
31d575
   /* Use glibc's stack-end marker. */