SHA256
6
0
forked from pool/gc
gc/aarch64-support.patch
Dr. Werner Fink 57cce54a33 Accepting request 176069 from home:Andreas_Schwab:Factory
- aarch64-support.patch: aarch64 support for gc from upstream
- libatomic_ops-aarch64.patch: aarch64 support for libatomic_ops from
  upstream add-aarch64-support branch

OBS-URL: https://build.opensuse.org/request/show/176069
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gc?expand=0&rev=25
2013-05-18 22:07:04 +00:00

70 lines
2.2 KiB
Diff

Index: gc-7.2/include/private/gcconfig.h
===================================================================
--- gc-7.2.orig/include/private/gcconfig.h
+++ gc-7.2/include/private/gcconfig.h
@@ -70,6 +70,13 @@
# define I386
# define mach_type_known
# endif
+# if defined(__aarch64__)
+# define AARCH64
+# if !defined(LINUX)
+# define NOSYS
+# define mach_type_known
+# endif
+# endif
# if defined(__arm) || defined(__arm__) || defined(__thumb__)
# define ARM32
# if !defined(LINUX) && !defined(NETBSD) && !defined(OPENBSD) \
@@ -250,6 +257,10 @@
# define IA64
# define mach_type_known
# endif
+# if defined(LINUX) && defined(__aarch64__)
+# define AARCH64
+# define mach_type_known
+# endif
# if defined(LINUX) && (defined(__arm) || defined(__arm__))
# define ARM32
# define mach_type_known
@@ -537,6 +548,7 @@
/* running Amdahl UTS4 */
/* S390 ==> 390-like machine */
/* running LINUX */
+ /* AARCH64 ==> ARM AArch64 */
/* ARM32 ==> Intel StrongARM */
/* IA64 ==> Intel IPF */
/* (e.g. Itanium) */
@@ -1899,6 +1911,31 @@
# endif
# endif
+# ifdef AARCH64
+# define CPP_WORDSZ 64
+# define MACH_TYPE "AARCH64"
+# define ALIGNMENT 8
+# ifndef HBLKSIZE
+# define HBLKSIZE 4096
+# endif
+# ifdef LINUX
+# define OS_TYPE "LINUX"
+# define LINUX_STACKBOTTOM
+# define DYNAMIC_LOADING
+ extern int __data_start[];
+# define DATASTART ((ptr_t)__data_start)
+ extern char _end[];
+# define DATAEND ((ptr_t)(&_end))
+# endif
+# ifdef NOSYS
+ /* __data_start is usually defined in the target linker script. */
+ extern int __data_start[];
+# define DATASTART ((ptr_t)__data_start)
+ extern void *__stack_base__;
+# define STACKBOTTOM ((ptr_t)__stack_base__)
+# endif
+# endif
+
# ifdef ARM32
# define CPP_WORDSZ 32
# define MACH_TYPE "ARM32"