Package: racket Version: 6.1-4 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu vivid ubuntu-patch
Dear Maintainer, Currently, racket FTBFS on arm64 due to it not being properly defined in the gc library that is embedded in the package. This fix doesn't completely fix the FTBFS (the build hangs, just like on ppc64el), but it is a step in the right direction. In Ubuntu, the attached patch was applied to achieve the following: * debian/patches/0002-aarch64.patch: Add support for aarch64 (arm64) in the gc library (pulled/modified from boehm-gc upstream Git). Thanks for considering the patch. Logan Rosen -- System Information: Debian Release: jessie/sid APT prefers vivid-updates APT policy: (500, 'vivid-updates'), (500, 'vivid-security'), (500, 'vivid'), (100, 'vivid-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-28-generic (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: upstart (via init_is_upstart())
diff -Nru racket-6.1/debian/patches/0002-aarch64.patch racket-6.1/debian/patches/0002-aarch64.patch --- racket-6.1/debian/patches/0002-aarch64.patch 1969-12-31 19:00:00.000000000 -0500 +++ racket-6.1/debian/patches/0002-aarch64.patch 2014-12-27 00:39:28.000000000 -0500 @@ -0,0 +1,83 @@ +From 7b5acfba9a1df00f0427d1d2e1a92570da3ab2d1 Mon Sep 17 00:00:00 2001 +From: Yvan Roux <yvan.r...@linaro.org> +Date: Wed, 23 Jan 2013 23:15:57 +0400 +Subject: [PATCH] Add AArch64 (64-bit ARM) target support + +* include/private/gcconfig.h (AARCH64): New macro (defined only if +__aarch64__). +* include/private/gcconfig.h (mach_type_known): Update comment adding +ARM AArch64 target. +* include/private/gcconfig.h (NOSYS, mach_type_known, CPP_WORDSZ, +MACH_TYPE, ALIGNMENT, HBLKSIZE, OS_TYPE, LINUX_STACKBOTTOM, +DYNAMIC_LOADING, DATASTART, DATAEND, STACKBOTTOM): Define for AArch64. +--- + include/private/gcconfig.h | 37 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) + +--- a/src/racket/gc/include/private/gcconfig.h ++++ b/src/racket/gc/include/private/gcconfig.h +@@ -76,6 +76,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) && !defined(OPENBSD) +@@ -249,6 +256,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 +@@ -529,6 +540,7 @@ + /* running Amdahl UTS4 */ + /* S390 ==> 390-like machine */ + /* running LINUX */ ++ /* AARCH64 ==> ARM AArch64 */ + /* ARM32 ==> Intel StrongARM */ + /* IA64 ==> Intel IPF */ + /* (e.g. Itanium) */ +@@ -1818,6 +1830,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" diff -Nru racket-6.1/debian/patches/series racket-6.1/debian/patches/series --- racket-6.1/debian/patches/series 2014-10-24 04:38:05.000000000 -0400 +++ racket-6.1/debian/patches/series 2014-12-27 00:34:13.000000000 -0500 @@ -1,2 +1,3 @@ # debian/source/git-patches exported from git by quilt-patches-deb-export-hook 0001-turn-off-anti-aliasing-for-plot-output.patch +0002-aarch64.patch