Re: Announce ARMv8 (arm64) version of 64-bit PicoLisp released

2015-11-16 Thread Rick Hanson
> I'm glad to announce that the arm64 port of pil64 is done! :)

Very nice!  Congrats!

I also noticed the handy pil-based build script.  "We don't need no
stinkin' make!"  ;)  Cheers!
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Announce ARMv8 (arm64) version of 64-bit PicoLisp released

2015-11-16 Thread Alexander Burger
Hi all,

I'm glad to announce that the arm64 port of pil64 is done! :)

To my feeling, the ARMv8 (arm64) architecture is the best match so far
for the PicoLisp VM. It has some terrible quirks though, the worst being
the fact that the hardware stack pointer is crippled, and nearly
unusable on a stack-based machine like the PicoLisp VM. But I could use
another register for that, and the rest of the instruction set is quite
all right.

I have tested only on a Nexus 9 tablet. All unit tests - and many other
tests - passed. It is in the current version (3.1.11.14):

   http://software-lab.de/picoLisp.tgz

Like for the other architectures, pre-generated assembly files are
available:

   http://software-lab.de/arm64.linux.tgz

containing

   arm64.linux.base.s
   arm64.linux.ext.s
   arm64.linux.ht.s

Assembling and linking them for the Nexus is a bit tricky, I use the NDK
toolchain from Android Studio, basically doing (your setup will differ):

   (setq
  *NDK "/home/abu/Android/Sdk/ndk-bundle/"
  *Toolchain 
"toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/"
  *ASM "aarch64-linux-android-as"
  *GCC "aarch64-linux-android-gcc"
  *Sysroot (pack "--sysroot=" *NDK "platforms/android-21/arch-arm64")
  *STRIP "aarch64-linux-android-strip" )

   (and
  (call (pack *NDK *Toolchain *ASM) "-o" "base.o" "arm64.linux.base.s")
  (call (pack *NDK *Toolchain *ASM) "-o" "ext.o" "arm64.linux.ext.s")
  (call (pack *NDK *Toolchain *ASM) "-o" "ht.o" "arm64.linux.ht.s")
  (call (pack *NDK *Toolchain *GCC) *Sysroot "-pie" "-o" "picolisp" 
"-rdynamic" "base.o" "-lc" "-lm" "-ldl")
  (call (pack *NDK *Toolchain *GCC) *Sysroot "-pie" "-o" "ext" "-shared" 
"-export-dynamic" "ext.o")
  (call (pack *NDK *Toolchain *GCC) *Sysroot "-pie" "-o" "ht" "-shared" 
"-export-dynamic" "ht.o")
  (call (pack *NDK *Toolchain *STRIP) "picolisp" "ext" "ht")
  (call 'rm "base.o" "ext.o" "ht.o") )

Then I use 'adb push' to copy the binary and Lisp files to the device.

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Announce ARMv8 (arm64) version of 64-bit PicoLisp released

2015-11-16 Thread George Orais
Congrats!! Great job Alex!!
Hopefully i can give a same great news soon..


 On Tuesday, November 17, 2015 3:08 AM, Rick Hanson  
wrote:
   

 > I'm glad to announce that the arm64 port of pil64 is done! :)

Very nice!  Congrats!

I also noticed the handy pil-based build script.  "We don't need no
stinkin' make!"  ;)  Cheers!
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe