In Ubuntu, we've applied the attached patch to achieve the following:

  * debian/libgcroots0.symbols, debian/patches/aarch64.diff:
    - Add AArch64 support.

We thought you might be interested in doing the same.
diff -Nru sigscheme-0.8.5/debian/libgcroots0.symbols 
sigscheme-0.8.5/debian/libgcroots0.symbols
--- sigscheme-0.8.5/debian/libgcroots0.symbols  2014-04-16 14:42:14.000000000 
+0200
+++ sigscheme-0.8.5/debian/libgcroots0.symbols  2015-01-26 18:05:31.000000000 
+0100
@@ -5,7 +5,7 @@
  GCROOTS_init@Base 0.8.5
  GCROOTS_is_protected@Base 0.8.5
  GCROOTS_is_protected_context@Base 0.8.5
- (arch=!mips !mipsel !mipsn32 !mipsn32el !mips64 !mips64el !s390 
!s390x)GCROOTS_jmp_buf@Base 0.8.5
+ (arch=!mips !mipsel !mipsn32 !mipsn32el !mips64 !mips64el !s390 !s390x 
!arm64)GCROOTS_jmp_buf@Base 0.8.5
  GCROOTS_mark@Base 0.8.5
  GCROOTS_noop1@Base 0.8.5
  GCROOTS_push_current_stack@Base 0.8.5
diff -Nru sigscheme-0.8.5/debian/patches/aarch64.diff 
sigscheme-0.8.5/debian/patches/aarch64.diff
--- sigscheme-0.8.5/debian/patches/aarch64.diff 1970-01-01 01:00:00.000000000 
+0100
+++ sigscheme-0.8.5/debian/patches/aarch64.diff 2015-01-26 18:11:42.000000000 
+0100
@@ -0,0 +1,76 @@
+From: Matthias Klose <d...@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"
diff -Nru sigscheme-0.8.5/debian/patches/series 
sigscheme-0.8.5/debian/patches/series
--- sigscheme-0.8.5/debian/patches/series       2014-04-16 14:36:19.000000000 
+0200
+++ sigscheme-0.8.5/debian/patches/series       2015-01-26 18:03:57.000000000 
+0100
@@ -7,3 +7,4 @@
 test-gc-protect-0.8.5
 add-ac-config-macro-dir-m4-0.8.5
 support-automake-test-log-driver-0.8.5
+aarch64.diff

Reply via email to