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