mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
77 lines
2.3 KiB
Diff
77 lines
2.3 KiB
Diff
|
From: Matthias Klose <doko@ubuntu.com>
|
||
|
Description: Added AARCH64 support to gcconfig.h (libgcroots). It needs to get symbols file updated, as well.
|
||
|
Bug: https://groups.google.com/forum/#!topic/uim-en/fxixLmHXcq0
|
||
|
Bug-Debian: http://bugs.debian.org/758710
|
||
|
Origin: upstream, https://github.com/ctyler/libgcroots/commit/da6e6884a1119e2cf6be88b4cf5eb9091c52beeb
|
||
|
|
||
|
Index: b/libgcroots/include/private/gcconfig.h
|
||
|
===================================================================
|
||
|
--- a/libgcroots/include/private/gcconfig.h
|
||
|
+++ b/libgcroots/include/private/gcconfig.h
|
||
|
@@ -62,6 +62,13 @@
|
||
|
# endif
|
||
|
|
||
|
/* Determine the machine type: */
|
||
|
+# if defined(__aarch64__)
|
||
|
+# define AARCH64
|
||
|
+# if !defined(LINUX)
|
||
|
+# define NOSYS
|
||
|
+# define mach_type_known
|
||
|
+# endif
|
||
|
+# endif
|
||
|
# if defined(__arm__) || defined(__thumb__)
|
||
|
# define ARM32
|
||
|
# if !defined(LINUX) && !defined(NETBSD)
|
||
|
@@ -231,6 +238,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__)
|
||
|
# define ARM32
|
||
|
# define mach_type_known
|
||
|
@@ -504,6 +515,7 @@
|
||
|
/* running Amdahl UTS4 */
|
||
|
/* S390 ==> 390-like machine */
|
||
|
/* running LINUX */
|
||
|
+ /* AARCH64 ==> ARM AArch64 */
|
||
|
/* ARM32 ==> Intel StrongARM */
|
||
|
/* IA64 ==> Intel IPF */
|
||
|
/* (e.g. Itanium) */
|
||
|
@@ -1724,6 +1736,32 @@
|
||
|
# 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 USE_GENERIC_PUSH_REGS
|
||
|
+# 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"
|