gc/SOURCES/0001-Merge-RISCV-32-64-bit-...

57 lines
1.5 KiB
Diff

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