Add riscv64 support. ok jca@

This commit is contained in:
matthieu 2021-06-30 07:04:25 +00:00
parent 539d9be5c4
commit c1d1e72e88

View File

@ -1,4 +1,4 @@
$OpenBSD: patch-include_private_gcconfig_h,v 1.24 2021/02/05 18:37:48 kurt Exp $
$OpenBSD: patch-include_private_gcconfig_h,v 1.25 2021/06/30 07:04:25 matthieu Exp $
- define USE_MMAP_ANON on OpenBSD when USE_MMAP is defined
- All OpenBSD mips platforms are 64-bit, so correct the wordsize and alignment
@ -30,6 +30,15 @@ Index: include/private/gcconfig.h
# if defined(OPENBSD) && defined(__sh__)
# define SH
# define mach_type_known
@@ -670,7 +675,7 @@ EXTERN_C_BEGIN
# endif
# define mach_type_known
# endif
-# if defined(__riscv) && defined(LINUX)
+# if defined(__riscv) && (defined(LINUX) || defined(OPENBSD))
# define RISCV
# define mach_type_known
# endif
@@ -1076,7 +1081,12 @@ EXTERN_C_BEGIN
# endif
# ifdef OPENBSD
@ -99,7 +108,33 @@ Index: include/private/gcconfig.h
# ifndef GC_OPENBSD_THREADS
EXTERN_C_END
# include <sys/param.h>
@@ -2906,6 +2926,8 @@ EXTERN_C_BEGIN
@@ -2884,6 +2904,25 @@ EXTERN_C_BEGIN
# define LINUX_STACKBOTTOM
# define DYNAMIC_LOADING
# endif
+# ifdef OPENBSD
+# define OS_TYPE "OPENBSD"
+# ifndef GC_OPENBSD_THREADS
+ EXTERN_C_END
+# include <sys/param.h>
+# include <uvm/uvm_extern.h>
+ EXTERN_C_BEGIN
+# ifdef USRSTACK
+# define STACKBOTTOM ((ptr_t)USRSTACK)
+# else
+# define HEURISTIC2
+# endif
+# endif
+ extern int __data_start[];
+# define DATASTART ((ptr_t)__data_start)
+ extern int _end[];
+# define DATAEND ((ptr_t)(&_end))
+# define DYNAMIC_LOADING
+# endif
# endif /* RISCV */
#if defined(__GLIBC__) && !defined(DONT_USE_LIBC_PRIVATES)
@@ -2906,6 +2945,8 @@ EXTERN_C_BEGIN
#elif defined(LINUX) && defined(USE_MMAP)
/* The kernel may do a somewhat better job merging mappings etc. */
/* with anonymous mappings. */