diff -ur gc-7.6.4.old/include/private/gcconfig.h gc-7.6.4.new/include/private/gcconfig.h --- gc-7.6.4.old/include/private/gcconfig.h 2018-01-26 13:16:17.000000000 +0000 +++ gc-7.6.4.new/include/private/gcconfig.h 2018-02-27 09:33:05.840680540 +0000 @@ -602,6 +602,15 @@ # define I386 # define mach_type_known # endif +# if defined(__riscv) && defined(LINUX) +# if __riscv_xlen == 32 +# define RISCV32 +# define mach_type_known +# elif __riscv_xlen == 64 +# define RISCV64 +# define mach_type_known +# endif +# endif /* Feel free to add more clauses here */ @@ -2650,6 +2659,32 @@ # endif # endif +# ifdef RISCV32 +# define CPP_WORDSZ 32 +# define MACH_TYPE "RISC-V32" +# define ALIGNMENT 4 +# ifdef LINUX +# define OS_TYPE "LINUX" + extern int __data_start[]; +# define DATASTART ((ptr_t)__data_start) +# define LINUX_STACKBOTTOM +# define DYNAMIC_LOADING +# endif +# endif /* RISCV32 */ + +# ifdef RISCV64 +# define CPP_WORDSZ 64 +# define MACH_TYPE "RISC-V64" +# define ALIGNMENT 8 +# ifdef LINUX +# define OS_TYPE "LINUX" + extern int __data_start[]; +# define DATASTART ((ptr_t)__data_start) +# define LINUX_STACKBOTTOM +# define DYNAMIC_LOADING +# endif +# endif /* RISCV64 */ + #if defined(__GLIBC__) && !defined(DONT_USE_LIBC_PRIVATES) /* Use glibc's stack-end marker. */ # define USE_LIBC_PRIVATES