[fpc-devel] aarch64-linux: PATCH: add aarch64-linux to fpmkunit and fpcmake

Edmund Grimley Evans edmund.grimley.evans at gmail.com
Wed May 20 20:46:08 CEST 2015


I'll be sending a sequence of patches that add aarch64-linux support
to FPC. This is the first, or the second if you include the RelocType
change in packages/fcl-res, which isn't AArch64-specific.

A big thank-you to Jonas Maebe for guiding me through this work and
answering all my questions.

This tiny patch is for the build system and implies a big patch to all
the Makefiles when fpcmake is run
(utils/fpcm/bin/*/fpcmake -Tall `find -name Makefile.fpc`).


diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp
index cd0dc07..4de0d54 100644
--- a/packages/fpmkunit/src/fpmkunit.pp
+++ b/packages/fpmkunit/src/fpmkunit.pp
@@ -186,7 +186,7 @@ Const
   OSCPUSupported : array[TOS,TCpu] of boolean = (
     { os          none   i386    m68k  ppc    sparc  x86_64 arm    ppc64  avr    armeb  mips   mipsel jvm    i8086  aarch64 }
     { none }    ( false, false, false, false, false, false, false, false, false, false, false, false, false, false, false),
-    { linux }   ( false, true,  true,  true,  true,  true,  true,  true,  false, true , true , true , false, false, false),
+    { linux }   ( false, true,  true,  true,  true,  true,  true,  true,  false, true , true , true , false, false, true ),
     { go32v2 }  ( false, true,  false, false, false, false, false, false, false, false, false, false, false, false, false),
     { win32 }   ( false, true,  false, false, false, false, false, false, false, false, false, false, false, false, false),
     { os2 }     ( false, true,  false, false, false, false, false, false, false, false, false, false, false, false, false),
@@ -2629,6 +2629,7 @@ begin
       x86_64:   result := GetGccDirArch('cpux86_64','-m64');
       powerpc:  result := GetGccDirArch('cpupowerpc','-m32');
       powerpc64:result := GetGccDirArch('cpupowerpc64','-m64');
+      aarch64:  result := GetGccDirArch('cpuaarch64','');
     end {case}
   else if OS = darwin then
     case CPU of
diff --git a/utils/fpcm/fpcmmain.pp b/utils/fpcm/fpcmmain.pp
index 61a3efc..fead2e3 100644
--- a/utils/fpcm/fpcmmain.pp
+++ b/utils/fpcm/fpcmmain.pp
@@ -114,7 +114,7 @@ interface
       { This table is kept OS,Cpu because it is easier to maintain (PFV) }
       OSCpuPossible : array[TOS,TCpu] of boolean = (
         { os          i386    m68k  ppc    sparc  x86_64 arm    ppc64  avr    armeb  armel  mips   mipsel mips64 misp64el jvm    i8086  aarch64}
-        { linux }   ( true,  true,  true,  true,  true,  true,  true,  false, true,  false, true,  true,  false, false,   false, false, false),
+        { linux }   ( true,  true,  true,  true,  true,  true,  true,  false, true,  false, true,  true,  false, false,   false, false, true ),
         { go32v2 }  ( true,  false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false),
         { win32 }   ( true,  false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false),
         { os2 }     ( true,  false, false, false, false, false, false, false, false, false, false, false, false, false,   false, false, false),



More information about the fpc-devel mailing list